Skip to main content
Glama
zovo-one

mcp-barcode

Payment QR for an invoice

invoice_payment_qr

Generate a SEPA payment QR code from an amount and reference using your shared business profile, or pass an invoice ID to read the amount from an invoice.

Instructions

Call this tool for a SEPA payment QR from just an amount and reference: IBAN and name are read from the shared business profile, never asked for; pass invoice_id instead to take the amount from an invoice.

Input Schema

NameRequiredDescriptionDefault
ibanNoOverride the IBAN in the shared business profile
nameNoOverride the beneficiary name in the shared business profile
sizeNoPNG width in pixels, 32 to 4000 (default 300). SVG scales without it
amountNoAmount in EUR. Overrides the invoice total; required when there is no invoice to read
formatNosvg (default, free) or png (Pro)
marginNoQuiet zone in modules, default 4, which is what the QR standard requires
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)
referenceNoPayment text, up to 140 characters. Defaults to the invoice number
invoice_idNoInvoice number, for example INV-2026-0007. Read from the invoice server's store if it is present
error_correctionNoL 7%, M 15% (default), Q 25%, H 30% of the code recoverable when damaged

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior3/5

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

The annotations already disclose that this is not read-only, not idempotent, and not destructive, so the description benefits from adding the data-source behavior: IBAN/name come from the shared business profile and invoice_id reads from the invoice store. However, it omits file-writing behavior and overwrite implications, and the phrase 'never asked for' sits awkwardly with the optional iban/name override parameters in 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no filler, and it prioritizes the main invocation path. It is somewhat dense and run-on, but it remains efficient for the amount of usage context it conveys.

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?

The core invocation path is explained well: amount/reference or invoice_id, with profile-sourced beneficiary data. For an 11-parameter generation tool with no output schema, however, it leaves out important output and file behavior such as inline SVG versus PNG output, Pro restrictions, and overwrite semantics.

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 schema already documents all 11 parameters and the baseline is 3. The description adds useful defaulting semantics for amount, reference, and invoice_id, but it does not cover the output/file parameters and its 'never asked for' wording conflicts with the optional iban and name overrides.

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 resource and action: obtaining a SEPA payment QR, with the key scoping conditions of amount/reference or invoice_id. It also distinguishes this invoice-oriented flow from a generic SEPA QR tool by explaining that IBAN and name come from the shared business profile.

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 says to use the tool with amount and reference, or to pass invoice_id instead when the amount should come from an invoice. It does not explicitly name when to use a sibling such as qr_payment_sepa instead, so the guidance is strong but not fully comparative.

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