OpenQR
官方生成QR碼,並透過託管的MCP伺服器(17個工具)和免費REST API管理動態(可編輯)QR碼,附掃描分析功能。
你可以用 OpenQR MCP 做什麼?
- 產生靜態 QR Code — 透過
generate_qr從任何文字或 URL 產生 QR Code,回傳 PNG 或 SVG 格式。 - 建立可編輯的動態 QR Code — 使用
create_dynamic_qr建立 QR Code,之後不需重新列印即可變更目的地。 - 更新與管理 QR Code — 使用
update_dynamic_qr修改目的地、標籤、標記或資料夾,或透過list_dynamic_qr與delete_dynamic_qr列出及刪除。 - 大量建立以支援印刷活動 — 使用
bulk_create_dynamic_qr一次產生最多 200 個動態 QR Code。 - 使用資料夾與主題進行組織 — 透過
create_folder建立資料夾,並使用create_theme儲存可重複使用的樣式預設,以套用一致的品牌形象。 - 追蹤掃描分析 — 使用
get_scans擷取任何動態 QR Code 的掃描統計資料,包含國家層級的數據。
文件
OpenQR
免費、開源、無浮水印的 QR Code 產生器。 完全在您的瀏覽器中執行——無追蹤、無需註冊、無限制。
大多數線上 QR Code 產生器以「免費」為誘餌,然後加上浮水印、限制下載尺寸、將向量匯出功能鎖在付費牆後,或將您的條碼經由他們的伺服器傳輸,讓您在停止付費時條碼就失效。QR Code 只是開放標準(ISO/IEC 18004),產生它不需要任何成本。OpenQR 讓它保持如此。
此儲存庫是基本產生器工具——參考用的開源實作。它刻意保持小巧且易於分叉。
託管版本:免費 API、MCP 伺服器與可編輯條碼
此儲存庫中的所有內容都是且永遠是免費的,無浮水印、無到期日。位於 openqr.uk 的託管版本為需要可編輯條碼與自動化的使用者增加了選用的帳戶層:
- 動態/可編輯 QR Code,附掃描分析。列印後仍可變更目的地。免費帳戶可享 3 個免費(7 天依國家劃分的掃描資料);Pro 版每月 £9 或每年 £72 則無限制,同時解鎖完整分析歷史、城鎮與地區詳細資料、裝置與參照來源分析(含 CSV 匯出)、品牌子網域,以及密碼保護條碼。
- 免費 REST API。 以程式化方式產生條碼與管理動態條碼。OpenAPI 規格位於
/openapi.json;互動式文件位於 openqr.uk/api。 - 託管 MCP 伺服器位於
https://openqr.uk/mcp(Streamable HTTP,17 個工具)。可直接從 Claude、Cursor 或任何 MCP 用戶端產生與管理 QR Code。已列於官方 MCP Registry。支援遠端的用戶端可直接連線至該 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 Code。回傳 PNG 圖片或 SVG 標記。 |
create_dynamic_qr | 建立可編輯的 QR Code,其目的地日後可變更而無需重新列印。 |
update_dynamic_qr | 變更動態條碼的目的地、標籤、自訂短連結、標籤或資料夾。 |
get_dynamic_qr | 取得單一條碼的完整詳細資料:目的地、短連結、標籤、類型、標籤、資料夾、狀態、建立日期。 |
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 個提示:
- 資源是內建的 QR 樣式預設,位於
openqr://preset/classic、/teal、/high-contrast、/dots與/classy。讀取其中一個並將其樣式傳給create_theme。 - 提示為
create_tracked_qr、bulk_qr_for_print、brand_a_qr與qr_scan_report。
功能特色
- 無浮水印、無尺寸限制、無需註冊——每項功能皆免費
- 隱私優先設計——條碼完全在您的瀏覽器中產生;內容絕不會觸及伺服器
- 隨處匯出——PNG/WebP 最高 4096px,加上真正的向量 SVG 與 PDF
- 完整樣式——顏色、漸層、點與角落樣式、Logo 嵌入、「掃描我」外框
- 智慧輸入——貼上連結或文字即可自動偵測類型
- 豐富的內容類型——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(嚴格模式)· Tailwind v4 ·
qr-code-styling · Leaflet · pnpm。
貢獻
請參閱 CONTRIBUTING.md。保持簡單、可存取、用戶端執行且免費——任何功能都不應要求付費才能移除浮水印或解鎖格式。
授權
AGPL-3.0 © 2026 Sam Moreton。
您可以在 AGPL-3.0 下自由使用、研究、修改、自行託管與重新散布 OpenQR。如果您以網路服務形式執行修改版本,AGPL 要求您以相同授權提供原始碼。如果這不符合您的使用情境,也可取得商業授權——請參閱 NOTICE。