QRX

codes.qrxv1.0.0更新于 Oct 9, 2026

Turn a prompt and a link into a branded, print-ready QR code that always scans.

已验证Streamable HTTP可网页运行Media & DesignProductivity & Workflow

概览

AI 生成的概览

根据提示词和链接生成可印刷的品牌艺术二维码,并管理生成的二维码与短链接。

功能
QRX 把一段文字提示词和目标链接变成艺术风格的二维码,适用于海报、菜单、包装和标识。工具可以启动生成并返回编号,轮询状态、图片和短链接,列出已有二维码,把已印刷的二维码重新指向新网址,并查看套餐与当日剩余额度。每个完成的二维码在标记为成功前都会先解码验证,并拥有稳定的 qrx.codes 短链接。
适用场景
适合希望二维码符合某种视觉风格、而不只是普通黑白方块的场景,也适合印刷后可能需要更换目标网址而无需重印的情况。也可用于查看账户剩余可生成数量。
运行要求
远程 Streamable HTTP 端点 QRX 账户和 API 密钥,通过 Authorization 的 bearer 头(或 X-API-Key)发送;密钥在 qrx.codes/developers/keys 创建。需要能访问 qrx.codes 的网络。
安装前请注意
API 密钥属于机密:不要写入共享配置文件,泄露后应立即撤销。生成会消耗套餐额度,即使结果被丢弃;重新指向会替换旧目标网址,并被标记为破坏性操作。提示词、目标链接和生成的图片会存储在 QRX 服务器上,请求会把密钥、提示词、链接和样式发送到 qrx.codes。

安装

在 SourceWeft 中

  1. 打开 控制台中的 QRX,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "mcp": {
      "type": "http",
      "url": "https://qrx.codes/mcp"
    }
  }
}

README

QRX

Art QR codes that always scan.

QRX makes branded, print-ready QR codes for posters, menus, packaging and signage. Describe the look you want and give it a link: QRX paints the code into artwork, checks that it decodes before handing it over, and points it at a hosted short link, https://qrx.to/<id> on qrx.codes, that you can re-point later on the Starter plan. This repository connects QRX to Claude, Cursor, VS Code and other MCP clients (ChatGPT once sign-in ships) through the remote server at https://qrx.codes/mcp.

[Install in VS Code] [Install in Cursor] [Glama] [Licence: MIT]

Listed in the official MCP Registry as codes.qrx/mcp.

[A QR code painted as a watercolour river with pine trees, made by QRX]

The QRX logo is a QRX code. Point your phone at it.

What you can do

  • Make a code: "Make a QR code for https://example.com/menu that looks like a watercolour café street."
  • Check on it: generation usually takes under a minute; the agent waits for it and returns the image and short link.
  • Find old codes: list the codes on your account, newest first.
  • Re-point a code: send an existing printed code to a new link, with no reprint (Starter plan).
  • Check your allowance: see how many codes you have left today.

Connection details

Server URLhttps://qrx.codes/mcp
TransportStreamable HTTP (stateless)
Auth (now)API key in a header: Authorization: Bearer qrx_… (preferred), or X-API-Key: qrx_… for clients that can't add the Bearer prefix. If both are sent, Authorization wins
Auth (coming)OAuth sign-in with your QRX account; clients that support MCP OAuth will need only the URL
Without authtools/list and list_styles work; every other tool asks you to connect an account
Docsqrx.codes/developers/mcp (public: server URL, client set-up, tools, limits, privacy)

Get an API key

  1. Sign in at qrx.codes (free).

  2. Open qrx.codes/developers/keys and create a key. It starts with qrx_.

  3. Keep it secret. The examples below read it from an environment variable called QRX_API_KEY wherever the client allows that:

    bash
    # macOS / Linuxexport QRX_API_KEY="qrx_live_…"
    powershell
    # Windows PowerShell (current user, persistent)[Environment]::SetEnvironmentVariable("QRX_API_KEY", "qrx_live_…", "User")

Revoke a key at any time from the same page.

Install

Claude Code

Option A: plugin (MCP server plus the QRX skill)

text
/plugin marketplace add qrxcodes/qrx-mcp/plugin install qrx@qrx

When you enable the plugin, Claude Code asks for your QRX API key and keeps it in your system's credential store. The plugin also adds the qrx skill, which teaches Claude how to write good art prompts, wait for the code and prepare it for print.

Option B: MCP server only

bash
claude mcp add --transport http qrx https://qrx.codes/mcp \  --header "Authorization: Bearer $QRX_API_KEY" --scope user

Or commit this to a project's .mcp.json so the whole team gets it (each person sets their own QRX_API_KEY):

json
{  "mcpServers": {    "qrx": {      "type": "http",      "url": "https://qrx.codes/mcp",      "headers": { "Authorization": "Bearer ${QRX_API_KEY}" }    }  }}

When OAuth is live: claude mcp add --transport http qrx https://qrx.codes/mcp, then run /mcp and sign in.

Claude (claude.ai and Claude Desktop): custom connector

Claude Desktop uses the same connector settings as claude.ai; you don't edit claude_desktop_config.json for a remote server.

  1. Open Customize → Connectors, select + Add, then Add custom connector. On Team and Enterprise, an Owner adds it under Organization settings → Connectors first.
  2. Name: QRX. URL: https://qrx.codes/mcp.
  3. Authentication:
    • Now: choose the fixed-credentials option and, under Request headers, add Authorization with the value Bearer qrx_live_….
    • When OAuth is live: choose Sign in when needed; Claude shows a Connect button the first time you make a code.
  4. Save, then turn QRX on in a chat from the connectors menu.

Free Claude plans can add one custom connector.

ChatGPT

ChatGPT's custom MCP servers take OAuth or no authentication, not API keys, so QRX in ChatGPT needs the OAuth release.

When OAuth is live:

  1. Open chatgpt.com/plugins on the web, select +, then Add custom MCP server.
  2. Name: QRX. Server URL: https://qrx.codes/mcp.
  3. Authentication: OAuth. Accept the risk warning and select Create as a plugin.
  4. Ask for a QR code; ChatGPT asks you to sign in to QRX the first time.

Workspace admins can restrict custom MCP servers on Business and Enterprise plans.

Cursor

Use the Install in Cursor button above, or add this to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project):

json
{  "mcpServers": {    "qrx": {      "url": "https://qrx.codes/mcp",      "headers": { "Authorization": "Bearer ${env:QRX_API_KEY}" }    }  }}

When OAuth is live: drop the headers block; Cursor prompts you to sign in.

VS Code (GitHub Copilot)

Use the Install in VS Code button above (it asks for your key and stores it securely), or add this to .vscode/mcp.json:

json
{  "inputs": [    {      "type": "promptString",      "id": "qrx-api-key",      "description": "QRX API key (starts with qrx_)",      "password": true    }  ],  "servers": {    "qrx": {      "type": "http",      "url": "https://qrx.codes/mcp",      "headers": { "Authorization": "Bearer ${input:qrx-api-key}" }    }  }}

From a terminal:

bash
code --add-mcp '{"name":"qrx","type":"http","url":"https://qrx.codes/mcp","headers":{"Authorization":"Bearer ${input:qrx-api-key}"},"inputs":[{"type":"promptString","id":"qrx-api-key","description":"QRX API key","password":true}]}'

When OAuth is live: {"type": "http", "url": "https://qrx.codes/mcp"} is enough.

Windsurf / Devin Desktop

Edit mcp_config.json (macOS/Linux ~/.config/devin/mcp_config.json, Windows %APPDATA%\devin\mcp_config.json; older Windsurf installs use ~/.codeium/windsurf/mcp_config.json):

json
{  "mcpServers": {    "qrx": {      "serverUrl": "https://qrx.codes/mcp",      "headers": { "Authorization": "Bearer ${env:QRX_API_KEY}" }    }  }}

Note the key is serverUrl, not url.

Cline

Open MCP Servers → Configure MCP Servers and add to cline_mcp_settings.json:

json
{  "mcpServers": {    "qrx": {      "type": "streamableHttp",      "url": "https://qrx.codes/mcp",      "headers": { "Authorization": "Bearer qrx_live_…" },      "disabled": false,      "autoApprove": ["list_styles", "get_qr_code", "list_qr_codes", "get_account", "get_profile"]    }  }}

When OAuth is live: remove headers and use Authorize OAuth on the server.

Zed

Add to settings.json:

json
{  "context_servers": {    "qrx": {      "url": "https://qrx.codes/mcp",      "headers": { "Authorization": "Bearer qrx_live_…" }    }  }}

When OAuth is live: leave out headers; Zed runs the MCP sign-in flow when no Authorization header is set.

Goose

Run goose configure → Add Extension → Remote Extension (Streamable HTTP), enter https://qrx.codes/mcp, and add the header Authorization: Bearer qrx_live_…. Or edit config.yaml (macOS/Linux ~/.config/goose/config.yaml, Windows %APPDATA%\Block\goose\config\config.yaml):

yaml
extensions:  qrx:    name: qrx    type: streamable_http    enabled: true    uri: https://qrx.codes/mcp    headers:      Authorization: "Bearer qrx_live_…"    timeout: 300
OpenAI Codex CLI

Add to ~/.codex/config.toml:

toml
[mcp_servers.qrx]url = "https://qrx.codes/mcp"bearer_token_env_var = "QRX_API_KEY"

When OAuth is live: codex mcp add qrx --url https://qrx.codes/mcp, then codex mcp login qrx.

Gemini CLI
bash
gemini mcp add --transport http --header "Authorization: Bearer $QRX_API_KEY" qrx https://qrx.codes/mcp

Or in ~/.gemini/settings.json (note httpUrl, which selects Streamable HTTP):

json
{  "mcpServers": {    "qrx": {      "httpUrl": "https://qrx.codes/mcp",      "headers": { "Authorization": "Bearer $QRX_API_KEY" }    }  }}
Agent Skills (any compatible agent)

The skills/qrx folder follows the Agent Skills standard, so the same skill works in Codex, Gemini CLI, GitHub Copilot, Cursor, Goose and others. Install it with the cross-agent installer:

bash
npx skills add qrxcodes/qrx-mcp

The skill expects the QRX MCP server to be connected (see your client above), or a QRX_API_KEY for the REST API.

Gemini CLI extension
bash
gemini extensions install https://github.com/qrxcodes/qrx-mcp

The extension asks for your QRX API key and stores it in your system keychain.

Any other MCP client

Point a Streamable HTTP client at https://qrx.codes/mcp and send Authorization: Bearer qrx_… (or X-API-Key: qrx_…). Clients that only speak stdio can use a bridge such as mcp-remote:

json
{  "mcpServers": {    "qrx": {      "command": "npx",      "args": ["-y", "mcp-remote", "https://qrx.codes/mcp", "--header", "Authorization:Bearer ${QRX_API_KEY}"],      "env": { "QRX_API_KEY": "qrx_live_…" }    }  }}

Tools

ToolWhat it doesRead-onlyNeeds an account
generate_qr_codeStarts a new art QR code from a prompt and a link (or Wi-Fi details on Starter). Returns the code's id straight away.NoYes
get_qr_codeGets a code's status, image and short link. Waits up to wait seconds (0 to 25, default 25) for a code that's still being painted.YesYes
list_qr_codesLists your codes, newest first, a page at a time (limit 1 to 100, default 20; pass nextCursor as cursor).YesYes
change_qr_code_destinationPoints an existing link code at a new absolute http or https URL (Starter plan). The printed code keeps working. Marked destructive, because it replaces the old destination.NoYes
get_accountShows your plan, how many codes are left today, when the count resets and what the account can do.YesYes
get_profileShows which QRX account is connected.YesYes
list_stylesLists the looks you can pass to generate_qr_code.YesNo

In clients that show interactive views (MCP Apps), such as Claude, the code also appears in a card that fills in when it is ready.

Example prompts

  1. "Make a QR code for https://example.com/menu that looks like a watercolour street of cafés."
  2. "Design a QR code for our wedding RSVP page, https://example.com/rsvp, as eucalyptus leaves and gold foil on cream paper."
  3. "I need a QR code for a gig poster that opens https://example.com/tickets. Neon synthwave city at night."
  4. "Show me the styles QRX has, then make a code for https://example.com in the one that best suits a bakery."
  5. "List my QR codes from this week and give me the short links."
  6. "The flyer code we printed last month should now open https://example.com/spring-sale instead."
  7. "How many QR codes can I still make today?"
  8. "Make three variations of a QR code for https://example.com/shop with a Japanese woodblock wave, and tell me which scans are verified."

How generation works

  • generate_qr_code returns within a few seconds with an id and status: processing. The artwork usually takes under a minute on a GPU.
  • get_qr_code then waits for up to 25 seconds per call (wait, 0–25). Agents call it again until the status is succeeded (or failed). In MCP Apps clients the card fills in with the image when it's ready.
  • A finished code includes the image URL, the short link it encodes (shortUrl: https://qrx.to/<id> on qrx.codes) and the destination it redirects to. Every code is decoded before it's marked succeeded. A code's id and short link never change.
  • Each code you start counts against your plan, even if you don't keep the result.

Plans and limits

PlanCodesRe-point linksWi-Fi codes
Free42 a dayNoNo
Starter, US$20 a monthNo daily limitYesYes

The API, the MCP server and the website share one allowance. Each key is also rate limited (30 requests a minute and 6 new codes per 10 seconds). If you hit a limit the tool returns an error; get_account shows what is left and when the daily count resets. Plans: https://qrx.codes/upgrade. Limits: qrx.codes/developers.

What this repository contains

PathFor
.claude-plugin/plugin.json, .claude-plugin/marketplace.json, .mcp.jsonClaude Code plugin and its marketplace (/plugin marketplace add qrxcodes/qrx-mcp)
skills/qrx/The qrx skill (Agent Skills standard): prompting, waiting for the code, print checks
gemini-extension.json, GEMINI.mdGemini CLI extension
server.jsonThe entry for the official MCP Registry
glama.jsonGlama maintainer claim
llms-install.mdStep-by-step set-up written for AI agents (Cline and others)

None of these files run code on your machine. They only point your client at https://qrx.codes/mcp.

Data and network use

Clients send requests only to https://qrx.codes/mcp (and, when the skill falls back to the REST API, to https://qrx.codes/v1). Each request carries your API key and the prompt, destination link and style you asked for. A finished code's imageUrl is on https://qrx.codes/media/, which redirects to QRX's image CDN.

Privacy, terms and support

QRX stores the prompts, links and images you create so they appear in your account. It doesn't read your chat history; it only sees the arguments the client sends to its tools.

Licence

The configuration files, skill and documentation in this repository are released under the MIT licence. The QRX service itself is a hosted product, governed by the QRX terms.

来源:README.md,提交 45e62cd

工具

0
工具元数据尚未被收录。

版本历史

1
  1. v1.0.0最新Oct 9, 2026