Skip to main content
Glama
stornoro

Storno CLI

by stornoro

declaration_pdf

Generates ANAF-accepted PDFs from validated declaration XML, embedding XML and optional attachments for upload or local saving.

Instructions

Produce the PDF ANAF accepts for upload: DUKIntegrator renders the validated XML into ANAF's PDF form with the XML embedded and, where required (C168), a zip of attachments embedded (the scanned contract for a registration, the addendum for an amendment, the termination document or the landlord's sworn statement — document_generate — for a termination). Pass local file paths in attachmentPaths and/or base64 attachments (PDF, JPG, PNG, TIFF; 10 MB total). With outFile the PDF is written locally, ready for agent_submit_declaration_pdf (qualified certificate) or manual upload in SPV. Public, nothing stored.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
xmlYesThe validated declaration XML from declaration_build
typeYesForm code, e.g. C168
outFileNoPath where the PDF is written; when omitted the response carries pdfBase64
attachmentsNo
attachmentPathsNoLocal files to put in the zip

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.0.28

TDQS

A4.4/5.0
Behavior5/5

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

The description discloses key behaviors: it renders XML, embeds attachments, enforces a 10 MB total attachment limit, supports specific file types, and states that nothing is stored ('Public, nothing stored.'). It also clarifies that the output is ready for a separate submission step, which informs side-effect expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a long, dense paragraph with multiple clauses and a parenthetical list of possible attachments. While information-rich, it could be broken into clearer sections or bullets for easier parsing. The structure is functional but not optimal.

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?

Given the complexity of the tool, the description covers the essential use cases: input XML, type-specific requirements, attachment handling, output destination, and downstream steps. It lacks an explicit description of the response format when outFile is omitted, but the schema covers that, and the description is sufficient for correct invocation.

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?

The description adds meaningful context to the schema: it explains that 'xml' is validated XML, gives an example for 'type' (C168), clarifies that 'attachmentPaths' and 'attachments' are for local files and base64 content respectively, and specifies the attachment size and format constraints. This goes beyond the schema's straightforward definitions.

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 clearly states that the tool produces a PDF that ANAF accepts for upload, transforming validated XML into the required PDF form and embedding attachments when needed. It explicitly mentions the output (PDF) and its purpose (ready for submission).

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 specific guidance on when attachments are required (C168), how to pass them (attachmentPaths or base64), and the output options (outFile or pdfBase64). It indirectly contrasts with submission tools like agent_submit_declaration_pdf, but does not explicitly enumerate alternative tools for similar tasks.

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