Not reviewed
No score, grade or rank. This listing is facts from the official MCP registry and our own checks, and it stays out of the rankings until the panel reviews it.
Generate, edit and track dynamic (editable) QR codes with scan analytics. Hosted MCP and REST API.
Facts
- MCP registry
uk.openqr/qr· 1.0.4- Endpoint
https://openqr.uk/mcp- Packages
npm@open-qr/mcp stdio- Website
- openqr.uk/api
- npm / week
- 18
- GitHub stars
- 11
- Registry entry
- updated 10 Sep 2026
From the official MCP registry, the package registries and our own checks. JSON · Markdown
Why it's listed
- It's published in the registry under openqr.uk, a namespace the registry only gives to whoever proves they control that domain.
Being indexed says nothing about quality, and nobody can pay for it. Is this yours? Ask for a review.
Tools it lists 20 · about 2,329 tokens of context · checked 26 minutes ago
| Tool | What it does | Hint |
|---|---|---|
generate_qr | Generate a static QR code from any text/URL. Returns a PNG image (or SVG markup). Requires an OpenQR API key. | |
create_dynamic_qr | Create an editable (dynamic) QR code whose destination you can change later without reprinting. Requires an OpenQR API key. | |
create_static_qr | Save a static QR code to your library from structured fields: wifi, contact (vCard), email, SMS, WhatsApp, location, text, phone or URL. Static codes bake the content into the code itself — no short link, no scan… | |
update_dynamic_qr | Edit a dynamic QR code: change its destination, label, custom short link (slug), tags or folder. Pass only the fields you want to change. Requires an OpenQR API key. | |
get_dynamic_qr | Get the full details of one of your QR codes by id: destination, short link, label, type, tags, folder, status and created date. Requires an OpenQR API key. | |
get_scans | Get scan statistics for a dynamic QR code. Requires an OpenQR API key. | |
create_link_alias | Create an extra short link (link alias) that resolves where one of your dynamic codes points: share a different slug per channel while the QR keeps its own slug, so QR scans and link clicks are counted separately. Free… | |
list_link_aliases | List the link aliases of one dynamic code. Requires an OpenQR API key. | |
list_dynamic_qr | List your dynamic (editable) QR codes — id, short URL, destination, label and status. Requires an OpenQR API key. | |
delete_dynamic_qr | Permanently delete a dynamic QR code. The short link stops working. Requires an OpenQR API key. | |
bulk_create_dynamic_qr | Create up to 200 dynamic QR codes at once. Requires an OpenQR API key. | |
list_folders | List your folders (id and name). Requires an OpenQR API key. | |
create_folder | Create a folder to organise codes. Requires an OpenQR API key. | |
delete_folder | Delete a folder (its codes are un-filed, not deleted). Requires an OpenQR API key. | |
list_themes | List your saved style themes (id, name) — apply one by passing its id or name as `theme` to generate/create/update tools. Requires an OpenQR API key. | |
create_theme | Save a reusable style theme. `style` is a QR style object (fgColor, bgColor, dotType, cornerSquareType, etc.). Requires an OpenQR API key. | |
delete_theme | Delete a saved theme. Codes already styled with it keep their look. Requires an OpenQR API key. | |
get_subdomain | Show the branded subdomain on this account ({name}.oqr.to). Reports whether it is currently suspended — a suspended subdomain redirects to the plain short link instead of serving, which happens when a Pro plan lapses.… | |
set_subdomain | Claim or change the branded subdomain so codes also resolve at {name}.oqr.to. Pro only. Codes keep working on the plain short link either way, so changing this never breaks anything already printed. Requires an OpenQR… | |
clear_subdomain | Release the branded subdomain. Codes stay live on the plain short link; only the {name}.oqr.to form stops resolving. The name becomes claimable by someone else. Requires an OpenQR API key. |
What https://openqr.uk/mcp answered to tools/list, asked without credentials. answered without the initialize handshake. The token figure is the size of the list as sent, divided by four; a model sees about that much before it calls anything. Full definitions, input schemas included, are in the listing's JSON under mcpTools.
How its tools read to an agent 0 errors · 26 warnings · 1 note
- warnTC11create_folderits one parameter, name, has no description
- warnTC11create_theme1 parameter without a description: name
- warnTC11delete_folderits one parameter, id, has no description
- warnTC11delete_themeits one parameter, id, has no description
- warnTC13create_static_qrfields (object with no properties)
- warnTC13create_themestyle (object with no properties)
- warnTC16bulk_create_dynamic_qrno readOnlyHint or destructiveHint
- warnTC16clear_subdomainno readOnlyHint or destructiveHint
- warnTC16create_dynamic_qrno readOnlyHint or destructiveHint
- warnTC16create_folderno readOnlyHint or destructiveHint
- warnTC16create_link_aliasno readOnlyHint or destructiveHint
- warnTC16create_static_qrno readOnlyHint or destructiveHint
- warnTC16create_themeno readOnlyHint or destructiveHint
- warnTC16delete_dynamic_qrno readOnlyHint or destructiveHint
- warnTC16delete_folderno readOnlyHint or destructiveHint
- warnTC16delete_themeno readOnlyHint or destructiveHint
- warnTC16generate_qrno readOnlyHint or destructiveHint
- warnTC16get_dynamic_qrno readOnlyHint or destructiveHint
- warnTC16get_scansno readOnlyHint or destructiveHint
- warnTC16get_subdomainno readOnlyHint or destructiveHint
- warnTC16list_dynamic_qrno readOnlyHint or destructiveHint
- warnTC16list_foldersno readOnlyHint or destructiveHint
- warnTC16list_link_aliasesno readOnlyHint or destructiveHint
- warnTC16list_themesno readOnlyHint or destructiveHint
The first 24 of 27; every finding is in the listing's JSON under mcpTools.check.
The checks from /check and anchor check, run each day on the list above: about 2,329 tokens of definitions. Not part of the score yet. Check your own server.