mcpField
O
OpenQR

OpenQR

远程服务
openqr.uk商业与营销126 周前更新

关于 OpenQR

OpenQR 提供浏览器端 QR 码生成器,并通过托管服务扩展动态 QR 码、扫描分析与自动化能力,适合个人及需要程序化管理 QR 码的团队。

主要功能

  1. 01生成静态 QR 码并导出 PNG、SVG、PDF
  2. 02创建和编辑动态 QR 码
  3. 03查看动态码扫描统计
  4. 04批量创建最多 200 个动态码
  5. 05管理文件夹与样式主题

适用场景

  1. 01在浏览器中制作并导出 QR 码
  2. 02打印后更改 QR 码的目标地址
  3. 03批量创建并整理动态 QR 码
  4. 04通过 API 或 MCP 客户端自动化管理 QR 码

MCP 相关

托管 MCP 服务位于 `https://openqr.uk/mcp`,向客户端提供 QR 码生成、动态码管理及扫描统计等工具,并提供 5 个资源和 4 个提示词。所有工具都需要免费的 API key。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://openqr.uk/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://openqr.uk/mcp需要授权
安装包
npm@open-qr/mcp1.0.2

工具

17
参数类型必填说明
datastring是要编码的内容(URL 或文本)。
formatenum否输出格式(默认值为 png)。png | svg
sizenumber否像素尺寸,范围为 64–2048(默认值为 512)。
themestring否已保存的主题 ID 或名称。应用主题的颜色(SVG);动态码会应用完整样式。

详细介绍

OpenQR

免费、开源、无水印的二维码生成器。 完全在浏览器中运行——无跟踪、无需注册、没有限制。

许可证:AGPL-3.0 Next.js 无水印 已收录于 mcpservers.org

大多数在线二维码生成器先用“免费”吸引你,然后添加水印、限制下载尺寸、将矢量导出设为付费功能,或者把你的二维码通过他们的服务处理,这样一旦你停止付费,二维码就无法使用。二维码只是一种开放标准(ISO/IEC 18004),生成它不需要任何费用。OpenQR 让这一切始终如此。

此代码库是基础生成器工具——开源参考实现。它刻意保持精简,便于分叉。

如果 OpenQR 对你有用,请为代码库点个星,帮助更多人发现它。这就是我们唯一的请求。

托管版本:免费 API、MCP 服务和可编辑二维码

此代码库中的所有内容都是且始终免费、无水印且永不过期。托管版本 openqr.uk 为想要可编辑二维码和自动化功能的用户提供了一个可选账户层:

  • 动态/可编辑二维码,带有扫描分析功能。打印后仍可更改目标地址。免费账户可使用 1 个免费二维码(可查看 7 天内按国家/地区划分的扫描数据);Pro 版每月 £9 或每年 £90,可使用 25 个可编辑二维码,并解锁 90 天扫描分析时间范围,以及城镇和地区详情、设备和引荐来源细分数据及 CSV 导出、品牌子域名和密码保护二维码。 现有订阅用户保留当前套餐和价格。
  • 免费 REST API。 以编程方式生成二维码并管理动态二维码。OpenAPI 规范见 /openapi.json;交互式文档见 openqr.uk/api。
  • 位于 https://openqr.uk/mcp 的托管 MCP 服务(Streamable HTTP)。 可直接通过 Claude、Cursor 或任何 MCP 客户端生成和管理二维码。已收录于 官方 MCP Registry。 支持远程连接的客户端可直接连接该 URL;仅支持 stdio 的客户端可使用 npx -y @open-qr/mcp 桥接,并设置 OPENQR_API_KEY (详情)。

此代码库中的静态生成器不会调用上述任何服务。它始终完全在客户端运行(参见隐私),使用或自托管生成器也不需要这些服务。

连接 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 生成静态二维码。返回 PNG 图像或 SVG 标记。
create_dynamic_qr创建可编辑的二维码,之后无需重新打印即可更改其目标地址。
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 个提示词:

  • 资源是内置的二维码样式预设,位于 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、文本、电子邮件、电话、短信、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
RenderBlueprint 按钮读取 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 码完全在浏览器中生成。唯一可选的对外请求来自 Location 工具:从 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。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。