Back to Directory/Analytics & BI

Qrblox

Create and track QR codes, audio codes, menus, and scan analytics for a Qrblox merchant.

Analytics & BIv0.1.0

Qrblox MCP

The Model Context Protocol server for Qrblox β€” let any MCP-aware AI agent generate and manage QR codes, audio codes, menus, and loyalty campaigns.

πŸ“š Full reference: docs.qrblox.com/mcp.html 🌐 Endpoint: https://app.qrblox.com/api/mcp πŸ”‘ Mint a key: create.qrblox.com/settings/api-keys 🟒 No-key sandbox: POST https://app.qrblox.com/api/generate-qr-code

This is a public, README-only repo. The MCP server itself is deployed at the endpoint above; the canonical docs live at docs.qrblox.com/mcp.html.


What is it?

qrblox-mcp is a JSON-RPC 2.0 MCP server. Point Claude Desktop, Cursor, Codex, or any MCP client at https://app.qrblox.com/api/mcp, paste in a sk-qrblox- key, and the assistant can immediately draft QR codes (and audio codes, menus, and loyalty campaigns) and read scan analytics on a merchant workspace.

Every code created via the MCP lives on the caller's Qrblox account alongside codes made from the iOS, Android, Canva, and web surfaces.


Quick start

1. Try it free (no signup, no OAuth)

curl -X POST https://app.qrblox.com/api/generate-qr-code \
  -H 'content-type: application/json' \
  -d '{"url":"https://example.com"}'

Returns:

{
  "ok": true,
  "code": {
    "codeId": "…",
    "destinationUrl": "https://example.com",
    "qrImage":    "data:image/png;base64,…",            // inline PNG
    "qrImageUrl": "https://storage.googleapis.com/…",    // hosted PNG
    "claimToken": "…",
    "expiresAt":  "…"
  },
  "upgrade": { "signup": "https://app.qrblox.com", "apiKeys": "https://create.qrblox.com/settings/api-keys" }
}

Sandbox limits: 3 codes / IP / day, codes expire in 7 days.

2. Mint an API key

Sign in to create.qrblox.com β†’ Settings β†’ API keys β†’ New API key. Keys are sk-qrblox-<64 hex chars>, shown once, and revocable anytime.

3. Connect Claude Desktop

// ~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "qrblox": {
      "url": "https://app.qrblox.com/api/mcp",
      "headers": {
        "Authorization": "Bearer sk-qrblox-..."
      }
    }
  }
}

Restart Claude Desktop. Then ask: "Generate a QR code for https://my-spring-menu.com."

4. Or Cursor / Codex / curl

Same URL, same Authorization header.

# tools/list β€” no auth required
curl -X POST https://app.qrblox.com/api/mcp \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

# tools/call β€” create a code on your account
curl -X POST https://app.qrblox.com/api/mcp \
  -H 'authorization: Bearer sk-qrblox-...' \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
       "params":{"name":"qrblox.qr.create",
                 "arguments":{"title":"Spring menu",
                              "destinationUrl":"https://qrblox.com/menu/spring"}}}'

Tools

All tools are merchant-scoped and draft-first β€” agents propose, the merchant approves before publishing.

ToolDescription
qrblox.pingConfirm reachability + identity.
qrblox.merchant.get_profileThe merchant workspace attached to the key.
qrblox.qr.listList recent QR codes.
qrblox.qr.createCreate a draft QR code (URL, menu, offer, campaign).
qrblox.audio.createDraft an audio code (near-ultrasonic payload).
qrblox.menu.create / .list / .add_itemBuild and extend merchant menus.
qrblox.challenge.createScan streaks, scan-count games, visit-window or loyalty campaigns.
qrblox.analytics.scan_summaryTotal scans + by-day series.

Plus two REST endpoints for non-MCP callers:

EndpointAuthNotes
POST /api/generate-qr-codenone3 / IP / day, sandbox, 7-day expiry.
POST /api/bulk-qr-codesBearer sk-qrblox-...Up to 50 permanent codes per call, written to your merchant workspace.

Discovery

URLWhat it returns
GET https://app.qrblox.com/api/mcpServer info + the full tool list (no auth).
POST https://app.qrblox.com/api/mcp tools/listJSON-RPC tool discovery (no auth).
GET https://app.qrblox.com/api/generate-qr-codePublic manifest: endpoint shape, limits, upgrade path.

Full reference and connect snippets at docs.qrblox.com/mcp.html.


Errors

HTTP / JSON-RPCMeaning
400 / -32600Invalid JSON-RPC 2.0 request.
401 / -32001Missing or invalid key. data.code = NO_AUTH / INVALID_API_KEY / INVALID_TOKEN.
403 / -32001Key revoked (data.code = REVOKED).
200 / -32601Unsupported method.
200 / -32602Unknown tool.
200 / -32000Tool handler threw β€” read error.message.

Security model

  • Merchant-scoped β€” every API key is tied to one merchant workspace and one owner uid; tools can't reach another merchant's data.
  • Hashed keys β€” plaintext shown once; Firestore stores only a SHA-256 hash and a short prefix.
  • Audited β€” every tool call writes an audit entry with the caller, tool name, and status. Arguments and results are not persisted.
  • Draft-first β€” creation tools produce drafts; publishing, billing, and destructive changes stay with the merchant.

Related


License

Β© Qrblox / Terahertz Inc.

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y qrblox-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "com-qrblox-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "qrblox-mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

qrblox-mcpnpm

Compatible MCP Clients

Qrblox works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More