QR for Agent
QR Agent Core
专为 AI Agent 构建的 QR-as-a-Service(二维码即服务)API。通过 REST API 或 MCP(37 个工具)以编程方式创建、更新和追踪动态二维码。
二维码指向短链接 (/r/:shortId),您可以随时更改其目标地址——二维码图像本身保持不变,但扫描后会跳转到新的目标。采用多租户设计,并提供完整的扫描分析功能。
实时 API: api.qragentcore.com | 网站: qrforagent.com | MCP: qr-for-agent
功能特性
动态二维码 — 无需重新生成图像即可更改目标 URL
11 种二维码类型 — URL、vCard、WiFi、电子邮件、短信、电话、活动、文本、位置、社交媒体、应用商店
自定义样式 — 点形状(方形、圆形、圆点、经典圆角)、角样式、颜色、渐变、嵌入 Logo、带 CTA 文字的边框
SVG & PNG — 支持矢量图和位图输出
丰富的分析数据 — 设备类型、浏览器、操作系统、国家、城市、引荐来源、每日扫描量
实时 Webhook — 带有 HMAC-SHA256 签名负载及投递日志
UTM 追踪 — 自动为重定向 URL 添加 UTM 参数
GTM 支持 — 带有 Google Tag Manager 代码片段的中间页
条件重定向 — 根据设备、操作系统、国家、语言、时间范围或 A/B 分流进行路由
自定义域名 — Pro 用户可以使用自己的域名为短链接打标 (
qr.yourbrand.com/r/abc123)过期与定时 — 自动设置二维码过期或定时切换 URL
转化追踪 — 追踪像素 + 用于扫描后事件(购买、注册)的 API,并提供 ROI 分析
边框与模板 — 二维码周围的装饰性边框(顶部横幅、底部横幅、圆角)及 CTA 文字
批量操作 — 每个请求最多可创建、更新或删除 50 个二维码,通过 CSV 上传最多可处理 500 个(Pro 版)
多租户 — 每个 API Key 仅能查看其自身数据
MCP 服务器 —
qr-for-agent,为 Claude Desktop、Cursor 等提供 37 个工具基于计划的配额 — 免费版(10 个二维码,每月 1K 次扫描)和 Pro 版(19 美元/月,无限制)
自助注册 — 通过
POST /api/register使用邮箱注册,无需信用卡Stripe 集成 — 结账、计费门户、基于 Webhook 的计划管理
OpenAPI 文档 —
/documentation处的 Swagger UIAI 可发现 —
/.well-known/ai-plugin.json和/.well-known/mcp.json开源 — MIT 许可证,可通过 Docker 自托管
Related MCP server: QR Code Generator MCP
快速开始
git clone https://github.com/benswel/qr-agent-core.git
cd qr-agent-core
npm install
npm run dev首次启动时,系统会自动生成一个 API Key 并打印到控制台。
curl -X POST http://localhost:3100/api/qr \
-H "Content-Type: application/json" \
-H "X-API-Key: qr_YOUR_KEY_HERE" \
-d '{"target_url": "https://example.com", "label": "My first QR"}'API 端点
二维码管理(需要 X-API-Key)
方法 | 路径 | 描述 |
|
| 创建二维码(11 种类型,自定义样式) |
|
| 列出所有二维码(分页) |
|
| 获取二维码详情 |
|
| 更新目标 URL、标签、UTM、GTM、重定向规则 |
|
| 删除二维码及其分析数据 |
|
| 下载二维码图像(使用存储的样式重新生成) |
|
| 批量创建最多 50 个二维码(全有或全无) |
|
| 批量更新最多 50 个二维码(部分成功) |
|
| 批量删除最多 50 个二维码(部分成功) |
|
| 从 CSV 创建最多 500 个二维码(仅限 Pro) |
分析(需要 X-API-Key)
方法 | 路径 | 描述 |
|
| 扫描统计,包含设备、浏览器、操作系统、国家、城市细分及转化数据 |
转化(需要 X-API-Key)
方法 | 路径 | 描述 |
|
| 记录您拥有的二维码的转化事件 |
|
| 获取转化统计(总计、按事件、按天、最近) |
Webhook(需要 X-API-Key)
方法 | 路径 | 描述 |
|
| 注册 Webhook 端点(返回 HMAC 密钥) |
|
| 列出所有 Webhook |
|
| 删除 Webhook |
自定义域名(需要 X-API-Key,仅限 Pro)
方法 | 路径 | 描述 |
|
| 获取当前自定义域名及 DNS 状态 |
|
| 设置自定义域名 |
|
| 移除自定义域名 |
账户(需要 X-API-Key)
方法 | 路径 | 描述 |
|
| 当前使用量和配额 |
|
| 创建 Stripe 结账会话(升级至 Pro) |
|
| 打开 Stripe 计费门户 |
公共端点(无需认证)
方法 | 路径 | 描述 |
|
| 自助 API Key 注册(受速率限制) |
|
| 重定向至目标 URL(记录扫描) |
|
| 转化追踪像素(返回 1×1 GIF) |
|
| 提供二维码图像(可缓存) |
|
| 健康检查 |
|
| Swagger UI |
|
| AI 插件清单 |
|
| MCP 发现清单 |
管理员(需要 X-Admin-Secret 请求头)
方法 | 路径 | 描述 |
|
| 列出所有已注册的 API Key |
|
| 仪表盘指标 |
认证
所有 /api/* 端点都需要 X-API-Key 请求头。
格式:
qr_+ 32 位随机字符串自动生成:如果不存在密钥,则在首次启动时生成
多租户:每个密钥只能看到其自己的二维码
创建密钥:
npm run key:create "my-label"列出密钥:
npm run key:list
公共端点(/r/*, /i/*, /health, /documentation, /.well-known/*)不需要认证。
MCP 服务器
以 qr-for-agent 发布在 npm 上。为 AI Agent 提供 37 个工具以原生管理二维码。
npx qr-for-agentClaude Desktop / Cursor
添加到您的 MCP 配置(claude_desktop_config.json 或 .cursor/mcp.json):
{
"mcpServers": {
"qr-for-agent": {
"command": "npx",
"args": ["-y", "qr-for-agent"],
"env": {
"API_KEY": "your-api-key",
"BASE_URL": "https://api.qragentcore.com"
}
}
}
}可用工具 (37)
工具 | 描述 |
| 创建带有可选自定义样式的 URL 二维码 |
| 通过短 ID 获取二维码详情 |
| 更改二维码的重定向目标 |
| 列出所有二维码(分页) |
| 删除二维码及其分析数据 |
| 获取扫描统计和细分数据 |
| 一次性创建最多 50 个二维码 |
| 一次性更新最多 50 个二维码 |
| 一次性删除最多 50 个二维码 |
| 创建 vCard 联系人二维码 |
| 创建 WiFi 凭据二维码 |
| 创建电子邮件 (mailto:) 二维码 |
| 创建短信二维码 |
| 创建电话呼叫二维码 |
| 创建日历事件二维码 |
| 创建纯文本二维码 |
| 创建地理位置二维码 |
| 创建社交媒体链接二维码 |
| 创建智能应用商店重定向二维码 |
| 更新 vCard 二维码 |
| 更新 WiFi 二维码 |
| 更新社交媒体二维码 |
| 更新应用商店二维码 |
| 注册 Webhook 端点 |
| 列出所有已注册的 Webhook |
| 删除 Webhook |
| 注册 API Key |
| 获取当前使用量和配额 |
| 创建 Stripe 结账会话 |
| 打开 Stripe 计费门户 |
| 设置二维码的 UTM 追踪参数 |
| 设置二维码的条件重定向规则 |
| 设置或移除自定义域名 (Pro) |
| 获取当前自定义域名及 DNS 状态 |
| 从 CSV 数据创建最多 500 个二维码 (Pro) |
| 记录扫描后的转化事件 |
| 获取二维码的转化统计 |
配置
将 .env.example 复制为 .env 并编辑:
变量 | 默认值 | 描述 |
|
| HTTP 端口 |
|
| 绑定地址 |
|
| 公共 URL(用于短链接) |
|
| SQLite 文件路径 |
|
| 生成的短 ID 长度 |
| (无) | 管理员端点密钥 ( |
| (无) | Stripe API 密钥 |
| (无) | Stripe Webhook 签名密钥 |
| (无) | Pro 计划的 Stripe 价格 ID |
数据库
使用 Drizzle ORM 的 SQLite。包含六张表:
api_keys— 密钥存储,包含标签、邮箱、计划(免费/Pro)、Stripe ID、自定义域名qr_codes— 二维码元数据、目标 URL、类型/类型数据、样式选项、UTM、GTM、重定向规则、过期/定时设置scan_events— 扫描追踪:时间戳、User-Agent、引荐来源、IP、设备、浏览器、操作系统、国家、城市webhooks— 每个 API Key 的 Webhook 端点、HMAC 密钥、订阅事件webhook_deliveries— 投递日志:状态、响应代码、错误消息conversion_events— 转化追踪:事件名称、值、元数据、引荐来源、IP、时间戳
npm run db:generate # Generate migration from schema changes
npm run db:migrate # Apply pending migrations
npm run db:studio # Open Drizzle Studio (web UI)迁移脚本会在服务器启动时自动运行。
部署
Docker
docker compose up -d数据库持久化在 Docker 卷中。
Railway
该项目包含 railway.toml 和多阶段 Dockerfile。将您的 GitHub 仓库连接到 Railway,它会自动构建并部署,并对 /health 进行健康检查。
测试
195 个集成测试,涵盖所有端点、认证、多租户隔离、二维码类型、Webhook、批量操作、自定义域名、边框、转化、CSV 上传和分析。
npm test # Run all tests
npm run test:watch # Watch mode脚本
脚本 | 描述 |
| 启动开发服务器并自动重载 |
| 编译 TypeScript |
| 运行生产服务器 |
| 运行测试套件 |
| 监视模式运行测试 |
| 创建 API Key |
| 列出 API Key |
| 生成迁移文件 |
| 运行迁移 |
| 打开 Drizzle Studio |
许可证
MIT
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/benswel/qr-agent-core'
If you have feedback or need assistance with the MCP directory API, please join our Discord server