Developers & agents
QR codes from an AI agent: the UseQR MCP server
UseQR runs a keyless MCP server over Streamable HTTP at /api/mcp. One command adds it to Claude; a few lines of JSON add it to Cursor or Copilot. Agents can generate, build typed payloads, decode images and verify that a styled code still scans.
Add it
claude mcp add --transport http useqr https://useqr.app/api/mcp
Or as configuration:
{
"mcpServers": {
"useqr": { "type": "http", "url": "https://useqr.app/api/mcp" }
}
}
No authentication. No account. Nothing to rotate, and nothing to leak into a dotfile or a public repository.
Per-surface instructions: Claude · ChatGPT · Cursor · Copilot · n8n, Zapier and Make.
What the tools do
| Tool | Purpose |
|---|---|
| Generate | Any payload, with full styling options |
| Typed builders | WiFi, vCard, UPI, PIX, EPC, calendar, geo and more, validated against the real specs |
| Decode | Read a QR code out of an image |
| Verify | Render a styled code, rasterise it, decode it back, and report whether it survived |
Verify is the one that matters most for an agent. Generating a branded code is easy; knowing whether it still scans is not something a model can determine by reasoning about the pattern.
If you have no MCP client
The API is keyless, so an agent can use it with no setup at all:
https://useqr.app/q/hello.png
That drops straight into a markdown image tag, which is often exactly what an assistant wants to emit inline.
Why this API suits agents
- No signup. An agent cannot complete a signup flow, so a tool requiring one is a tool it will not use.
- Idempotent GET. Safe to retry and safe to cache.
- Deterministic. Same parameters, same bytes — reproducible in tests.
- Liberal aliases.
data,text,content,url,qall work, as dosizeandwidth. Every guess that works is a retry that never happened. - Errors that teach. Every 4xx is
application/problem+jsonwith afixfield containing a corrected call. - A stability contract. v1 shapes never break; parameters are only ever added. Safe to hardcode.
Machine-readable surface
/llms.txt — the index · /llms-full.txt — the full
surface inline · /api/openapi.json — OpenAPI 3.1 with no security
schemes, so it imports as a GPT Action with authentication set to None.
Every documentation page here is also served as plain markdown at {path}.md.
FAQ
Does the UseQR MCP server need an API key?
No. It is unauthenticated Streamable HTTP. There is nothing to request, store or rotate.
What can an agent do with it?
Generate QR codes with full styling, build validated typed payloads such as WiFi and UPI, decode codes from images, and verify that a styled code still decodes.
Can I use it without an MCP client?
Yes. The REST API is keyless, and the shortest form — /q/hello.png — works inline in a markdown image tag with no setup at all.
Is it safe to hardcode the endpoint?
Yes. The stability contract is that v1 endpoint shapes never break, parameters are only added, and static generation stays free and unmetered.
Related
- A free QR code API with no key — UseQR's REST API needs no signup, no API key and no SDK. GET /api/v1/qr?data=hello returns a PNG. The shortest form is /q/hello.png, which drops straight…