Skip to main content

qr-cow MCP server

PyPI Python License: MIT CI

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

  1. Sign in at https://qr-cow.com.
  2. Go to Dashboard → API & MCP.
  3. Click Create token. Give it a name like "Claude Desktop".
  4. 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_BASE you configure) as a Bearer header.
  • 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

License

MIT

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)

Source distribution for qr-cow-mcp 0.1.1
File Size Uploaded
qr_cow_mcp-0.1.1.tar.gz 11.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for qr-cow-mcp 0.1.1
File Interpreter ABI Platform
qr_cow_mcp-0.1.1-py3-none-any.whl Python 3 none any Details

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

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

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