Skip to main content
Glama

Counterfoil

Check invoice slice

check_invoice
Read-onlyIdempotent

Read a UBL Invoice XML slice of at most 60000 characters. Returns the business terms that slice writes, the field-map gaps, and one stored note when BR-DE-15 finds no non-empty buyer reference (BT-10). evaluation is false: no Schematron runs. The result does not say the invoice passed. The XML is not stored. A larger file is the raw body of POST /v1/invoices/check, up to 1048576 bytes.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
xmlYesUBL Invoice XML. At most 60000 characters.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive/closed-world, and the description adds substantial context beyond them: no Schematron runs, the result does not assert the invoice passed, and the XML is not stored. These are exactly the caveats an agent needs to avoid misreading a successful call as a validation verdict, and nothing contradicts the annotations.

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?

Six short sentences, front-loaded with purpose and return content, and each sentence carries distinct information (returns, evaluation caveat, storage policy, size boundary). The fragment 'evaluation is false: no Schematron runs' is slightly cryptic in isolation, but no sentence is padding.

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?

With no output schema, the description takes on the burden of describing the response and does so ('business terms that slice writes, the field-map gaps, and one stored note'), plus it clarifies storage and validation semantics. For a one-parameter read tool with full annotation coverage, nothing an agent needs to call it correctly is missing.

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% for the single 'xml' parameter, and the description merely restates the 60000-character limit already encoded as maxLength in the schema. It adds no syntax, encoding, or format detail beyond the schema, so the baseline 3 for a fully documented single parameter is appropriate.

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 opens with a specific verb and resource ('Read a UBL Invoice XML slice') and immediately bounds it ('at most 60000 characters'), which is far more than a restatement of the name. It also names the concrete return content (business terms written, field-map gaps, a stored note keyed to BR-DE-15/BT-10), so an agent can distinguish it from the rule-oriented siblings (get_rule, search_rules, explain_error) at a glance.

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 gives a clear operational boundary: this tool handles slices up to 60000 characters, while a larger file goes to the raw body of POST /v1/invoices/check (up to 1048576 bytes). That routes the agent on size, but there is no explicit guidance about when to choose this tool versus the sibling rule/error tools, so it stops short of a full when/when-not/alternatives statement.

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