OpenQR について
OpenQRはブラウザーで使えるQRコード生成ツールで、ホスト版では編集可能なコード、スキャン分析、自動化にも対応します。ブラウザーでの作成から、プログラムによる管理まで利用できます。
主な機能
- 01静的QRコードの生成とPNG・SVG・PDF出力
- 02動的QRコードの作成と編集
- 03動的コードのスキャン統計の確認
- 04最大200件の動的コードの一括作成
- 05フォルダーとスタイルテーマの管理
活用シーン
- 01ブラウザーでQRコードを作成して出力
- 02印刷後にQRコードのリンク先を変更
- 03動的コードの一括作成と整理
- 04APIやMCPクライアントを通じたQRコード管理の自動化
MCP 対応
`https://openqr.uk/mcp` のホスト型MCPサーバーは、QRコード生成、動的コード管理、スキャン統計などのツールに加え、5つのリソースと4つのプロンプトを公開します。各ツールには無料のAPIキーが必要です。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://openqr.uk/mcpclaude mcp add --transport http uk-openqr-qr https://openqr.uk/mcp{"mcpServers":{"uk-openqr-qr":{"type":"http","url":"https://openqr.uk/mcp"}}}Cursor で開く{"servers":{"uk-openqr-qr":{"type":"http","url":"https://openqr.uk/mcp"}}}VS Code で開く{"mcpServers":{"uk-openqr-qr":{"type":"http","url":"https://openqr.uk/mcp"}}}{"mcpServers":{"uk-openqr-qr":{"serverUrl":"https://openqr.uk/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://openqr.uk/mcp認証が必要ツール
17| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| data | string | はい | エンコードする内容(URL またはテキスト)。 |
| format | enum | いいえ | 出力形式(デフォルトは png)。png | svg |
| size | number | いいえ | ピクセルサイズ。64~2048(デフォルトは 512)。 |
| theme | string | いいえ | 保存済みのテーマ ID または名前。テーマの色を適用します(SVG)。動的コードには完全なスタイルが適用されます。 |
詳細
OpenQR
無料のオープンソース、ウォーターマークなしのQRコードジェネレーターです。 ブラウザー内だけで動作します。トラッキングも、サインアップも、利用制限もありません。
多くのオンラインQRコードジェネレーターは「無料」とうたっておきながら、ウォーターマークを追加したり、ダウンロードサイズに上限を設けたり、ベクター形式でのエクスポートを有料にしたり、コードの生成を運営元のサーバー経由にしたりします。そのため、支払いをやめると使えなくなります。QRコードは、生成に費用のかからないオープン標準(ISO/IEC 18004)にすぎません。OpenQRはその状態を保ちます。
このリポジトリは、基本的なジェネレーターツールであり、オープンソースのリファレンス実装です。意図的に小規模で、簡単にフォークできるようにしています。
OpenQRが役に立ったら、リポジトリにスターを付けると、ほかの人にも見つけてもらいやすくなります。お願いはそれだけです。
ホスト版:無料のAPI、MCP サーバー、編集可能なコード
このリポジトリのすべての機能は無料で、今後も無料です。ウォーターマークも有効期限もありません。ホスト版の openqr.uk では、編集可能なコードや自動化を利用したい方向けに、任意のアカウント機能を追加しています。
- 動的/編集可能なQRコードとスキャン分析機能。印刷した後でも、リンク先を変更できます。無料アカウントでは1個無料(国別のスキャン履歴は7日間)、Proでは月額£9または年額£90で編集可能なコードを25個利用できます。Proでは、90日間のスキャン分析期間に加え、市町村と地域の詳細、デバイスとリファラー別の内訳、CSVエクスポート、ブランド付きサブドメイン、パスワード保護コードも利用できます。 既存の加入者は現在のプランと料金を引き続き利用できます。
- 無料のREST API。 プログラムからコードを生成し、動的コードを管理できます。OpenAPI仕様は
/openapi.json、対話型ドキュメントは openqr.uk/api にあります。 https://openqr.uk/mcpにあるホスト型MCP サーバー(Streamable HTTP)。 Claude、Cursor、または任意のMCPクライアントからQRコードを直接生成、管理できます。 公式MCP Registryに掲載されています。 リモート接続に対応するクライアントはこのURLに直接接続できます。stdioのみ対応するクライアントは、OPENQR_API_KEYを設定したうえでnpx -y @open-qr/mcpを使って接続できます (詳細)。
このリポジトリの静的ジェネレーターは、これらの機能を一切呼び出しません。100%クライアント側で動作し(プライバシーを参照)、ジェネレーターの利用やセルフホストにこれらの機能は必要ありません。
MCPクライアントの接続
openqr.uk/apiで無料のキーを取得し、キーを認証ヘッダーとして指定して、クライアントからサーバーに接続します。
Claude Code:
claude mcp add --transport http openqr https://openqr.uk/mcp \
--header "Authorization: Bearer oqr_YOUR_KEY"
Cursor(~/.cursor/mcp.json)およびStreamable HTTPに対応するその他のクライアント:
{
"mcpServers": {
"openqr": {
"url": "https://openqr.uk/mcp",
"headers": {
"Authorization": "Bearer oqr_YOUR_KEY"
}
}
}
}
ツール
ホスト型 MCP サーバー https://openqr.uk/mcp は、以下のツールを公開しています(最新の一覧は tools/list を実行してください)。すべてのツールで無料の API キーが必要です。openqr.uk/api でキーを作成し、MCP 接続時に Authorization: Bearer oqr_... として渡してください。
| ツール | 機能 |
|---|---|
generate_qr | 任意のテキストまたは URL から静的 QR コードを生成します。PNG 画像または SVG マークアップを返します。 |
create_dynamic_qr | 後から再印刷せずにリンク先を変更できる、編集可能な QR コードを作成します。 |
update_dynamic_qr | 動的 QR コードのリンク先、ラベル、カスタム短縮リンク、タグ、またはフォルダーを変更します。 |
get_dynamic_qr | 1 つのコードの詳細(リンク先、短縮リンク、ラベル、種類、タグ、フォルダー、ステータス、作成日)を取得します。 |
get_scans | 動的 QR コードのスキャン統計を取得します。 |
list_dynamic_qr | ID、短縮 URL、リンク先、ラベル、ステータスを含む動的 QR コードの一覧を表示します。 |
delete_dynamic_qr | 動的 QR コードを完全に削除します。その短縮リンクは機能しなくなります。 |
bulk_create_dynamic_qr | 最大 200 個の動的 QR コードを一度に作成します。 |
list_folders | フォルダーの一覧を表示します。 |
create_folder | コードを整理するためのフォルダーを作成します。 |
delete_folder | フォルダーを削除します。中のコードは削除されず、フォルダーから外れます。 |
list_themes | 保存済みのスタイルテーマの一覧を表示します。theme として ID または名前を渡すと適用できます。 |
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 スタイルプリセットです。いずれかを読み込み、そのスタイルをcreate_themeに渡してください。 - プロンプトは
create_tracked_qr、bulk_qr_for_print、brand_a_qr、qr_scan_reportです。
機能
- 透かしなし、サイズ制限なし、登録不要 — すべての機能を無料で利用できます
- プライバシーを重視した設計 — コードはすべてブラウザー上で生成され、コンテンツがサーバーに送信されることはありません
- どこへでもエクスポート — 最大 4096px の PNG/WebP に加え、真のベクター形式である SVG と PDF
- 豊富なスタイル設定 — 色、グラデーション、ドットと角のスタイル、ロゴの埋め込み、「Scan me」フレーム
- スマート入力 — リンクまたはテキストを貼り付けると、種類が自動検出されます
- 多彩なペイロード — 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、あらゆるリバースプロキシの背後など、どこにでもホストできます。実行に環境変数、データベース、シークレットは不要です。上記の開発/起動スクリプトはポート 3011 を使用し、以下の Docker イメージは 3000 で配信します。どちらの場合も、設定が必要なのは PORT のみです。
デプロイ(Docker イメージ)
マルチアーキテクチャイメージ(linux/amd64、linux/arm64)は、リリースタグごとに GHCR に公開されます。
docker run -d --name openqr --restart unless-stopped -p 3000:3000 ghcr.io/open-qr/openqr:latest
または、docker-compose.yml を使用します。
docker compose up -d # update later: docker compose pull && docker compose up -d
本番環境ではバージョンタグ(ghcr.io/open-qr/openqr:1.0.1)を固定してください。latest はリリースのたびに更新されます。コンテナーは、ヘルスチェック機能を備えたビルド済みの非 root スタンドアロンサーバーで、イメージ内に LICENSE と NOTICE が含まれています。
ワンクリックデプロイ
| ホスト | リンク | 備考 |
|---|---|---|
| DigitalOcean App Platform | ワンクリックボタン | .do/deploy.template.yaml を読み込みます。最小サイズのインスタンス、ポート 3000 |
| Render | Blueprint ボタン | render.yaml を読み込みます。有料インスタンスを前提としています(Render の無料プランではスリープします) |
| Koyeb | イメージからデプロイ | 任意の公開 ghcr.io/open-qr/openqr タグを使用でき、リポジトリのビルドは不要です |
これらの方法でデプロイしても、AGPL-3.0 に加わる条件はありません。ソースは このリポジトリであり、イメージにはライセンスとサードパーティーの通知が含まれています。
埋め込み
<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% ブラウザー内で行われます。外部への通信が発生する可能性があるのは、 Location ツールのみです。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 を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。