Barcode Tools (decode, render, GTIN validate)
Server Details
Decode, render, validate barcodes: QR, DataMatrix, EAN, UPC. Free tools + x402 paid GTIN checks.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: decode, render, list formats, and validate. There is no overlap; even decode and render are opposite operations.
All tool names follow a consistent verb_noun pattern in snake_case: decode_barcode, list_formats, render_barcode, validate_gtin. This is predictable and easy to reason about.
With 4 tools, the server is well-scoped for a barcode utility. It covers the essential operations without unnecessary bloat or thinness.
Core functionality (decode, render, validate, format listing) is covered. Minor gaps like advanced rendering options (e.g., error correction level, size control) are not exposed, but the server meets typical barcode use cases.
Available Tools
4 toolsdecode_barcodeDecode barcodes from an imageAInspect
Detect and decode all barcodes in an image. Input: base64-encoded image bytes (PNG/JPEG/WebP/anything sharp reads). Output: JSON array of {format, text}. Supports QR, Aztec, DataMatrix, Code128/39/93, EAN-13/8, UPC-A/E, ITF, PDF417, Codabar. Use formats filter to restrict results.
| Name | Required | Description | Default |
|---|---|---|---|
| formats | No | Optional canonical format ids to keep, e.g. ["qr","ean13"] | |
| image_base64 | Yes | Base64-encoded image file bytes (no data: URI prefix) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the input (base64 image bytes) and output (JSON array of {format, text}), and lists supported formats. However, it does not disclose behavior on edge cases (e.g., no barcode found, invalid image, performance limits) or any side effects, which leaves some uncertainty for an agent.
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 concise sentences, front-loaded with the core purpose and followed by input/output and format details. There is no redundant or filler language; every sentence contributes to understanding how to use the tool.
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?
Given the low complexity (2 params, 1 required) and the absence of an output schema, the description adequately explains the return format (JSON array of {format, text}) and lists supported formats. It does not mention error handling or empty results, but for a straightforward decode tool, this is sufficient. The lack of annotations is compensated by the clear input/output specification.
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 100%, so both parameters are already documented in the schema. The description adds value beyond the schema by listing the specific supported barcode formats (e.g., QR, EAN-13) and clarifying that the formats filter restricts results to those canonical ids. This enriches the meaning of the formats parameter and the input format expectations.
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 opens with 'Detect and decode all barcodes in an image', clearly specifying the verb (detect and decode), the resource (barcodes in an image), and the input format. It explicitly lists supported barcode types, and the sibling tools (list_formats, render_barcode, validate_gtin) are clearly different from decoding, so this tool is unambiguously distinguished.
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 provides clear context on when to use the tool (when you have an image and need to extract barcodes) and gives a specific usage hint: 'Use formats filter to restrict results.' It does not explicitly mention alternatives or when not to use it, but the distinct purpose and input/output make the usage obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_formatsList supported symbologiesAInspect
Static table of supported barcode formats with render/decode support and notes.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. 'Static table' clearly signals a non-mutating, deterministic lookup, and specifying that it includes render/decode support and notes adds concrete behavioral content about what the result contains.
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?
A single sentence with no filler. It front-loads the key fact ('Static table'), then states the exact contents of that table. Every word contributes.
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 zero-parameter informational tool, this is nearly complete. An agent knows the tool returns a static list of formats with support flags and notes; the only minor gap is that 'notes' is vague, but it does not prevent correct invocation.
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 baseline is 4. The description does not need to clarify parameter semantics, and none are missing.
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 title 'List supported symbologies' plus the description clearly identify a static table of barcode formats with render/decode support and notes. This is unambiguously distinct from the sibling tools, which perform actions rather than listing available formats.
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 use for capability lookup, but it does not explicitly state when to choose it over decode_barcode, render_barcode, or validate_gtin. The intended context is inferable from the words 'static table', yet no explicit exclusions or alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
render_barcodeRender a barcode/QR to PNGAInspect
Render text as a barcode PNG. format: one of qr, aztec, datamatrix, code128, code39, code93, ean13, ean8, upca, itf, pdf417. Output: base64 PNG plus 'decoded' self-check flag (we decode our own render; upca intentionally verifies as zero-padded EAN-13). GTIN codes must have a valid mod-10 checksum.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Payload to encode (digits for GTIN symbologies) | |
| scale | No | Rasterization scale, default 6 | |
| format | Yes | Symbology id: qr, aztec, datamatrix, code128, code39, code93, ean13, ean8, upca, itf, pdf417 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the self-check output flag, the upca zero-padding behavior, and the mod-10 checksum requirement, which are meaningful behavioral traits beyond the schema.
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?
Concise and front-loaded: leads with the core purpose, then lists formats, output, and constraints. Every sentence carries useful information with no fluff.
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 render tool with no output schema, the description explains the output (base64 PNG + self-check flag) and the checksum constraint. It omits scale defaults (already in schema) and error behavior, but is sufficiently complete for correct invocation.
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 covers all three parameters (100%), so baseline is 3. The description adds the checksum requirement for GTIN codes, which is not in the schema, and clarifies output format, providing extra semantic value.
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?
States 'Render text as a barcode PNG' — a clear verb and resource, and lists supported formats. It does not explicitly contrast with sibling tools (decode_barcode, list_formats, validate_gtin), but the action is unambiguous and distinct from decoding or validation.
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?
Provides no guidance on when to use this tool versus alternatives. It does not mention sibling tools or any conditions that would make this tool inappropriate, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_gtinValidate a GTIN/EAN/UPC codeAInspect
Check a product code against GTIN rules: length + mod-10 checksum. Returns {valid, type: ean13|ean8|upcA|null, normalized}. Rejects codes with a broken checksum (e.g. 8595234703191).
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Candidate product code, digits only |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It accurately describes the validation logic (length + checksum), the return fields (valid, type, normalized), and includes an example of a broken checksum. It does not mention edge cases (e.g., empty strings, non-digit input) but the schema already restricts to digits, so this is sufficient.
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 two concise sentences, with the primary action front-loaded. It wastes no words and includes the necessary return details and an example. Perfectly structured for quick comprehension.
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 single-parameter validation tool, the description is complete. It explains the validation rules, the return object with its possible 'type' values, and provides a concrete example. No output schema exists, but the return is fully described. Nothing essential is missing.
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 100%, so the parameter 'code' is already described as 'digits only'. The description adds context that the code is a product code and that validation includes checksum, but it does not add new parameter-specific semantics beyond what the schema provides. Baseline 3 applies.
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 verb ('Check'), the resource ('a product code'), and the specific rules applied (length + mod-10 checksum). It also specifies the return structure, making the purpose unambiguous. Sibling tools like decode_barcode and render_barcode serve different functions (image decoding and generation), so this tool is easily distinguished.
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: you validate a code when you have a candidate string. However, it does not explicitly mention when not to use it or provide alternatives (e.g., 'Use decode_barcode for image input'). The context of siblings helps but the description itself offers no direct guidance on selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- First observed
decode_barcode - First observed
list_formats - First observed
render_barcode - First observed
validate_gtin
Related MCP Connectors
QR & barcode toolkit: generate, decode, vector SVG, logo QR, WiFi and vCard QR codes.
Generate static QR codes (URL, WiFi, vCard, pixel art) and decode QR images. Codes never expire.
Barcode / GTIN validation MCP (EAN-13, UPC-A, EAN-8, GTIN-14).
Render, validate and convert Zebra ZPL label code from AI assistants: PNG preview, lint, barcodes.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables barcode decoding from URLs, uploaded files, or raw bytes via HTTP and MCP, supporting formats like EAN13, QRCode, and DataMatrix.MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to decode and render barcodes/QR codes and validate GTINs via the Model Context Protocol, with both hosted and self-hosted deployment options.-
- AlicenseAqualityDmaintenanceMCP server for generating and decoding barcodes, QR codes, and encoding RFID EPCs according to GS1 standards. All processing is local with no network calls.5MIT
- AlicenseNot gradedqualityAmaintenanceGenerate QR codes and create, edit and track dynamic (editable) QR codes with scan analytics, folders, style themes and branded subdomain management. Free REST API with an OpenAPI spec alongside; every tool takes a free API key.7AGPL 3.0
Glama MCP Gateway
Add one secure layer between your agents and this server.