Skip to main content
Glama

HonestQR

Server Details

Generate static QR codes (URL, WiFi, vCard, pixel art) and decode QR images. Codes never expire.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.3/5 across 5 of 5 tools scored.

Server CoherenceA
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.

Available Tools

5 tools
decode_qrDecode QR codeAInspect

Decode a QR code from a PNG image (base64). Returns the raw payload and its detected content type (url, wifi, vcard, sms, geo, event, ...).

ParametersJSON Schema
NameRequiredDescriptionDefault
image_base64YesBase64-encoded PNG image (data URI prefix allowed)
Behavior4/5

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

With no annotations provided, the description carries the full behavioral burden. It discloses the input format (PNG base64), the operation (decoding), and the output (raw payload and content type). This goes beyond the tool name, though it omits potential error cases or side-effect statements, which are less critical for a simple decode operation.

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

Conciseness5/5

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

The description is a single, information-dense sentence that starts with the primary action and includes essential output details. Every word contributes, with no fluff or repetition.

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

Completeness5/5

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

For a tool with one parameter and no output schema, the description covers both input and output, including a list of expected content types. It is self-contained and sufficient for an agent to understand the tool's behavior and expected results.

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?

The schema already provides 100% coverage with a detailed description of image_base64. The description adds a brief mention that the input is a PNG image in base64, but this largely repeats what the schema states. Since schema coverage is high, a baseline of 3 is appropriate, and the description adds marginal extra meaning.

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 the tool's function with a specific verb and resource: 'Decode a QR code from a PNG image'. It also mentions the return value (raw payload and content type), and the sibling tools (e.g., generate_qr) confirm the distinct purpose of decoding vs generation.

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

Usage Guidelines3/5

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

The description implies usage by its contrast with sibling tools like generate_qr, but it does not explicitly state when to use this tool over alternatives or any exclusions. There is no mention of prerequisites or when not to use it, so guidance is merely implied.

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

generate_pixel_art_qrGenerate pixel-art QR codeAInspect

Generate an artistic QR code with pixel art embedded via a halftone technique: pixel text (up to 8 Latin characters/digits) or one of the built-in pixel icons, plus optional gradient color themes. The QR stays fully scannable (error correction H + server-side decode verification). Use list_icons and list_themes to see available options.

ParametersJSON 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)
iconNoPixel icon id from list_icons (used when text is not given)
sizeNoApproximate PNG size in px
textNoPixel text to embed (A-Z, 0-9, basic punctuation)
typeYesQR content type
wifiNoWi-Fi credentials (type wifi)
eventNoCalendar event fields (type event)
themeNoTheme id from list_themes. Overrides fg/bg.
vcardNoContact card fields (type vcard)
formatNopng
whatsappNoWhatsApp fields (type whatsapp)
Behavior4/5

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

With no annotations, the description carries full behavioral burden. It discloses the halftone technique, pixel text length limit, icon support, gradient themes, and crucially the scannability guarantee (error correction H + server-side decode verification). It does not mention output format, but adds substantial transparency beyond a bare description.

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

Conciseness5/5

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

The description is three sentences with no waste. The main purpose is front-loaded, followed by key constraints and helpful pointers to sibling tools. Every sentence adds value.

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

Completeness3/5

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

This is a complex tool with 15 parameters and no output schema. While the description explains the artistic layer and scannability, it does not state the supports QR content types (url, wifi, vcard, etc.) or the return format. It leans on the schema for content types, but without an output schema, the return value is unspecified.

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

Parameters4/5

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

Schema coverage is high (93%), so the baseline is 3. The description adds useful semantic detail: it clarifies that 'text' accepts up to 8 Latin characters/digits, that 'icon' uses built-in pixel icons, and that 'theme' provides gradient color themes. It also names the listing tools, enhancing the parameter understanding.

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 uses a specific verb ('Generate') and resource ('artistic QR code with pixel art embedded via halftone technique'). It clearly distinguishes this tool from the sibling generate_qr by emphasizing artistic customization, and it also points to related listing tools.

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 for when to use the tool—when an artistic or customized QR code is desired—and directs users to list_icons and list_themes for available options. It lacks explicit exclusions or direct comparison to generate_qr, but the context is sufficient for basic selection.

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

generate_qrGenerate QR codeAInspect

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).

ParametersJSON 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)
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.

list_iconsList pixel iconsAInspect

List the built-in pixel icon ids for generate_pixel_art_qr, with an ASCII preview of each 16x16 icon.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

With no annotations, the description carries the full burden for behavioral disclosure. It explicitly states that the tool returns icon IDs and includes an ASCII preview of each 16x16 icon, which are the key behaviors. For a read-only listing tool, this is sufficient and transparent, though it does not mention performance or return format details beyond the preview.

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

Conciseness5/5

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

The description is a single sentence, front-loaded with the main action, and every phrase adds value: 'built-in', 'for generate_pixel_art_qr', and 'ASCII preview of each 16x16 icon' all contribute to understanding. There is zero waste.

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

Completeness5/5

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

For a simple, zero-parameter listing tool with no output schema, the description is complete. It explains the purpose, the output (IDs and ASCII preview), and the target tool (generate_pixel_art_qr), which is sufficient for an agent to understand what to expect and when to invoke it.

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

Parameters4/5

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

The tool has zero parameters, so the schema provides no meaning to add. Per the rubric baseline, 0 params warrants a 4. The description does not need to explain any parameter semantics because there are none.

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 uses a specific verb ('List') and identifies the exact resource ('built-in pixel icon ids') and connects it to 'generate_pixel_art_qr', distinguishing it from the sibling tool 'list_themes'. It clearly states the tool's purpose and output, leaving no ambiguity about what it does.

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 implies when to use this tool: when you need icon IDs for generate_pixel_art_qr. It provides clear context but does not explicitly mention alternatives or when-not-to-use scenarios, though the sibling list_themes suggests a natural parallel for themes. This is clear context without exclusions.

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

list_themesList QR color themesAInspect

List the available color themes (solid and gradient) for generate_qr and generate_pixel_art_qr.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 states the tool lists themes and adds useful context that themes are 'solid and gradient'. It implies a read-only operation and does not mention any side effects, which is appropriate for a simple list tool. It could be more explicit about return format, but the description is clear enough.

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

Conciseness5/5

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

The description is a single sentence that is front-loaded and contains no filler. It provides the essential information (what is listed, for whom) in a compact form, making every word valuable.

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

Completeness5/5

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

For a tool with no parameters, no output schema, and no annotations, the description is complete. It states what the tool returns (a list of themes) and its purpose (for QR generation tools), which is sufficient for an agent to correctly invoke it.

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

Parameters4/5

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

The tool has zero parameters, and the schema is 100% covered. With no parameters, the description does not need to explain parameter semantics; the baseline for zero parameters is 4, and the description adds no unnecessary detail.

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 the tool lists available color themes, specifically for generate_qr and generate_pixel_art_qr. It uses the specific verb 'list' and a well-defined resource, and it distinguishes itself from sibling tools like list_icons by naming the target tools.

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 implies when to use this tool: when you need a color theme to pass to the QR generation tools. It does not explicitly mention exclusions or alternatives, but the context is clear and sufficient for a simple list operation.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Dynamic QR code platform for AI agents. Create, customize, and track QR codes without regenerating images. 37 tools covering 11 QR types (URL, vCard, WiFi, event…).
    Last updated
    37
    2
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Generates QR code PNG images from text or URLs with customizable options like size, color, and error correction level.
    Last updated
    1
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources