OpenQR

公式

QRコードを生成し、スキャン分析付きの動的(編集可能な)QRコードを、ホスト型MCPサーバー(17ツール)と無料のREST APIで管理します。

OpenQR MCPで何ができますか?

  • 静的QRコードの生成 — 任意のテキストまたはURLからQRコードを要求し、generate_qr でPNGまたはSVG出力を取得します。
  • 動的QRコードの作成と管理 — 編集可能なコードを作成し、宛先の変更、一覧表示、削除を create_dynamic_qr、update_dynamic_qr、delete_dynamic_qr で行います。
  • スキャン分析の追跡 — 動的コードのスキャン統計を要求して、get_scans でパフォーマンスを確認します。
  • フォルダとテーマで整理 — フォルダと再利用可能なスタイルプリセットを作成し、create_folder と create_theme でコードを整理してブランド化します。
  • 印刷キャンペーン向けの一括生成 — bulk_create_dynamic_qr で大規模プロジェクト向けに最大200個の動的コードを一度に作成します。

ドキュメント

OpenQR

無料・オープンソース・透かしなしのQRコード生成ツール。 ブラウザ上で完全に動作し、トラッキングも、サインアップも、制限もありません。

License: AGPL-3.0 Next.js No watermark Listed on mcpservers.org

多くのオンラインQRコード生成ツールは「無料」を謳いながら、透かしを追加したり、ダウンロードサイズを制限したり、ベクター書き出しを有料の壁の向こうに隠したり、自社のサーバー経由でコードを配信して支払いを止めると使えなくしたりします。QRコードは、生成にコストがかからないオープン規格(ISO/IEC 18004)にすぎません。OpenQRはそのあり方を守ります。

このリポジトリは基本の生成ツール、つまりリファレンスとなるオープンソース実装です。意図的に小さく、フォークしやすく設計されています。

OpenQRが役に立つと思われたら、リポジトリへのスターが他の人の発見につながります。お願いはそれだけです。

ホスト版:無料API、MCPサーバー、編集可能なコード

このリポジトリのすべては無料のままで、透かしも有効期限もありません。openqr.uk のホスト版ビルドには、編集可能なコードと自動化を求める人のための任意のアカウント層が追加されています。

  • 動的/編集可能なQRコードとスキャン分析。印刷後に宛先を変更できます。無料アカウントでは1つ無料(国別のスキャン7日分)。Proでは25個の編集可能なコードが月額£9または年額£90で利用でき、90日間のスキャン分析ウィンドウに加えて、市区町村・地域の詳細、デバイス・リファラーの内訳、CSVエクスポート、ブランド付きサブドメイン、パスワード保護付きコードも利用できます。既存の購読者は現在のプランと価格が維持されます。
  • 無料のREST API。 コードの生成と動的コードの管理をプログラムから行えます。OpenAPI仕様は/openapi.json、対話型ドキュメントはopenqr.uk/api にあります。
  • ホスト型MCPサーバー(Streamable HTTP)は https://openqr.uk/mcp にあります。Claude、Cursor、または任意のMCPクライアントから直接QRコードを生成・管理できます。公式MCPレジストリ に掲載されています。リモート対応クライアントはそのURLに直接接続します。stdioのみのクライアントは、npx -y @open-qr/mcp と OPENQR_API_KEY を設定してブリッジできます(詳細)。

このリポジトリの静的ジェネレーターは、それらの機能を一切呼び出しません。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"
      }
    }
  }
}

ツール

https://openqr.uk/mcp のホスト型MCPサーバーは、以下のツールを公開しています(最新の一覧は tools/list を実行)。すべてのツールに無料のAPIキーが必要です — openqr.uk/api で作成し、MCP接続時に Authorization: Bearer oqr_... として渡してください。

ツール機能
generate_qr任意のテキストまたはURLから静的QRコードを生成します。PNG画像またはSVGマークアップを返します。
create_dynamic_qr後で印刷し直さずに宛先を変更できる編集可能なQRコードを作成します。
update_dynamic_qr動的コードの宛先、ラベル、カスタムショートリンク、タグ、フォルダーを変更します。
get_dynamic_qr1つのコードの詳細(宛先、ショートリンク、ラベル、タイプ、タグ、フォルダー、ステータス、作成日)を取得します。
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、任意のリバースプロキシの背後など)。実行に環境変数、データベース、シークレットは一切不要です。上記のdev/startスクリプトはポート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 Platform1クリックボタン.do/deploy.template.yaml を読み取り、最小インスタンス、ポート3000
Renderブループリントボタン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%ブラウザ内で行われます。任意の外部送信は位置情報ツールのみです。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 を参照してください。