Skip to main content
Glama
This connector has been deprecated

generate_epc_code

Build a static EPC/SEPA payment payload (EPC069-12, the GiroCode/BezahlCode European banks scan) and optionally render it as a QR image. Returns the payload string by default. Static and untracked — nothing is saved to the library. Requires an OpenQR API key.

Input Schema

NameRequiredDescriptionDefault
bicNoOptional BIC, 8 or 11 chars.
ibanYesIBAN, with or without spaces (checksum-validated).
nameYesBeneficiary name, ≤70 chars.
sizeNoImage size, 96–2048 (default 512).
textNoUnstructured remittance text, ≤140 chars. Mutually exclusive with reference.
forceNoBuild even when validation reports problems (they return as warnings).
amountNoOptional EUR amount, e.g. 12.34.
formatNoReturn a rendered image instead of the payload string.
purposeNoOptional 4-character purpose code.
referenceNoISO 11649 creditor reference, ≤35 chars. Mutually exclusive with text.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

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 full burden and does well: it discloses the default return ('Returns the payload string by default'), the absence of persistence ('nothing is saved to the library'), and an auth requirement ('Requires an OpenQR API key'). It does not cover validation-failure behavior in prose (that is left to the 'force' parameter schema) or any rate limits, so it is strong but not exhaustive.

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 short sentences, zero filler, and the core purpose plus the standard is front-loaded before the return/side-effect and auth caveats. Nothing is redundant with the schema.

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 10-parameter, no-annotation, no-output-schema tool, the description supplies the essentials: what is produced, default return type, and that nothing is persisted. Error semantics and the exact warning format when validation fails are not described, but the 'force' parameter schema partially covers that, leaving only a minor gap.

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 every parameter including mutual exclusivity of text/reference and the size range. The description adds only that image rendering is optional and the payload string is the default, which marginally clarifies the 'format' parameter. Baseline 3 is appropriate when the schema does the heavy lifting.

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 and resource ('Build a static EPC/SEPA payment payload (EPC069-12...), optionally render it as a QR image') and pins the exact standard involved. This clearly separates it from the analogous generate_pix_code/generate_upi_code (other payment schemes) and from generic create_static_qr, so an agent can discriminate without opening schemas.

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?

'Static and untracked — nothing is saved to the library' tells the agent the key condition: this is a fire-and-forget build, not the tracked-QR flow offered by create_dynamic_qr. It also flags the 'Requires an OpenQR API key' prerequisite. It stops short of explicitly naming the alternative to use when tracking is wanted, so it is clear context rather than full when/when-not routing.

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.

Resources