OpenQR
公式QRコードを生成し、スキャン分析付きの動的(編集可能な)QRコードを、ホスト型MCPサーバー(17ツール)と無料のREST APIで管理します。
OpenQR MCPで何ができますか?
- 静的QRコードを生成 —
generate_qrを使用して、任意のテキストまたはURLからQRコードを要求し、PNGまたはSVGで返します。 - 編集可能な動的コードを作成 —
create_dynamic_qrを使用して、後で印刷し直さずに宛先を変更できるQRコードを作成します。 - コードを更新および管理 —
update_dynamic_qrで宛先、ラベル、タグ、またはフォルダを変更したり、list_dynamic_qrとdelete_dynamic_qrで一覧表示や削除を行います。 - 印刷キャンペーン向けに一括作成 —
bulk_create_dynamic_qrを使用して、一度に最大200個の動的コードを生成します。 - フォルダとテーマで整理 —
create_folderでフォルダを作成し、create_themeで再利用可能なスタイルプリセットを保存して、一貫したブランディングを適用します。 - スキャン分析を追跡 —
get_scansを使用して、任意の動的コードのスキャン統計を取得します。国レベルのデータも含まれます。
ドキュメント
OpenQR
無料・オープンソース・透かしなしのQRコード生成ツール。 ブラウザ上で完全に動作し、トラッキングもサインアップも制限もありません。
多くのオンラインQRコード生成ツールは「無料」を謳いながら、透かしを入れたり、ダウンロードサイズに制限をかけたり、ベクター書き出しを有料にしたり、自社サーバー経由でコードを生成して支払いをやめると使えなくなるようにしています。QRコードはオープンな標準規格(ISO/IEC 18004)であり、生成にコストはかかりません。OpenQRはその原則を守ります。
このリポジトリは基本生成ツール、つまりオープンソースのリファレンス実装です。意図的に小さく、フォークしやすい設計になっています。
ホスト版:無料API、MCPサーバー、編集可能なコード
このリポジトリのすべては無料のままで、透かしも有効期限もありません。openqr.uk のホスト版ビルドには、編集可能なコードと自動化を求めるユーザー向けの任意のアカウント層が追加されています。
- 動的/編集可能なQRコードとスキャン分析。印刷後に宛先を変更できます。無料アカウントでは3つまで無料(国別スキャン7日分)。Proは月額£9または年額£72で無制限となり、完全な分析履歴、市区町村・地域の詳細、デバイス・リファラーの内訳(CSV書き出し対応)、ブランド付きサブドメイン、パスワード保護コードも利用できます。
- 無料REST API。 コードの生成と動的コードの管理をプログラムから実行できます。OpenAPI仕様は
/openapi.json、対話型ドキュメントは**openqr.uk/api** にあります。 - ホスト型MCPサーバー(Streamable HTTP、17ツール)は
https://openqr.uk/mcpにあります。Claude、Cursor、その他のMCPクライアントから直接QRコードを生成・管理できます。公式MCPレジストリに掲載されています。リモート対応クライアントはそのURLに直接接続できます。stdioのみのクライアントは、npx -y @open-qr/mcpとOPENQR_API_KEYを設定してブリッジできます(詳細)。
このリポジトリの静的生成ツールは、これらの機能を一切呼び出しません。100%クライアントサイドで動作し(プライバシーを参照)、生成ツールの利用やセルフホストにこれらは一切必要ありません。
ツール
https://openqr.uk/mcpのホスト型MCPサーバーは、以下の17ツールを公開しています。すべてのツールに無料のAPIキーが必要です — openqr.uk/apiで作成し、MCP接続時にAuthorization: Bearer oqr_...として渡してください。
| ツール | 機能 |
|---|---|
generate_qr | 任意のテキストまたはURLから静的QRコードを生成します。PNG画像またはSVGマークアップを返します。 |
create_dynamic_qr | 後で印刷し直さずに宛先を変更できる編集可能なQRコードを作成します。 |
update_dynamic_qr | 動的コードの宛先、ラベル、カスタム短縮リンク、タグ、フォルダーを変更します。 |
get_dynamic_qr | 1つのコードの完全な詳細(宛先、短縮リンク、ラベル、タイプ、タグ、フォルダー、ステータス、作成日)を取得します。 |
get_scans | 動的コードのスキャン統計を取得します。 |
list_dynamic_qr | 動的コードの一覧をID、短縮URL、宛先、ラベル、ステータス付きで表示します。 |
delete_dynamic_qr | 動的コードを完全に削除します。短縮リンクは機能しなくなります。 |
bulk_create_dynamic_qr | 一度に最大200個の動的コードを作成します。 |
list_folders | フォルダーの一覧を表示します。 |
create_folder | コードを整理するためのフォルダーを作成します。 |
delete_folder | フォルダーを削除します。コードは未分類になるだけで、削除されません。 |
list_themes | 保存済みのスタイルテーマを一覧表示します。IDまたは名前をthemeとして渡すと適用できます。 |
create_theme | 再利用可能なスタイルテーマ(色、ドット・コーナースタイル)を保存します。 |
delete_theme | 保存済みテーマを削除します。すでにそのテーマでスタイル設定されたコードは外観を維持します。 |
get_subdomain | アカウントのブランド付きサブドメインと、停止されているかどうかを表示します。 |
set_subdomain | ブランド付きサブドメインを取得または変更して、コードが{name}.oqr.toでも解決されるようにします。Pro限定。 |
clear_subdomain | ブランド付きサブドメインを解放します。コードは通常の短縮リンクで引き続き有効です。 |
さらに、5つのリソースと4つのプロンプトも公開しています。
- リソースは、
openqr://preset/classic、/teal、/high-contrast、/dots、/classyにある組み込みのQRスタイルプリセットです。1つ読み取って、そのスタイルをcreate_themeに渡します。 - プロンプトは、
create_tracked_qr、bulk_qr_for_print、brand_a_qr、qr_scan_reportです。
特徴
- 透かしなし、サイズ制限なし、サインアップ不要 — すべての機能が無料
- 設計上プライベート — コードは完全にブラウザ内で生成され、コンテンツがサーバーに送信されることはありません
- どこにでも書き出し — 最大4096pxのPNG / WebP、さらに真のベクターSVGとPDF
- 完全なスタイリング — 色、グラデーション、ドット&コーナースタイル、ロゴ埋め込み、「スキャンしてください」フレーム
- スマート入力 — リンクやテキストを貼り付けるとタイプが自動検出されます
- リッチなペイロード — URL、テキスト、メール、電話、SMS、WhatsApp、Wi-Fi、地図ベースの位置情報ピッカー
- ワンクリックコピー、共有可能なデザインリンク、ライト/ダーク、レスポンシブ、キーボードアクセシブル
クイックスタート
pnpm install
pnpm dev # http://localhost:3011
ビルド&セルフホスト
pnpm build
pnpm start # serves on :3011 (standalone output)
標準的なNext.jsアプリです — どこでもホストできます(VPS、Raspberry Pi、Cloudflare、任意のリバースプロキシの背後など)。実行に環境変数、データベース、シークレットは一切不要です。
埋め込み
<Generator/>コンポーネントは自己完結型で設定可能です:
import { Generator } from "@/components/generator/generator";
// Full page (default OpenQR logo header):
<Generator />
// Embedded widget, your own branding, no default header:
<Generator embedded header={<MyLogo />} />
// Inject your own post-download call-to-action:
<Generator renderSuccess={(variant) => <MySupportCluster variant={variant} />} />
このツールには分析機能は一切含まれていません。匿名のUIイベント(例:どの書き出し形式が使われたか — QRコンテンツは決して含まれません)が必要な場合は、ハンドラーを注入してください:
import { setTrackHandler } from "@/lib/analytics";
setTrackHandler((action, name, category) => myAnalytics.track(category, action, name));
プライバシー
QRコード生成は100%ブラウザ内で行われます。唯一の任意の外部通信は位置情報ツール内のみです:CARTOの地図タイルと、OpenStreetMapのNominatimによる住所検索です。その他のデータがデバイスから送信されることはありません。
技術スタック
Next.js 16(App Router)・React 19・TypeScript(strict)・Tailwind v4・
qr-code-styling・Leaflet・pnpm。
コントリビューション
CONTRIBUTING.mdを参照してください。シンプルで、アクセシブルで、クライアントサイドで、無料であることを維持してください — 透かしの削除や形式のロック解除に支払いを必要とする機能は追加しないでください。
ライセンス
AGPL-3.0 © 2026 Sam Moreton。
AGPL-3.0の下で、OpenQRを自由に使用、研究、変更、セルフホスト、再配布できます。変更版をネットワークサービスとして実行する場合、AGPLは同じライセンスの下でソースコードを公開することを要求します。それがユースケースに合わない場合は、商用ライセンスも利用可能です — NOTICEを参照してください。