Skip to main content
Glama
cmendezs

mcp-fattura-elettronica-it

It Archive Invoice

it__archive_invoice

Archives signed invoices for legal conservation. Stores document with SHA-256 hash, timestamp, and retention metadata per AgID circolare 65/2014, returning document_id and retention_until.

Instructions

Archive a signed invoice for conservazione sostitutiva. Stores the document with SHA-256 hash, timestamp, and retention metadata per AgID circolare 65/2014. Returns the archive metadata including document_id and retention_until date.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
format_idNoFatturaPA-1.2.3
signer_idNo
document_idNo
document_base64Yes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.7.0

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full disclosure burden and largely meets it: it reveals the operation persists a document, computes a SHA-256 hash, adds a timestamp and retention metadata under AgID circolare 65/2014, and returns archive metadata. It stops short of edge behaviors like re-archiving an existing document_id or failure handling, but the core write and safety profile is honestly disclosed.

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

Conciseness5/5

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

Three sentences with no filler: purpose first, then storage behavior, then return value. Every sentence adds distinct information, and the legal reference (AgID circolare 65/2014) earns its place as meaningful context rather than boilerplate.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The output schema covers the return shape, and the description already previews document_id and retention_until, so return handling is addressed. What's missing is the pipeline position — a clear prerequisite that the invoice must be XAdES/CAdES-signed before archiving — and any statement on idempotency or overwrite behavior for document_id, which matters for a persistence tool in a compliance workflow.

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

Parameters2/5

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

Schema description coverage is 0%, so the description needed to compensate, but it only mentions `document_id` (as return metadata) and adds `retention_until` (which is not in the schema at all). The required `document_base64`, `format_id`, and `signer_id` are left unexplained, and describing document_id as returned when the schema lists it as an input with default '' creates real ambiguity.

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 names a specific verb ('Archive') and resource ('signed invoice') plus the regulatory purpose (conservazione sostitutiva, AgID circolare 65/2014). The storage behavior ('Stores the document with SHA-256 hash, timestamp...') clearly distinguishes this from the sibling retrieval and verification tools (it__retrieve_archived_invoice, it__verify_archive_integrity, it__list_archived_invoices).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'Archive a signed invoice' implies the workflow position — the invoice must already be signed, so it should follow it__sign_fattura_xades or it__sign_fattura_cades — and 'for conservazione sostitutiva' signals the regulatory context. However, it never names alternatives or states exclusions, so an agent must infer when to use this versus the retrieve/verify/list archive siblings or it__build_pacchetto_versamento.

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