Generate branded, scan-validated QR codes (manual, AI, templates, Wi-Fi, vCard, geo).
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Your QR Branding API key (qrb_…). `Authorization: Bearer qrb_…` is accepted too. Optional: without a key the remote server runs a keyless trial (no AI, PNG up to 720 px, 20 tool calls per day per network).
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Encode a latitude/longitude pair into a geo: URI QR. Scanning opens the location in the device's default maps app.
Latitude in decimal degrees (-90 to 90).
Longitude in decimal degrees (-180 to 180).
Encode a latitude/longitude pair into a geo: URI QR. Scanning opens the location in the device's default maps app.
| Argument | Type | Description |
|---|---|---|
| latitude* | number | Latitude in decimal degrees (-90 to 90). |
| longitude* | number | Longitude in decimal degrees (-180 to 180). |
{
"type": "object",
"required": [
"latitude",
"longitude"
],
"properties": {
"latitude": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "Latitude in decimal degrees (-90 to 90)."
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "Longitude in decimal degrees (-180 to 180)."
}
}
}Encode 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.
| Argument | Type | Description |
|---|---|---|
| url | string | Personal or company website URL. |
| string | Email address. | |
| phone | string | Phone number, including country code (e.g. +1-555-867-5309). |
| lastName | string | Contact's last name. |
| firstName* | string | Contact's first name. |
| organization | string | Company or organization name. |
{
"type": "object",
"required": [
"firstName"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Personal or company website URL."
},
"email": {
"type": "string",
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"description": "Email address."
},
"phone": {
"type": "string",
"description": "Phone number, including country code (e.g. +1-555-867-5309)."
},
"lastName": {
"type": "string",
"description": "Contact's last name."
},
"firstName": {
"type": "string",
"minLength": 1,
"description": "Contact's first name."
},
"organization": {
"type": "string",
"description": "Company or organization name."
}
}
}Encode 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.
| Argument | Type | Description |
|---|---|---|
| ssid* | 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". |
{
"type": "object",
"required": [
"ssid"
],
"properties": {
"ssid": {
"type": "string",
"minLength": 1,
"description": "The Wi-Fi network name (SSID)."
},
"hidden": {
"type": "boolean",
"description": "Set true if the SSID is hidden (not broadcast). Defaults to false."
},
"authType": {
"enum": [
"WPA",
"WEP",
"nopass"
],
"type": "string",
"description": "Authentication type. Defaults to \"WPA\". Use \"nopass\" for open networks."
},
"password": {
"type": "string",
"description": "Network password. Required unless authType is \"nopass\"."
}
}
}Generate 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.
| Argument | Type | Description |
|---|---|---|
| text | string | Optional caption rendered below the QR (e.g. a slogan). |
| content* | string | The text or URL the QR will encode. Required. |
| 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. |
Generate 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.
| Argument | Type | Description |
|---|---|---|
| prompt* | 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* | 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. |
{
"type": "object",
"required": [
"prompt",
"content"
],
"properties": {
"prompt": {
"type": "string",
"minLength": 1,
"description": "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": {
"type": "string",
"minLength": 1,
"description": "The text or URL the QR will encode."
},
"logoUrl": {
"type": "string",
"format": "uri",
"description": "Optional logo URL to embed at the center."
},
"fileFormat": {
"enum": [
"png",
"svg",
"jpg",
"webp",
"pdf"
],
"type": "string",
"description": "Output format. Defaults to \"png\"."
},
"outputWidth": {
"type": "integer",
"maximum": 4096,
"minimum": 64,
"description": "Output width in pixels (raster) or viewport units (svg). 64-4096."
},
"stylePreset": {
"type": "string",
"description": "Optional style preset name (e.g. \"minimal\", \"luxury\", \"playful\"). Guides the LLM but does not override the design fully."
},
"outputHeight": {
"type": "integer",
"maximum": 4096,
"minimum": 64,
"description": "Output height in pixels (raster) or viewport units (svg). 64-4096."
}
}
}Render one of the curated templates by id, optionally overriding the encoded content, colors, or output format/size for this specific call.
| Argument | Type | Description |
|---|---|---|
| content | string | Override what the QR encodes. Defaults to the template's built-in content. |
| fileFormat | string | Output format. Defaults to "png". |
| templateId* | any | The template id (from qr_list_templates). May be numeric or string (e.g. "luxury-gold"). |
| 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. |
List the 118 pre-designed QR templates (id, name, description, preview thumbnail URL). Filter by category if the user asks for a specific style.
| Argument | Type | Description |
|---|---|---|
| category | string | Optional category filter (e.g. "business", "social", "wifi"). Omit to list all 118 templates. |
{
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "Optional category filter (e.g. \"business\", \"social\", \"wifi\"). Omit to list all 118 templates."
}
}
}| 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. |
{
"type": "object",
"required": [
"content"
],
"properties": {
"text": {
"type": "string",
"description": "Optional caption rendered below the QR (e.g. a slogan)."
},
"content": {
"type": "string",
"minLength": 1,
"description": "The text or URL the QR will encode. Required."
},
"logoUrl": {
"type": "string",
"format": "uri",
"description": "Public HTTPS URL of a logo image to embed at the center."
},
"eccLevel": {
"enum": [
"L",
"M",
"Q",
"H"
],
"type": "string",
"description": "Error-correction level (L=7%, M=15%, Q=25%, H=30%). Higher levels survive more damage but are denser."
},
"frameText": {
"type": "string",
"maxLength": 40,
"description": "Label inside the frame, max 40 characters, any language (e.g. \"Scan me\", \"View the menu\"). Defaults to \"Scan me\"."
},
"fileFormat": {
"enum": [
"png",
"svg",
"jpg",
"webp",
"pdf"
],
"type": "string",
"description": "Output format. Defaults to \"png\"."
},
"frameColor": {
"type": "string",
"description": "Frame colour in hex, also the label background. Defaults to \"#000000\"."
},
"frameStyle": {
"enum": [
"none",
"banner-bottom",
"banner-top",
"rounded-box",
"speech-bubble",
"ticket"
],
"type": "string",
"description": "Call-to-action frame around the whole QR with a short label. Never covers the QR or its quiet zone."
},
"moduleShape": {
"enum": [
"square",
"rounded",
"circle",
"dot",
"diamond",
"leaf",
"heart",
"vertical-line",
"horizontal-line"
],
"type": "string",
"description": "Shape of the small modules in the QR matrix."
},
"outputWidth": {
"type": "integer",
"maximum": 4096,
"minimum": 64,
"description": "Output width in pixels (raster) or viewport units (svg). 64-4096."
},
"outputHeight": {
"type": "integer",
"maximum": 4096,
"minimum": 64,
"description": "Output height in pixels (raster) or viewport units (svg). 64-4096."
},
"primaryColor": {
"type": "string",
"description": "Foreground/module color in hex (e.g. \"#000000\" or \"#0a84ff\")."
},
"frameTextColor": {
"type": "string",
"description": "Frame label colour in hex. Defaults to \"#FFFFFF\"."
},
"backgroundColor": {
"type": "string",
"description": "Background color in hex (e.g. \"#ffffff\"). Use \"transparent\" for no background."
},
"additionalConfig": {
"type": "object",
"description": "Escape hatch: any other QrConfig field the engine accepts (gradient stops, dot rotation, etc.). Merged on top of the structured fields above.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"finderInnerShape": {
"enum": [
"square",
"rounded",
"circle",
"dot",
"diamond"
],
"type": "string",
"description": "Shape of the inner dot of the three corner finder patterns."
},
"finderOuterShape": {
"enum": [
"square",
"rounded",
"circle",
"leaf",
"diamond"
],
"type": "string",
"description": "Shape of the outer ring of the three corner finder patterns."
}
}
}{
"type": "object",
"required": [
"templateId"
],
"properties": {
"content": {
"type": "string",
"description": "Override what the QR encodes. Defaults to the template's built-in content."
},
"fileFormat": {
"enum": [
"png",
"svg",
"jpg",
"webp",
"pdf"
],
"type": "string",
"description": "Output format. Defaults to \"png\"."
},
"templateId": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "The template id (from qr_list_templates). May be numeric or string (e.g. \"luxury-gold\")."
},
"outputWidth": {
"type": "integer",
"maximum": 4096,
"minimum": 64,
"description": "Output width in pixels (raster) or viewport units (svg). 64-4096."
},
"outputHeight": {
"type": "integer",
"maximum": 4096,
"minimum": 64,
"description": "Output height in pixels (raster) or viewport units (svg). 64-4096."
},
"primaryColor": {
"type": "string",
"description": "Override module color (hex)."
},
"backgroundColor": {
"type": "string",
"description": "Override background color (hex)."
},
"additionalConfig": {
"type": "object",
"description": "Escape hatch for any other QrConfig override the engine accepts.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
}
}