Skip to main content
Glama

e-Factura Validator (Romania)

validate_saft

Read-only

Use before filing a Romanian SAF-T (D406) with ANAF, for the full report: runs ANAF's official validator (DUKIntegrator) for the reporting period and the consistency checks it does not do offline (balanced entries, GL totals, opening + movements = closing per account, trial balance, partner balances, invoice totals, VAT = base x rate, VAT codes valid for the period, CUI/IBAN check digits, chart of accounts). Every finding has a fix in Romanian and English and the correct value where computable. Paid: $0.50 USDC via x402 (network eip155:8453), charged only if a D406 was checked; without a payment it returns the payment requirements.

Input Schema

NameRequiredDescriptionDefault
xmlYesThe SAF-T D406 XML file content, as text (up to 25 MB here; bigger files: HTTP POST /v1/saft/validate, up to 100 MB)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / xml / examples
      Added value: +[
      +  "<AuditFile xmlns=\"mfp:anaf:dgti:d406:declaratie:v1\">…</AuditFile>"
      +]
  2. Added

TDQS

A4.1/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing the payment model ($0.50 USDC via x402 on eip155:8453, charged only if a D406 was actually checked, payment requirements returned otherwise) and the 25 MB inline size ceiling. It also describes the output contract: every finding carries a fix in Romanian and English plus the correct value where computable.

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-loads the trigger ('Use before filing...') and the core action before the payment caveat. The long parenthetical list of consistency checks is informative for tool selection but is the densest part and could be trimmed.

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?

With no output schema, the description still conveys the shape of results (findings with bilingual fixes and correct values) and the unpaid-path response. It leaves the concrete response format (JSON structure, per-finding severity fields) and the failure mode for invalid XML unstated, a minor gap for a single-parameter validation tool.

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?

Only one parameter (xml) and the schema already documents it at 100% coverage, including the 25 MB limit and the larger HTTP POST route. The description adds no syntax, encoding, or format guidance for the XML payload beyond what the schema provides, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (runs ANAF's official validator plus offline consistency checks) and a specific resource (Romanian SAF-T D406 XML). 'For the full report' hints that it is the paid/full counterpart of validate_saft_free, but the sibling is never named, so differentiation is left implicit.

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?

Gives a concrete trigger ('Use before filing a Romanian SAF-T (D406) with ANAF') and states what happens when payment is absent ('it returns the payment requirements'). It never explicitly says when to prefer the free sibling or when this tool is overkill, so no exclusion guidance.

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