Skip to main content
Glama

Create a local barcode

abox_barcode_generate

Generates verified SVG or PNG barcodes from a local payload file for Code 128, EAN/UPC, ITF, and Code 39, computing or validating retail check digits and refusing invalid inputs.

Instructions

Read exact payload text from a local file and create a verified SVG or PNG Code 128, EAN-13, UPC-A, EAN-8, ITF-14, ITF or Code 39 barcode. Retail check digits are computed or validated; invalid supplied digits are refused. Source-defined quiet zones and optional human-readable labels. Verification capacity can limit long inputs. PNG requires a local browser. Payload and completed digits are not returned.

Input Schema

NameRequiredDescriptionDefault
textNo
scaleNo
formatNosvg
heightNo
symbologyNocode128
backgroundNo#ffffff
foregroundNo#000000
input_pathYesAbsolute path of the UTF-8 payload file. Text is kept exact, including any final newline.
output_pathYesAbsolute local filesystem path. URLs and network shares are refused.
code39_checkNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.9.0

TDQS

A3.8/5.0
Behavior4/5

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

Beyond the annotations (readOnly=false, openWorld=false, destructive=false), the description discloses substantive behavior: check digits are computed or validated and invalid supplied digits are refused, source-defined quiet zones apply, verification capacity can limit long inputs, and the payload is not returned. That is real context the annotations do not carry. Minor gap: nothing about overwrite behavior at output_path.

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?

Front-loaded with the core action and supported formats, followed by constraints in a tight sequence of sentences. Dense but nearly every clause carries a distinct fact; the only soft spot is the somewhat opaque 'verification capacity can limit long inputs' phrasing.

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?

With 10 parameters, no output schema and 20% schema coverage, the description should do more. It correctly states that payload and completed digits are not returned (important since there is no output schema), but it never explains what the tool reports on success/failure or the meaning of the rendering parameters.

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 only 20%, and only input_path/output_path are documented in the schema. The description compensates partially by covering format, human-readable labels, quiet zones and digit validation, but leaves scale, height, background/foreground, code39_check and the text flag's exact meaning (human-readable captions) unexplained.

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+resource ('create a verified SVG or PNG ... barcode') and enumerates the exact symbologies supported, plus the file-based payload source. An agent can distinguish this from abox_qr_generate and abox_svg_to_image without opening any schema.

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 file-based input model and the 'PNG requires a local browser' constraint imply usage context, but there is no explicit when-to-use/when-not-to-use statement or named alternative (e.g. QR codes vs. Code 128, or when to prefer abox_svg_to_image). Usage is inferable rather than stated.

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