qr-cow MCP server
An MCP server that exposes the customer-facing qr-cow.com API to any MCP-compatible AI client (Claude Desktop, Claude Code, Cursor, Zed, …).
Once connected, you can say things like:
"Make a QR code that goes to https://my-cafe.com/menu, call it Café menu" "Render a styled QR for https://acme.com in the ocean preset, 600px" "Show me which countries scanned my café menu last week" "Change the destination of the café menu QR to /menu-v2"
…and the assistant calls the API on your behalf.
1. Create a token
- Sign in at https://qr-cow.com.
- Go to Dashboard → API & MCP.
- Click Create token. Give it a name like "Claude Desktop".
- Copy the
qrc_live_…value that appears. It's shown once.
2. Wire it into your MCP client
Claude Desktop / Claude Code
Add to ~/.claude.json (or your platform's equivalent config):
{
"mcpServers": {
"qr-cow": {
"command": "uvx",
"args": ["qr-cow-mcp"],
"env": {
"QRCOW_API_TOKEN": "qrc_live_..."
}
}
}
}
Restart the client. You should see qr-cow tools listed.
Cursor / Zed
Same shape — pass command, args, and an env block with
QRCOW_API_TOKEN. See their MCP docs for the exact key.
Self-hosted qr-cow
Set QRCOW_API_BASE (defaults to https://qr-cow.com/api) to point at
your install:
"env": {
"QRCOW_API_TOKEN": "qrc_live_...",
"QRCOW_API_BASE": "https://your-host/api"
}
Tools
| Tool | What it does |
|---|---|
create_qrcode |
Create and save a static or dynamic QR (URL, Wi-Fi, vCard, …) in your account. |
render_styled_qrcode |
Render a fully styled QR image (dot/eye shapes, gradient, logo) from data plus a preset or style, without saving it. Returns the image. |
list_qrcodes |
List recent QR codes in your account. |
get_qrcode |
Fetch one QR code with its current destination + design. |
update_qrcode_destination |
Change a dynamic QR's destination — the printed code keeps working. |
delete_qrcode |
Soft-delete a code. |
get_qrcode_analytics |
Scans, unique scanners, country / device / hour-of-day breakdown. |
me |
The signed-in user's profile + current plan. |
Develop locally
git clone https://github.com/qrcow/qr_cow_mcp.git
cd qr_cow_mcp
uv venv && source .venv/bin/activate
uv pip install -e ".[dev]"
pytest
# Try it out — auth doesn't matter for startup
QRCOW_API_TOKEN=qrc_live_local QRCOW_API_BASE=http://localhost:8080/api qr-cow-mcp
The server speaks stdio, so the easiest way to manually exercise it is through an MCP client.
Privacy & security
- The server is a thin pass-through: your token stays in your MCP client
config and is only ever sent to the qr-cow API (or the
QRCOW_API_BASEyou configure) as aBearerheader. - No telemetry, no third-party calls. Requests carry a
User-Agent: qr-cow-mcp/<version>header so the API can distinguish MCP traffic.
Contributing & releases
- CONTRIBUTING.md — dev setup, style, how to send a PR.
- CHANGELOG.md — what changed in each release.
- RELEASING.md — how maintainers cut a release (tag → CI → PyPI).
License
Metadata
Release files for qr-cow-mcp 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| qr_cow_mcp-0.1.1.tar.gz | 11.7 kB | Without provenance | Details for qr_cow_mcp-0.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| qr_cow_mcp-0.1.1-py3-none-any.whl | Python 3 | none | any | Details for qr_cow_mcp-0.1.1-py3-none-any.whl |
Total release size: 20.8 kB
Release files / qr_cow_mcp-0.1.1.tar.gz
| Download URL | qr_cow_mcp-0.1.1.tar.gz |
|---|---|
| Size | 11.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4f56b350d9aaf3b6150e5704bb214ff4e91a75077e3b1e129d752da4e2f664f2
|
|
BLAKE2b-256 checksum How to use checksums |
3a3137f671354d856c0a84e6e81096aa83a27b123b5b17ca7eea8786d2c7968f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.2
|
Release files / qr_cow_mcp-0.1.1-py3-none-any.whl
| Download URL | qr_cow_mcp-0.1.1-py3-none-any.whl |
|---|---|
| Size | 9.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4bf2b0cbb664ca29cc9af99b3d213d3404859de7b29f57d2513cac724e1450f6
|
|
BLAKE2b-256 checksum How to use checksums |
4c082953d8ad30c2c9ca352009752f782baeb966a176b115bd9a36c49cb63389
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.2
|
Security for qr-cow-mcp 0.1.1
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.