QR codes for your AI agent
The hosted OpenQR MCP server hands an agent the same powers you have in the dashboard: generate static codes, create and edit dynamic ones, bulk-create from a list, organise into folders, save style themes, and read scan analytics. One endpoint, one Bearer key, 20 tools. No SDK, no glue code.
Listed in the official MCP registry as uk.openqr/qr
Drop this into your client
{
"mcpServers": {
"openqr": {
"type": "http",
"url": "https://openqr.uk/mcp",
"headers": {
"Authorization": "Bearer oqr_..."
}
}
}
}Streamable HTTP, JSON-RPC 2.0 over POST. Nothing to install: it’s a hosted server. Get the oqr_… key from the API dashboard.
What MCP gets you
MCP (the Model Context Protocol) is an open standard for letting an AI agent call external tools. Instead of writing code against the REST API, your agent connects to the MCP server, discovers the tools it exposes, and calls them itself when a request needs one. You describe the outcome in plain English; the agent picks the tool and fills in the arguments.
20 tools, 9 groups
Anything you can do in the OpenQR dashboard, an agent can do over MCP. The agent calls tools/list automatically, so you never name a tool yourself.
Generate
generate_qr- Render a static QR image as PNG or SVG, any size, optionally styled by a saved theme.
Static codes
create_static_qr- Save a static code from structured fields: wifi, contact (vCard), email, SMS, WhatsApp, location, text. No short link, not editable.
Dynamic codes
create_dynamic_qr- Create an editable code; returns its id and oqr.to short link.
update_dynamic_qr- Repoint, re-label, re-tag, re-file or restyle a code, without reprinting it.
list_dynamic_qr- List your dynamic codes with id, short URL, destination, label and status.
get_dynamic_qr- Fetch one code's full details: destination, label, type, tags, folder, status and created date.
delete_dynamic_qr- Permanently delete a code; its short link stops resolving.
Analytics
get_scans- Scan totals plus top countries, devices and referrers for a code.
Link aliases
create_link_alias- Create an extra short link that resolves where a code points; QR scans and link clicks count separately.
list_link_aliases- List the link aliases of one dynamic code.
Bulk
bulk_create_dynamic_qr- Create up to 200 dynamic codes in one call, optionally styled with a theme.
Folders
list_folders- List your folders (id and name).
create_folder- Create a folder to organise codes.
delete_folder- Delete a folder; its codes are un-filed, not deleted.
Themes
list_themes- List saved style themes so the agent can apply one by reference.
create_theme- Save a reusable style: colours, dot/corner shapes, logo, gradient, frame.
delete_theme- Delete a theme; codes already styled with it keep their look.
Branded subdomain
get_subdomain- Show the account's {name}.oqr.to subdomain, and whether it is suspended.
set_subdomain- Claim or change it, so codes also resolve at {name}.oqr.to. Pro only.
clear_subdomain- Release it. Codes stay live on the plain short link; the name becomes claimable.
Guided prompts and ready-made resources
A capable client discovers three things when it connects. Beyond the tools, the server offers 4 prompts (ready-made, multi-step flows an agent can surface in one click) and 5 style presets (readable resources it can apply to a theme). No extra setup; the same key unlocks all three.
Prompts · guided flows
create_tracked_qr- Create a repointable dynamic code and explain how to change it later.
bulk_qr_for_print- Turn a list of URLs into a batch of dynamic codes for a print run.
brand_a_qr- Save a brand style theme and apply it to a new code.
qr_scan_report- Summarise scan performance and suggest a next step.
Resources · style presets
Five ready-to-apply looks, read as openqr://preset/… and passed straight into a theme:
- Classic
- Teal Gradient
- High Contrast
- Dots
- Classy
Works with the MCP clients you already use
Most MCP clients take the same shape of config: a server name, the HTTP transport, the URL and an Authorization header. Add the block above, restart, and the tools appear.
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) · %APPDATA%\Claude\claude_desktop_config.json (Windows)
Settings → Developer → Edit Config, paste the block, save and restart. OpenQR appears under the connectors menu.
Claude Code
claude mcp add --transport http openqr https://openqr.uk/mcp --header "Authorization: Bearer oqr_..."
One command, no file to edit. Check it with claude mcp list.
Cursor
~/.cursor/mcp.json (or Settings → MCP → Add new server)
Add the block, toggle the server on; the tools become available to the agent in chat.
Cline
cline_mcp_settings.json (MCP Servers icon → Configure MCP Servers)
Add the same server entry under mcpServers and save.
OpenClaw
Its MCP config block
The self-hosted personal assistant supports MCP too: register the URL with the Bearer header.
Ask in plain English, and the agent picks the tool
- “Make a QR code for openqr.uk and save it as a 1024px PNG.”
generate_qr - “Create a dynamic code for our spring-sale page, label it Spring Sale.”
create_dynamic_qr - “That campaign moved; repoint the Spring Sale code to the new URL.”
update_dynamic_qr - “How many scans has the Spring Sale code had, and where from?”
get_scans - “Make editable codes for each of these 50 product URLs.”
bulk_create_dynamic_qr - “Save our brand style as a theme, then use it on every new code.”
create_theme
What a tool call looks like
You never write this yourself; the agent does. But here’s the raw JSON-RPC a client sends to create a dynamic code, so you can see exactly what crosses the wire. The reply hands back the new code’s id and its oqr.to short link; later, the same agent can call get_scans or repoint it with update_dynamic_qr.
curl -X POST https://openqr.uk/mcp \
-H "Authorization: Bearer oqr_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0", "id": 1, "method": "tools/call",
"params": {
"name": "create_dynamic_qr",
"arguments": {
"destination": "https://example.com/spring-sale",
"label": "Spring Sale"
}
}
}'Connect an agent to the OpenQR MCP server
Mint a free key, paste the config, and your agent can generate, edit and read scan analytics for QR codes in plain English.
Get a free key