Skip to main content
Glama

Api2Pdf MCP by usefulapi

Generate barcode / QR code (Zebra)

api2pdf_generate_barcode
Destructive

Generate a barcode or QR code image. format is the symbology (e.g. 'QRCode', 'Code128', 'PDF417', 'DataMatrix') and value is the string to encode. Returns a { FileUrl } (valid ~24h) by default, or base64 with output_binary:true. BILLED. Api2Pdf API: GET /zebra.

Input Schema

NameRequiredDescriptionDefault
valueYesThe string to encode in the barcode/QR code.
widthNoImage width in pixels.
formatYesBarcode/QR symbology, e.g. 'QRCode', 'Code128', 'PDF417', 'DataMatrix'.
heightNoImage height in pixels.
showlabelNoIf true, render the encoded value as a human-readable label under the barcode.
output_binaryNoIf true, return the raw image bytes as base64 instead of a FileUrl. Default false.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema 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. First observed

TDQS

A4/5.0
Behavior4/5

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

With only destructiveHint=true in annotations, the description carries most of the burden and delivers real context: the return shape ({ FileUrl } valid ~24h), the base64 alternative via output_binary:true, and the fact that calls are BILLED. It does not explain why destructiveHint is set or what permissions/auth are needed, so it isn't fully transparent.

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 action, then parameter clarification, return value, billing flag, and endpoint in five compact sentences. Nothing is padding, though the endpoint string adds little for an agent selecting the tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, and the description compensates by describing the return value, its ~24h validity, and the base64 variant. Combined with 100% parameter coverage in the schema, an agent has everything needed to call and interpret the result.

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 schema already documents all six parameters. The description restates format and value and adds a small note on output_binary's effect, but adds no syntax, default, or format-list detail beyond the schema — baseline 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+resource ("Generate a barcode or QR code image") and immediately grounds it with the two required inputs. It is unambiguous against every sibling, all of which are PDF/image conversion or file-management tools.

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 only implied: the description notes it is BILLED and maps to GET /zebra, but never says when to choose this over siblings or when not to call it. No prerequisites or alternatives are named, leaving the agent to infer it is the only barcode path.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.