Skip to content
UseQR

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, q all work, as do size and width. Every guess that works is a retry that never happened.
  • Errors that teach. Every 4xx is application/problem+json with a fix field 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.

  • A free QR code API with no keyUseQR'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…