Skip to main content
Glama

Barcode Tools (decode, render, GTIN validate)

Server Details

Decode, render, validate barcodes: QR, DataMatrix, EAN, UPC, PDF417. All tools free, no auth.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
98.2% over 22 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.3/5.0

Scored across 4 tools

Disambiguation5/5

Each tool targets a distinct function: decoding, rendering, format listing, and GTIN validation. There is no meaningful overlap even though decode and validate both relate to barcode content.

Naming Consistency5/5

All tools use a consistent snake_case verb_noun pattern (decode_barcode, list_formats, render_barcode, validate_gtin). This makes the intended action and target clear before reading the description.

Tool Count5/5

With four tools, the server is tightly scoped to the core barcode operations of decode, render, validate, and format discovery. No tool feels redundant, and the count is appropriate for a focused utility server.

Completeness5/5

The server covers the primary barcode lifecycle: reading existing barcodes, creating new ones, validating GTINs, and enumerating supported formats. The render self-check and format matrix avoid dead ends, and no essential operation appears to be missing.

Available Tools

4 tools
decode_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatsNoOptional canonical format ids to keep, e.g. ["qr","ean13"]
image_base64YesBase64-encoded image file bytes (no data: URI prefix)

TDQS

A4.1/5.0
Behavior3/5

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

Since no annotations are provided, the description carries the full burden of disclosing behavior. It covers input format (base64 image bytes, no data URI prefix), output shape (JSON array of {format, text}), and supported symbologies. It omits edge-case behavior such as error handling for invalid base64, empty result when no barcode is found, or image size limits—so it is adequate but not thorough.

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?

Four sentences, all substantive: purpose, input, output, and supported formats/usage tip. The phrasing is tight, though 'anything sharp reads' is informal and slightly imprecise. The structure front-loads purpose and then gives necessary I/O details.

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 2-parameter tool with full schema coverage and no output schema, the description provides what an agent needs to invoke it: input encoding, output structure, supported formats, and optional filtering. It could add failure modes, but nothing essential for a typical call is missing.

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?

With 100% schema coverage, the baseline is 3, but the description adds value by listing accepted format identifiers and explicitly saying the formats filter restricts results. This goes beyond the schema's single example and helps the agent craft valid filter values.

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 opens with 'Detect and decode all barcodes in an image,' naming a specific verb and resource. It also lists supported symbologies (QR, Aztec, DataMatrix, etc.), which effectively distinguishes this tool from siblings like render_barcode (which creates images) and validate_gtin (which validates codes).

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 intended use is clear: when you need to decode barcodes from an image. It also gives a concrete usage tip ('Use formats filter to restrict results'). However, it never explicitly contrasts with siblings or states when not to use it, so it falls one step short of a fully explicit routing.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the transparency burden. 'Static table' communicates that the call is a read-only, deterministic lookup with no side effects, and 'render/decode support and notes' previews the returned contents. It does not overpromise behavior, though it does not spell out auth or limits.

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?

A single noun phrase conveys the tool's type, scope, and returned fields with no filler. The key differentiator—static reference rather than operational tool—appears first.

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?

Given zero parameters and no output schema, the description gives enough information to call and interpret the result: a table of formats with render/decode support and notes. It omits explicit usage instructions, but for a static reference tool this is a minor gap rather than a blocking omission.

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 baseline is 4 and the description has no obligation to document arguments. The description adds no parameter-specific semantics, which is acceptable because there are none to explain.

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

Purpose4/5

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

The description identifies a specific resource—supported barcode formats—and frames the operation as a static listing, which is distinct from the active operations performed by decode_barcode, render_barcode, and validate_gtin. It does not explicitly name those alternatives, so it stops short of the strongest differentiation.

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?

Usage context is implied: an agent would call this when it needs to know which formats are supported or whether render/decode is available. There is no explicit when-to-use guidance, prerequisite note, or mention of alternatives, but the lack of parameters and the listing title make misuse unlikely.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesPayload to encode (digits for GTIN symbologies)
scaleNoRasterization scale, default 6
formatYesSymbology id: qr, aztec, datamatrix, code128, code39, code93, ean13, ean8, upca, itf, pdf417

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden and does so well by disclosing the output shape (base64 PNG plus decoded self-check flag), the self-check behavior, and the intentional UPCA-as-zero-padded-EAN-13 quirk. It does not mention error cases or side effects, but rendering is a benign operation and the key behavioral caveats are covered.

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?

Three tight sentences: one for the core action, one for the format enumeration, and one for output and validation caveats. Information is front-loaded and every sentence earns its place.

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 tool with no output schema, the description compensates by explaining the return payload and self-check flag, and it documents format constraints. It omits explicit alternative routing and potential error conditions, but for a simple 3-parameter render tool this is adequate.

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 coverage is 100%, so the baseline is 3; the schema already documents text, scale, and format with descriptions. The description adds value by naming all format options and the GTIN checksum constraint, but it does not substantially enrich the meaning of text or scale beyond what the schema provides.

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?

States a concrete action ('Render') and resource ('text as a barcode PNG'), and enumerates supported symbologies. This clearly distinguishes it from siblings decode_barcode, list_formats, and validate_gtin.

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 makes the rendering use case clear and adds practical constraints like the mod-10 checksum requirement for GTIN codes. It does not explicitly name alternatives or state when not to use the tool, but the sibling names and context make the intended usage evident.

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

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesCandidate product code, digits only

TDQS

A4/5.0
Behavior4/5

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 validation logic (length + mod-10 checksum), the exact return shape ({valid, type, normalized}), and rejection behavior with a concrete example. Minor ambiguity remains around what 'rejects' means (false vs error) and normalization semantics, but this is strong coverage for a simple tool.

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?

Two sentences, zero filler, front-loaded with the core function, then return shape and rejection example. Every clause earns its place.

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 single-parameter validation tool with no output schema, the description explains the return value and validation rule. It omits details like the meaning of 'normalized' and behavior on non-digit input, but the tool is simple enough that these are minor gaps.

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 coverage is 100%: the 'code' parameter is already described as 'Candidate product code, digits only'. The description adds no extra parameter semantics beyond echoing the schema, so the baseline of 3 applies.

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?

States a specific verb ('Check a product code') and resource ('GTIN rules') with precise criteria: length + mod-10 checksum. This clearly separates it from siblings like decode_barcode, list_formats, and render_barcode, which serve different purposes.

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?

Usage context is implied by the purpose: use when you need to validate a GTIN/EAN/UPC code rather than decode or render it. However, it never explicitly states when to use this tool instead of alternatives, and no exclusions or conditions are given.

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.

  1. 4 tool updates
    • Changeddecode_barcode1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedlist_formats1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedrender_barcode1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedvalidate_gtin1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. 4 tool updates
    • First observeddecode_barcode
    • First observedlist_formats
    • First observedrender_barcode
    • First observedvalidate_gtin

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables barcode decoding from URLs, uploaded files, or raw bytes via HTTP and MCP, supporting formats like EAN13, QRCode, and DataMatrix.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Generate 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.
    10
    AGPL 3.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables encoding 100+ barcode symbologies and decoding common 1D/2D formats, plus terminal QR codes.
    1
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables 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.
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources