Skip to main content

MCP server for the QR Forge API — create and manage trackable QR codes.

Project description

QR Forge MCP server

An MCP server for QR Forge — create and manage trackable QR codes (links, files, Wi-Fi, WhatsApp, phone, email) straight from an AI agent. It's a thin client over the public QR Forge REST API; it stores nothing and authenticates with your QR Forge API token.

Get a token at https://qrforge.work/api/keys.

Two ways to use it

1. Local (stdio) — install and run on your machine

uvx qrforge-mcp            # or: pipx install qrforge-mcp

Add it to your MCP client (Claude Desktop / Claude Code) — claude_desktop_config.json or .mcp.json:

{
  "mcpServers": {
    "qrforge": {
      "command": "qrforge-mcp",
      "env": { "QRFORGE_API_TOKEN": "your-token-here" }
    }
  }
}

Or with Claude Code's CLI:

claude mcp add qrforge --env QRFORGE_API_TOKEN=your-token-here -- qrforge-mcp

Environment variables:

Var Required Default Purpose
QRFORGE_API_TOKEN yes (local) Your QR Forge API token
QRFORGE_API_URL no https://qrforge.work API base URL

2. Hosted — connect to our server, no install

The hosted server runs at https://mcp.qrforge.work/mcp/. Pass your token in the X-QRForge-Token header:

claude mcp add --transport http qrforge https://mcp.qrforge.work/mcp/ \
  --header "X-QRForge-Token: your-token-here"

The hosted server sits behind Cloudflare, which strips the Authorization header on streaming requests — so use X-QRForge-Token for the hosted endpoint. (Authorization: Bearer <token> still works for local/self-hosted instances.)

The hosted server is stateless and multi-user: it forwards each request's token to the API and never stores it.

Tools

  • Identity/tokens: whoami, list_api_tokens, create_api_token, revoke_api_token
  • Discovery: list_qr_types, list_qr_styles
  • Render (no save): render_qr
  • Create: create_url_qrcode, create_whatsapp_qrcode, create_wifi_qrcode, create_phone_qrcode, create_email_qrcode, create_file_qrcode
  • Manage: list_qrcodes, get_qrcode, update_qrcode, delete_qrcode
  • Images: get_qrcode_png, get_qrcode_svg
  • Files/logo: download_qrcode_file, replace_qrcode_file, set_qrcode_logo, remove_qrcode_logo
  • Analytics: get_qrcode_history, get_qrcode_scans

style (optional, on create/render/update) is an object with keys module_drawer (square|rounded|circle|gapped|vertical_bars|horizontal_bars), fill_type (solid|radial|horizontal|vertical), fill_color, fill_color_2, back_color (hex).

File tools accept the file via file_path (local), file_url (server downloads it), or file_base64 — up to 50 MB.

Develop

pip install -e ".[dev]"
pytest -q

Run the hosted server locally:

qrforge-mcp --http --host 0.0.0.0 --port 8001     # streamable-HTTP at /mcp/
# or stdio:
QRFORGE_API_TOKEN=... qrforge-mcp

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qrforge_mcp-0.1.0.tar.gz (12.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qrforge_mcp-0.1.0-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

Details for the file qrforge_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: qrforge_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 12.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.2

File hashes

Hashes for qrforge_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4d01906a9b771d209e9bd4946b3e819e075c8e7e91677a17c487c6875612be8d
MD5 6f8ae835ea01077de2bb6d19b0b5f8c2
BLAKE2b-256 d129462f2d88d511cd3f797f972c159ffad6850181aecdf9d945f09f8187fead

See more details on using hashes here.

File details

Details for the file qrforge_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: qrforge_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.2

File hashes

Hashes for qrforge_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f44d41b7be0c450afbbd474a671fcec1447e63e162abe39f16d42ff8fd152bc1
MD5 bbdd227557769be227868759ae6a7e6a
BLAKE2b-256 9c683cc6824ecc381e6a91f6b0cd178a37861546362b6b13b33e175bb53b0ba7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page