Skip to main content

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

Metadata

Release files for qrforge-mcp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for qrforge-mcp 0.1.0
File Size Uploaded Provenance Actions
qrforge_mcp-0.1.0.tar.gz 12.6 kB Without provenance Details for qrforge_mcp-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for qrforge-mcp 0.1.0
File Interpreter ABI Platform Actions
qrforge_mcp-0.1.0-py3-none-any.whl Python 3 none any Details for qrforge_mcp-0.1.0-py3-none-any.whl

Total release size: 24.2 kB

Release files / qrforge_mcp-0.1.0.tar.gz

Download URL qrforge_mcp-0.1.0.tar.gz
Size 12.6 kB
Tags Source
SHA-256 checksum
How to use checksums
4d01906a9b771d209e9bd4946b3e819e075c8e7e91677a17c487c6875612be8d
BLAKE2b-256 checksum
How to use checksums
d129462f2d88d511cd3f797f972c159ffad6850181aecdf9d945f09f8187fead
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.2

Release files / qrforge_mcp-0.1.0-py3-none-any.whl

Download URL qrforge_mcp-0.1.0-py3-none-any.whl
Size 11.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f44d41b7be0c450afbbd474a671fcec1447e63e162abe39f16d42ff8fd152bc1
BLAKE2b-256 checksum
How to use checksums
9c683cc6824ecc381e6a91f6b0cd178a37861546362b6b13b33e175bb53b0ba7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.2

Security for qrforge-mcp 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page