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.
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.
Tool Definition Quality
Average 4.3/5 across 5 of 5 tools scored.
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.
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.
5 tools is an ideal size for a focused QR code utility. It covers generation, artistic generation, decoding, and option discovery without unnecessary bloat.
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 toolsdecode_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, ...).
| Name | Required | Description | Default |
|---|---|---|---|
| image_base64 | Yes | Base64-encoded PNG image (data URI prefix allowed) |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| bg | No | Background hex color, default #ffffff | |
| fg | No | Foreground hex color, default #0f172a | |
| geo | No | Coordinates (type geo) | |
| sms | No | SMS fields (type sms) | |
| data | No | Payload for type url (the link) or text (free text) | |
| icon | No | Pixel icon id from list_icons (used when text is not given) | |
| size | No | Approximate PNG size in px | |
| text | No | Pixel text to embed (A-Z, 0-9, basic punctuation) | |
| type | Yes | QR content type | |
| wifi | No | Wi-Fi credentials (type wifi) | |
| event | No | Calendar event fields (type event) | |
| theme | No | Theme id from list_themes. Overrides fg/bg. | |
| vcard | No | Contact card fields (type vcard) | |
| format | No | png | |
| No | WhatsApp fields (type whatsapp) |
Tool Definition Quality
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| bg | No | Background hex color, default #ffffff | |
| fg | No | Foreground hex color, default #0f172a | |
| geo | No | Coordinates (type geo) | |
| sms | No | SMS fields (type sms) | |
| data | No | Payload for type url (the link) or text (free text) | |
| size | No | Approximate PNG size in px | |
| type | Yes | QR content type | |
| wifi | No | Wi-Fi credentials (type wifi) | |
| event | No | Calendar event fields (type event) | |
| theme | No | Theme id from list_themes (colors + optional gradient). Overrides fg/bg. | |
| vcard | No | Contact card fields (type vcard) | |
| format | No | png | |
| ecLevel | No | Error correction level | M |
| No | WhatsApp fields (type whatsapp) |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
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.
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.
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.
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.
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.
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.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseAqualityBmaintenanceDynamic 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 updated372MIT
- AlicenseAqualityCmaintenanceGenerates QR code PNG images from text or URLs with customizable options like size, color, and error correction level.Last updated1MIT
- AlicenseBqualityFmaintenanceEnables AI assistants to generate QR codes for URLs, text, vCard, WiFi, email, and phone numbers with customizable size, colors, and error correction.Last updated1131MIT
- Flicense-qualityDmaintenanceAn advanced MCP server for generating styled QR codes with logos, batch processing, and specialized formats like WiFi or vCards. It also provides tools to decode existing QR code images and analyze their quality or content.Last updated