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
Authorizationheader on streaming requests — so useX-QRForge-Tokenfor 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4d01906a9b771d209e9bd4946b3e819e075c8e7e91677a17c487c6875612be8d
|
|
| MD5 |
6f8ae835ea01077de2bb6d19b0b5f8c2
|
|
| BLAKE2b-256 |
d129462f2d88d511cd3f797f972c159ffad6850181aecdf9d945f09f8187fead
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f44d41b7be0c450afbbd474a671fcec1447e63e162abe39f16d42ff8fd152bc1
|
|
| MD5 |
bbdd227557769be227868759ae6a7e6a
|
|
| BLAKE2b-256 |
9c683cc6824ecc381e6a91f6b0cd178a37861546362b6b13b33e175bb53b0ba7
|