Skip to main content
Glama
zovo-one

mcp-barcode

Barcodes in bulk

barcode_batch

Generate multiple barcodes or QR codes at once from a list of values and filenames, writing the image files to a specified output directory.

Instructions

Call this tool to draw many barcodes or QR codes at once from a list of rows, each with its own value and file name, into out_dir. Pro; the free tier does one code per call.

Input Schema

NameRequiredDescriptionDefault
textNoPrint the digits under the bars (default true)
itemsYesThe rows to draw
formatNosvg (default, free) or png (Pro)
heightNoBar height in the same units (default 80)
out_dirYesExisting directory the files are written into
out_pathNoWhere to write the file. SVG is returned inline when this is left out; PNG always needs it
overwriteNoReplace out_path if it already exists (default false)
symbologyNoDefault symbology for rows that do not name one (default code128)
module_widthNoWidth of the narrowest bar, in pixels or SVG units (default 2)
stop_on_errorNoStop at the first bad row instead of drawing the rest and reporting it (default false)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior3/5

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

The annotations already declare that this is not read-only and not destructive, and the description adds useful licensing context by noting Pro versus free-tier behavior. It does not disclose overwrite semantics, partial-failure behavior, or output-return details beyond what the schema provides.

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 two sentences, front-loaded with the main action and scope, and contains no filler. The Pro/free-tier note is compact and purposeful.

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 the rich input schema, the description is largely sufficient for selection and invocation. It could say more about file output behavior and error handling, but those details are covered substantially by the schema fields.

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 100%, so the input schema already documents all 10 parameters in detail. The description only restates the core batch concept and does not add materially new meaning beyond the schema.

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 states a specific verb and resource: draw many barcodes or QR codes at once from a list of rows. It also clarifies the batch scope and file-writing target, which distinguishes it from single-code siblings such as barcode_create or qr_create.

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?

It clearly indicates when to use the tool: for many codes at once, and notes the Pro requirement versus free-tier single-code calls. However, it does not explicitly name barcode_create or qr_create as the single-code alternatives.

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