qart.uk / agents
Add this to your agent
qart.uk speaks MCP. Point Cursor, Claude Code, or any Streamable HTTP client at the endpoint below and it can resolve scanned codes, browse the free claim pool, and — with OAuth scopes the user consents to — claim codes and run the Studio.
Endpoint
https://qart.uk/api/mcp
POST only. GET returns 405. No SSE, no sessions. Protocol 2026-07-28 (stateless-first). Agents that crawl should start at /llms.txt.
Anonymous — no account
These tools work with no Authorization header:
resolve_qart_code, browse_free_pool, preview_qr_encoding, get_qr_matrix, get_dither_qr_parameters, get_credit_packs, buy_qr_outright, explain_qart.
Cursor
Settings → MCP, or paste into ~/.cursor/mcp.json:
{
"qart-uk": {
"type": "http",
"url": "https://qart.uk/api/mcp"
}
}
Claude Code
claude mcp add --transport http qart-uk https://qart.uk/api/mcp
To act as a signed-in user
Do not paste a qart.uk session cookie. It is an HttpOnly, unscoped, 30-day credential. This page cannot read it, you should not copy it out of the browser, and the MCP server rejects it outright.
Your agent registers as an OAuth client and sends the user through consent. Access tokens last 1 hour; refresh tokens last 30 days and rotate. Full flow: /auth.md.
Treat an access token like a password. Anyone holding qart:studio can
spend that account's credits; anyone holding qart:claim can claim and
retarget their codes.
Cursor (after OAuth)
{
"qart-uk": {
"type": "http",
"url": "https://qart.uk/api/mcp",
"headers": {
"Authorization": "Bearer <access_token>"
}
}
}
Claude Code (after OAuth)
claude mcp add --transport http qart-uk https://qart.uk/api/mcp --header "Authorization: Bearer <access_token>"
What will not work over MCP
- Driving the SPA, including the free dithered photo QR tool (no server side).
- Redeeming coupons or enabling adult content (browser-only, deliberately).
- Charging the user's saved card. An agent that wants more credits pays itself
(
qart:purchaseorGET /api/v1/qr).