QR Branding
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Generate branded, scan-validated QR codes (manual, AI, templates, Wi-Fi, vCard, geo).
| Author | io.github.quartzondev |
|---|---|
| Access | mixed |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 783 ms |
| Last measured | 2026-10-26 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"QR Branding": {
"url": "https://qr-branding.com/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (7)
qr_generateread-onlyGenerate a fully branded QR code with explicit control over colors, module/finder shapes, logo, caption, and output format. Use this when the user already knows the design they want.
Parameters:
content(required) — string — The text or URL the QR will encode. Required.text— string — Optional caption rendered below the QR (e.g. a slogan).logoUrl— string — Public HTTPS URL of a logo image to embed at the center.eccLevel— string — Error-correction level (L=7%, M=15%, Q=25%, H=30%). Higher levels survive more damage but are denser.frameText— string — Label inside the frame, max 40 characters, any language (e.g. "Scan me", "View the menu"). Defaults to "Scan me".fileFormat— string — Output format. Defaults to "png".frameColor— string — Frame colour in hex, also the label background. Defaults to "#000000".frameStyle— string — Call-to-action frame around the whole QR with a short label. Never covers the QR or its quiet zone.moduleShape— string — Shape of the small modules in the QR matrix.outputWidth— integer — Output width in pixels (raster) or viewport units (svg). 64-4096.outputHeight— integer — Output height in pixels (raster) or viewport units (svg). 64-4096.primaryColor— string — Foreground/module color in hex (e.g. "#000000" or "#0a84ff").frameTextColor— string — Frame label colour in hex. Defaults to "#FFFFFF".backgroundColor— string — Background color in hex (e.g. "#ffffff"). Use "transparent" for no background.additionalConfig— object — Escape hatch: any other QrConfig field the engine accepts (gradient stops, dot rotation, etc.). Merged on top of the structured fields above.finderInnerShape— string — Shape of the inner dot of the three corner finder patterns.finderOuterShape— string — Shape of the outer ring of the three corner finder patterns.
Hints: read-only yes · destructive no · idempotent yes · open-world no
qr_generate_aiGenerate a QR code where the QR Branding LLM picks colors and shapes from a natural-language prompt. Best for "make me a luxury gold dotted QR for a coffee brand" style requests.
Parameters:
prompt(required) — string — Natural-language design brief. The engine's LLM will pick colors, shapes, and style hints from this. Example: "luxury gold dots for a coffee brand".content(required) — string — The text or URL the QR will encode.logoUrl— string — Optional logo URL to embed at the center.fileFormat— string — Output format. Defaults to "png".outputWidth— integer — Output width in pixels (raster) or viewport units (svg). 64-4096.stylePreset— string — Optional style preset name (e.g. "minimal", "luxury", "playful"). Guides the LLM but does not override the design fully.outputHeight— integer — Output height in pixels (raster) or viewport units (svg). 64-4096.
Hints: read-only no · destructive no · idempotent no · open-world no
qr_list_templatesread-onlyList the 118 pre-designed QR templates (id, name, description, preview thumbnail URL). Filter by category if the user asks for a specific style.
Parameters:
category— string — Optional category filter (e.g. "business", "social", "wifi"). Omit to list all 118 templates.
Hints: read-only yes · destructive no · idempotent yes · open-world no
qr_generate_from_templateread-onlyRender one of the curated templates by id, optionally overriding the encoded content, colors, or output format/size for this specific call.
Parameters:
templateId(required) — The template id (from qr_list_templates). May be numeric or string (e.g. "luxury-gold").content— string — Override what the QR encodes. Defaults to the template's built-in content.fileFormat— string — Output format. Defaults to "png".outputWidth— integer — Output width in pixels (raster) or viewport units (svg). 64-4096.outputHeight— integer — Output height in pixels (raster) or viewport units (svg). 64-4096.primaryColor— string — Override module color (hex).backgroundColor— string — Override background color (hex).additionalConfig— object — Escape hatch for any other QrConfig override the engine accepts.
Hints: read-only yes · destructive no · idempotent yes · open-world no
qr_build_wifiread-onlyEncode Wi-Fi credentials (SSID, password, auth type, hidden flag) into a scannable Wi-Fi QR. Returns both the WIFI:... payload string and a generated QR image.
Parameters:
ssid(required) — string — The Wi-Fi network name (SSID).hidden— boolean — Set true if the SSID is hidden (not broadcast). Defaults to false.authType— string — Authentication type. Defaults to "WPA". Use "nopass" for open networks.password— string — Network password. Required unless authType is "nopass".
Hints: read-only yes · destructive no · idempotent yes · open-world no
qr_build_vcardread-onlyEncode a contact card (vCard) with first and last name, organization, phone, email and website URL into a QR. Scanning the QR adds the contact to the phone's address book.
Parameters:
firstName(required) — string — Contact's first name.url— string — Personal or company website URL.email— string — Email address.phone— string — Phone number, including country code (e.g. +1-555-867-5309).lastName— string — Contact's last name.organization— string — Company or organization name.
Hints: read-only yes · destructive no · idempotent yes · open-world no
qr_build_georead-onlyEncode a latitude/longitude pair into a geo: URI QR. Scanning opens the location in the device's default maps app.
Parameters:
latitude(required) — number — Latitude in decimal degrees (-90 to 90).longitude(required) — number — Longitude in decimal degrees (-180 to 180).
Hints: read-only yes · destructive no · idempotent yes · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.