Skip to main content
Glama
stornoro

Storno CLI

Official
by stornoro

declaration_validate_xml

Read-onlyIdempotent

Validates ANAF tax declaration XML files with ANAF's own DUKIntegrator validators, returning official errors and warnings verbatim, plus a namespace-corrected XML, so you can fix issues before filing in SPV.

Instructions

Validate an ANAF tax declaration XML (D212 Declaratia unica, C168 rent contract registration, D177, D700, D100, D112, D300, D390, D394 …) with ANAF's own DUKIntegrator validators, the same jars the ANAF portal uses. Public endpoint: no account needed, nothing is stored, 60 requests/hour per IP. Returns ANAF's errors and warnings verbatim. When the root namespace is missing or belongs to another reporting period, Storno applies the namespace ANAF asks for and returns the corrected XML (namespaceCorrected=true): upload that one. Use it before filing in SPV, or in a build → validate → fix loop when assembling a declaration from a taxpayer's documents.

Input Schema

NameRequiredDescriptionDefault
xmlYesThe declaration XML document (max 4 MB)
typeNoForm code, e.g. D212, C168, D300. Inferred from the root element when omitted.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.0.28

TDQS

A4.1/5.0
Behavior5/5

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

Annotations only cover the read-only/idempotent/closed-world profile, and the description adds genuinely non-obvious behavior: rate limit of 60 requests/hour per IP, no account required, nothing persisted, verbatim error/warning return, and the crucial namespace auto-correction that returns a modified XML with namespaceCorrected=true rather than failing. That last detail changes how an agent must handle the response, so it is high-value context beyond 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?

Dense but front-loaded: what it does, then safety/limits, then the namespace-correction caveat, then when to use it. Every sentence carries information, though the long parenthetical form-code list is the least essential part.

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?

Despite having no output schema, the description explains what comes back (verbatim ANAF errors and warnings, plus corrected XML flagged by namespaceCorrected) and when to re-upload the corrected document. Combined with rate-limit and no-auth facts, an agent has everything needed to call it correctly.

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 coverage is 100%, so both parameters are already documented, including the type-inference behavior and the 4 MB cap. The description adds the list of supported form codes (D212, C168, D300 ...), which enriches the mental model of the `type` parameter, but it does not clarify formats or edge cases beyond the schema.

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 and resource ('Validate an ANAF tax declaration XML') and names the exact validator engine (ANAF's DUKIntegrator jars), which is far more specific than the tool name alone. It does not explicitly distinguish itself from the sibling declarations_validate, so the reader must infer that this one is stateless/raw-XML while the sibling works on stored declarations.

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 clear triggering contexts: 'Use it before filing in SPV, or in a build → validate → fix loop when assembling a declaration from a taxpayer's documents.' That is actionable guidance, though no explicit exclusions or named alternatives (e.g. vs. declarations_validate) are provided.

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

Deploy Server

Other Tools