Skip to main content
Glama

Generate QR code

generate_qr

Generate a scannable QR code (PNG or SVG) for a URL, plain text, Wi-Fi login, contact card (vCard), SMS, WhatsApp, map location, or calendar event. Every result is decode-verified server-side before it is returned. Free, no API key. Powered by HonestQR (https://qr.zalize.com).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bgNoBackground hex color, default #ffffff
fgNoForeground hex color, default #0f172a
geoNoCoordinates (type geo)
smsNoSMS fields (type sms)
dataNoPayload for type url (the link) or text (free text)
sizeNoApproximate PNG size in px
typeYesQR content type
wifiNoWi-Fi credentials (type wifi)
eventNoCalendar event fields (type event)
themeNoTheme id from list_themes (colors + optional gradient). Overrides fg/bg.
vcardNoContact card fields (type vcard)
formatNopng
ecLevelNoError correction levelM
whatsappNoWhatsApp fields (type whatsapp)

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses key behaviors: format support (PNG/SVG), server-side decode verification, and free/no API key. It does not specify the return format (e.g., binary vs base64), but covers core operational details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, efficiently front-loaded with purpose and useful behavioral info. The 'Powered by HonestQR' with a URL is slightly extraneous but does not harm clarity or structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex tool with 14 parameters, nested objects, and high schema coverage, the description plus schema is largely complete. It lacks an explicit statement of how the returned QR code is delivered (e.g., URL vs base64), a minor gap given the absent output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 93%, so the schema already provides detailed parameter meanings. The description adds no new parameter-specific details; it only lists content types that are already present in the 'type' enum.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('Generate') and resource ('QR code') with supported formats (PNG/SVG) and a comprehensive list of content types. It distinguishes itself from siblings like decode_qr (reverse operation) and generate_pixel_art_qr (artistic variant).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context on when to use this tool: for generating QR codes of many types, with no API key required and server-side verification. It does not explicitly name alternatives or exclusions, but the context is sufficient for agent selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.4/5.0
Disambiguation5/5

Each tool has a distinct purpose: decode_qr is for reading, generate_qr is standard generation, generate_pixel_art_qr is artistic generation, and list_icons/list_themes provide supporting metadata. The two generation tools are clearly differentiated by name and description.

Naming Consistency5/5

All tool names follow a consistent lowercase_snake_case verb_noun pattern (decode_qr, generate_qr, generate_pixel_art_qr, list_icons, list_themes). No mixed conventions or vague verbs.

Tool Count5/5

5 tools is an ideal size for a focused QR code utility. It covers generation, artistic generation, decoding, and option discovery without unnecessary bloat.

Completeness5/5

The domain of QR code creation/decoding is well covered: standard generation, pixel-art generation with customization, decoding with content type detection, and lookups for available icons/themes. No critical operations are missing.

Resources