Skip to main content
Glama
FacturX (Factur-X / ZUGFeRD e-invoicing)

FacturX (Factur-X / ZUGFeRD e-invoicing)

facturx_explain_error

Read-onlyIdempotent

Look up an EN 16931 or France 2026 e-invoicing rule, business term, or invoice JSON path to get the matching fields, BT, CII XPath, and requirement.

Instructions

Explain an EN16931 / France 2026 rule (e.g. BR-CO-15), a business term (e.g. BT-1) or an invoice JSON path (e.g. totals.gross): returns the matching invoice fields from the API's public integration contract (JSON path, BT, rule, CII XPath, requirement). Free, no API key needed. API error codes (409/503 …) are not in this public source yet.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "code_or_rule": "<code_or_rule>"
    },
    "name": "facturx_explain_error"
  }
}

Input Schema

NameRequiredDescriptionDefault
code_or_ruleYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.2

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, and openWorld, so the safety profile is covered. The description adds real context beyond them: the data source is the API's public integration contract, the returned fields are enumerated, no API key is required, and error codes 409/503 are explicitly out of scope for now.

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?

Two sentences, front-loaded with the purpose and input examples before the free/no-key and scope caveats. It is dense with parentheticals but every clause carries information an agent needs.

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?

An output schema exists, so return-value details need not be repeated, and the description correctly focuses on input formats and scope. The only gap is behavior when nothing matches (empty result vs. error), which the description does not address. Otherwise complete for a one-parameter lookup tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the single code_or_rule parameter is undocumented in the schema; the description compensates by spelling out the three accepted input families and giving an example of each. That is enough for an agent to construct a valid value, though the accepted syntax (e.g. exact casing, path format) is only shown by example.

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 gives a specific verb (explain) and resource (EN16931/France 2026 rule, business term, or invoice JSON path) and supports it with three concrete input examples (BR-CO-15, BT-1, totals.gross). It also states the return content (JSON path, BT, rule, CII XPath, requirement), which clearly separates this lookup tool from the facturx_validate/convert/dry_run siblings.

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 provides clear context for when to use it: to look up a rule, business term, or JSON path against the public integration contract, and notes it is free with no API key. It also gives one exclusion ('API error codes (409/503 …) are not in this public source yet'), effectively telling the agent when this tool will not help, though it names no alternative for that case.

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