Skip to main content
Glama

Server Details

Italian tax tools: CF, VAT, IBAN, ATECO, forfettario, IMU, F24, FatturaPA + payee anti-fraud. Free.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.4/5 across 17 of 17 tools scored. Lowest: 3.8/5.

Server CoherenceA
Disambiguation5/5

Each tool has a clearly distinct purpose: tax calculations, F24 composition, INTRASTAT handling, codice fiscale generation/validation, lookups, parsing, verification, etc. Even parsing tools differ by including verification. No ambiguity.

Naming Consistency5/5

All tools follow a consistent verb_noun snake_case pattern: calc_, compose_, generate_, intrastat_, lookup_, parse_, validate_, verify_. No mixing of conventions.

Tool Count4/5

17 tools is slightly above the ideal range but still reasonable for a comprehensive Italian tax and administrative server. Each tool serves a specific need, and none seem redundant.

Completeness4/5

The tool set covers a wide range of Italian tax and administrative tasks: tax calculations, F24, INTRASTAT, codice fiscale, ATECO, CAP, fattura PA, IBAN/IVA/PEC validation, and anti-fraud verification. Minor gaps like missing IRPEF or TASI exist but are outside the server's stated scope.

Available Tools

17 tools
calc_forfettarioCalcolatore Regime ForfettarioA
Read-onlyIdempotent
Inspect

Calcola imposta sostitutiva e contributi INPS del regime forfettario italiano dal fatturato e (opzionale) codice ATECO. Gratis (€0), deterministico, nessun login richiesto.

ParametersJSON Schema
NameRequiredDescriptionDefault
atecoNoCodice ATECO per derivare il coefficiente di redditività (opzionale).
ricaviYesRicavi/compensi annui in euro.
startupNoAliquota startup 5% per i primi 5 anni (default false → 15%).
coefficienteNoCoefficiente di redditività in % (override manuale, opzionale).
riduzione_35NoRiduzione contributiva INPS del 35% (artigiani/commercianti).
gestione_inpsNoGestione previdenziale INPS/cassa (opzionale).
contributi_cassa_privataNoContributi cassa privata già versati, in euro (opzionale).
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds transparency by stating 'Gratis (€0), deterministico, nessun login richiesto', which are behavioral traits not covered by annotations.

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?

The description is a single sentence followed by a short phrase, front-loaded with the main action. No wasted words.

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?

With 7 parameters and no output schema, the description identifies what is calculated (imposta e contributi) but does not specify return format or additional details like calculation constraints. Adequate but not complete.

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 description coverage is 100%, so the schema already documents all parameters. The description only mentions 'fatturato e (opzionale) codice ATECO', which is already in the schema, adding no extra meaning.

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 'Calcola imposta sostitutiva e contributi INPS del regime forfettario italiano' using a specific verb and resource. It distinguishes from sibling tools like calc_imu and calc_iva.

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 description implies usage for Italian flat-rate tax calculation but lacks explicit when-to-use or when-not-to-use guidance compared to alternatives. It does note it's free, deterministic, and no login required.

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

calc_imuCalcola IMUA
Read-onlyIdempotent
Inspect

Calcola l'IMU italiana (L.160/2019) per fabbricati (da rendita catastale + categoria), terreni agricoli (da reddito dominicale) e aree edificabili (da valore venale), con acconto/saldo. L'aliquota (‰) è quella deliberata dal Comune. Gratis (€0), deterministico, nessun login richiesto.

ParametersJSON Schema
NameRequiredDescriptionDefault
detrazioneNoDetrazione in euro (solo fabbricati; es. 200 per abitazione principale di lusso).
mesi_possessoNoMesi di possesso nell'anno (default 12).
tipo_immobileNoTipo immobile → seleziona la formula (default abitazione_non_principale).
valore_venaleNoAree edificabili: valore venale in comune commercio al 1° gennaio (€).
aliquota_permilleYesAliquota deliberata dal Comune, in per mille (es. 8.6 per 8,6‰).
rendita_catastaleNoFabbricati: rendita catastale annua in euro (da visura).
quota_possesso_pctNoQuota di possesso in % (default 100).
reddito_dominicaleNoTerreni agricoli: reddito dominicale da visura (base = ×1,25×135).
categoria_catastaleNoCategoria catastale per i fabbricati (default A). Determina il moltiplicatore.
esente_montano_isolaNoTerreni: in comune montano/collinare o isola minore → esente.
coltivatore_diretto_iapNoTerreni: coltivatore diretto/IAP iscritto alla previdenza agricola → esente.
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds that the tool is free, deterministic, and requires no login—useful context beyond annotations. No contradiction.

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, no redundancy. Front-loaded with main purpose. Every sentence adds distinct value (what, how, operational notes).

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?

Despite many parameters and no output schema, the description provides a high-level overview but lacks details on output format (e.g., whether it returns tax due, breakdown, or just summary). Could be more complete.

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 covers all 11 parameters with descriptions. The description adds high-level context by mapping parameter categories to property types (e.g., rendita catastale for buildings), improving selection reasoning for the agent.

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 the tool calculates Italian IMU tax (L.160/2019) for three property types, using specific inputs. It distinguishes itself from sibling tools (none are IMU-related) with a specific verb and resource.

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?

The description specifies when to use the tool (for IMU calculation on buildings, agricultural land, developable areas) and implies exclusivity among siblings. It lacks explicit ‘when not to use’ or alternatives, but is clear enough for context.

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

calc_ivaCalcola IVAA
Read-onlyIdempotent
Inspect

Calcola l'IVA italiana su un imponibile (aliquote 22/10/5/4/0/esente/fuori campo), con ritenuta d'acconto opzionale (autonomi 20%, agenti 11,5%) e regimi non imponibili (intra-UE, export extra-UE). Gestisce le DUE basi imponibili della fattura di un professionista: il contributo integrativo della cassa entra nella base IVA ma NON in quella della ritenuta, la rivalsa INPS in entrambe; base_iva e base_ritenuta sono sempre esposte separatamente. Gratis (€0), deterministico, nessun login richiesto.

ParametersJSON Schema
NameRequiredDescriptionDefault
imponibileYesCompenso/corrispettivo in EUR (es. 1000), AL NETTO del contributo integrativo cassa e della rivalsa INPS: quelli si aggiungono con i due campi dedicati.
aliquota_ivaNoAliquota IVA (default 22).
con_ritenutaNoApplica la ritenuta d'acconto (default false).
tipo_ritenutaNoTipo ritenuta se con_ritenuta=true (autonomo 20% | agente 11,5%).
tipo_operazioneNoTipo operazione (default b2b). intraUE/extraUE azzerano l'IVA (non imponibile).
rivalsa_inps_pctNoAliquota % della rivalsa INPS gestione separata addebitata in fattura (default 0). Per legge 4 (art. 1 c. 212 L. 662/1996). Entra in ENTRAMBE le basi.
contributo_integrativo_pctNoAliquota % del contributo integrativo della cassa professionale (default 0 = nessuna cassa). Tipicamente 4; 5 per i geometri; 2 per ENPAP/ENPAV — leggila dal regolamento della cassa: il tool non la deduce da ATECO. Entra nella base IVA ma NON in quella della ritenuta.
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds valuable context: the tool is free, deterministic, requires no login, and explicitly explains how the two taxable bases are calculated (contributo integrativo vs rivalsa INPS). No contradictions.

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?

The description is a single paragraph that efficiently conveys all key aspects: purpose, rates, withholding, regimes, special bases. Every sentence is necessary and informative, with no wasted words.

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?

Given the complexity of 7 parameters and no output schema, the description provides sufficient context about what the tool returns (exposing base_iva and base_ritenuta separately) and its deterministic, cost-free nature.

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 100%, so baseline is 3. The description adds meaning by explaining the interplay between parameters (e.g., contributo integrativo enters IVA base but not withholding base), which goes beyond the schema's per-field descriptions.

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 the tool calculates Italian VAT with specific rates, optional withholding, and handles different tax regimes. It distinguishes between two taxable bases, making its purpose distinct from sibling tools like calc_forfettario or calc_imu.

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?

The description implies when to use this tool (for Italian VAT calculations with complex scenarios). It does not explicitly state when not to use it or name alternatives, but the context is clear given sibling tool names.

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

compose_f24F24 Precompilato (righe Erario / INPS / IMU)A
Read-onlyIdempotent
Inspect

Compone le RIGHE del modello F24 (sezione Erario, INPS, IMU) con i codici tributo e le causali ufficiali, a partire dagli importi già calcolati: imposta sostitutiva e contributi del regime forfettario (codici 1790/1791/1792, causali INPS PXX/AF/AP/CF/CP) oppure IMU (3912/3918/3914/3916, con lo split gruppo D 3925 Stato / 3930 Comune e il codice ente catastale del Comune). Restituisce righe strutturate (sezione, codice, anno, importo, scadenza indicativa) + una resa testuale. COMPONIBILE: l'input tipico sono gli output di calc_forfettario (imposta_sostitutiva.importo, contributi_inps) e calc_imu (imu_dovuta, acconto_giugno, saldo_dicembre). NON genera il modello ministeriale F24 — né PDF né facsimile ufficiale: è una compilazione INDICATIVA che non sostituisce il commercialista né la verifica su Agenzia delle Entrate. Gratis (€0), deterministico, nessun login richiesto.

ParametersJSON Schema
NameRequiredDescriptionDefault
imuNoRichiesto quando kind='imu'. Campi dall'output di calc_imu.
kindYesDominio da comporre: 'forfettario' (Erario + INPS) oppure 'imu' (sezione IMU e altri tributi locali).
forfettarioNoRichiesto quando kind='forfettario'. Campi dall'output di calc_forfettario.
Behavior4/5

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

The annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, indicating safe, non-destructive, idempotent behavior. The description adds context: 'Gratis (€0), deterministico, nessun login richiesto.' This provides additional useful behavioral traits beyond annotations. No contradiction.

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?

The description is relatively long but well-structured with clear sections. It is front-loaded with the main purpose and then details about components, composability, and limitations. Each sentence adds value, though some redundancy exists (e.g., restating 'NON genera il modello ministeriale'). Still efficient for the complexity.

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?

Given the tool's complexity (two modes, nested objects) and lack of output schema, the description fully covers the return format: 'righe strutturate (sezione, codice, anno, importo, scadenza indicativa) + una resa testuale.' It also explains the non-official nature and additional context like cost, determinism, and no login. Complete for an agent to understand usage.

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 100% with detailed property descriptions. The description adds value by explaining the relationships between parameters (e.g., forfettario.imposta from calc_forfettario) and clarifying that input comes from specific sibling tools. This goes beyond the schema descriptions, which already provide good 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 it composes rows of the F24 form for specific sections (Erario, INPS, IMU) using official codes and causes. It distinguishes itself from sibling tools (calc_forfettario, calc_imu) by noting it takes their outputs as input. It also explicitly states what it does not do (generate official form, PDF, or facsimile).

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

Usage Guidelines5/5

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

The description explicitly notes when to use the tool: 'l'input tipico sono gli output di calc_forfettario... e calc_imu'. It also clearly states it is an indicative compilation, not a substitute for a commercialista or verification at Agenzia delle Entrate. This guides the agent on appropriate use and limitations.

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

generate_codice_fiscaleGenera Codice FiscaleA
Read-onlyIdempotent
Inspect

Genera un Codice Fiscale italiano da dati anagrafici (cognome, nome, data di nascita, sesso, e comune/stato estero di nascita — oppure direttamente il codice Belfiore). Restituisce il CF "base" (la variante omocodica in caso di collisione è assegnata dall'Agenzia). Gratis (€0), deterministico, nessun login richiesto.

ParametersJSON Schema
NameRequiredDescriptionDefault
nomeYesNome.
sessoYesSesso: M o F.
comuneNoComune (o stato estero) di nascita. In alternativa usa codice_belfiore.
cognomeYesCognome.
provinciaNoSigla provincia (es. PI) per disambiguare comuni omonimi.
data_nascitaYesData di nascita in formato GG/MM/AAAA (es. 10/12/1985).
codice_belfioreNoCodice catastale/Belfiore del luogo di nascita (alternativa precisa al comune).
Behavior4/5

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

Annotations already mark the tool as read-only, idempotent, and non-destructive. The description adds value by noting it is deterministic, free, requires no login, and explains the homocodic variant is assigned by the Agenzia.

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 concise but lacks structural elements like bullet points. It is a single paragraph that conveys all needed info, though slightly dense.

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?

Given no output schema, the description mentions the return is the 'base' CF but does not specify format or length. Error cases or edge conditions are not covered, but for a simple tool it is adequate.

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 coverage is 100% with individual parameter descriptions. The description adds context, such as the alternative between comune and codice_belfiore, and the role of provincia for disambiguation.

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 explicitly states it generates an Italian Codice Fiscale from personal data, listing required fields and alternatives. It clearly distinguishes from sibling tools like validate_codice_fiscale.

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?

The description explains when to use (to generate a CF) and what is returned (base CF). While it lacks explicit exclusions, it is clear for its purpose and does not mislead.

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

intrastat_composeINTRASTAT: composizione e validazione delle sezioniA
Read-onlyIdempotent
Inspect

Compone le SEZIONI dell'elenco riepilogativo INTRASTAT a partire dalle righe di operazione, assegnando ciascuna riga alla sezione corretta (INTRA-1bis cessioni di beni, 1ter rettifiche, 1quater servizi resi, 1quinquies rettifiche, 1sexies call-off stock; INTRA-2bis acquisti di beni, 2ter, 2quater servizi ricevuti, 2quinquies) e VALIDANDOLE: Stato membro ammesso (l'Irlanda del Nord XI vale solo per i BENI; San Marino e Regno Unito sono fuori ambito), partita IVA della controparte (formato per Stato membro + checksum per quelle italiane), nomenclatura combinata a 8 cifre (o il codice semplificato 99500000), formato della natura della transazione e campi obbligatori per sezione. Restituisce le sezioni popolate, i totali, la scadenza e un prospetto testuale di controllo. ⚠️ NON genera il file TELEMATICO per il Servizio Telematico Doganale (Intr@Web / ADM): il tracciato record ufficiale non è riproducibile da fonte pubblica verificabile, quindi non è stato inventato. Quello che ottieni è struttura-dati + prospetto, da riportare sul canale ufficiale. Nessun default silenzioso: un dato obbligatorio mancante produce un errore esplicito, mai un riempimento arbitrario. Le partite IVA sono validate OFFLINE (formato e checksum): per la verifica VIES live della controparte usa verify_payee. Determina prima la periodicità con intrastat_periodicity. Indicativo, non sostituisce il commercialista o il doganalista. Gratis (€0), deterministico, nessun login richiesto.

ParametersJSON Schema
NameRequiredDescriptionDefault
annoYesAnno del periodo di riferimento (i modelli vigenti decorrono dal 2022).
meseYesMese del periodo di riferimento (1–12). Con periodicità trimestrale individua il trimestre.
righeYesRighe di operazione da riepilogare. Massimo 25 sulla superficie anonima (l'API autenticata non ha questo limite). Righe di flussi/categorie diversi possono coesistere: ognuna finisce nella sua sezione.
periodicitaNoPeriodicità dell'elenco — determinala con `intrastat_periodicity`. Con 'nessun_obbligo' la chiamata viene RIFIUTATA con una spiegazione: sotto soglia l'elenco non va presentato.mensile
partita_iva_dichiaranteNoPartita IVA italiana del soggetto obbligato (11 cifre, opzionale). Se fornita viene validata col checksum.
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the tool is known to be safe. The description adds critical behavioral context: it doesn't generate the telematic file (explicit limitation), has no silent defaults (errors on missing required data), validates offline, and includes disclaimers. No contradiction with 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?

The description is relatively long but well-structured, with the main purpose first, followed by details, warnings, and usage advice. Every sentence adds value, though it could be slightly more concise without losing essential information.

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?

Given the tool's complexity and the lack of an output schema, the description fully covers what the tool returns (populated sections, totals, deadline, textual control statement), its limitations, and prerequisites. It also references sibling tools for related tasks, making the overall context complete.

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 description coverage is 100%, so the schema already documents all parameters. The description does not add parameter-level meaning beyond the schema; it focuses on overall behavior. Baseline 3 is appropriate as the description doesn't compensate further.

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 composes and validates INTRASTAT summary sections from operation lines, assigning each line to the correct section. It uses specific verbs ('compone', 'validando') and resources ('SEZIONI dell'elenco riepilogativo INTRASTAT'), and distinguishes from siblings like intrastat_periodicity and verify_payee.

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

Usage Guidelines5/5

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

The description explicitly advises when to use this tool ('determina prima la periodicità con intrastat_periodicity'), when not to use it (does not generate the telematic file, use verify_payee for live VIES verification), and provides context about the tool's limits (max 25 rows on anonymous surface). It gives clear guidance on alternatives.

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

intrastat_periodicityINTRASTAT: periodicità e scadenza di presentazioneA
Read-onlyIdempotent
Inspect

Determina se un soggetto deve presentare l'elenco riepilogativo INTRASTAT e con quale periodicità (mensile / trimestrale / nessun obbligo), a partire dagli ammontari dei quattro trimestri precedenti, e calcola la SCADENZA del periodo (giorno 25 del mese successivo, con slittamento se cade di sabato, domenica o festività nazionale italiana). Ogni flusso ha soglia e criterio propri, e li restituisce insieme alla FONTE normativa: cessioni di beni e servizi resi € 50.000 con criterio di SUPERAMENTO (>) → mensile se superata, altrimenti trimestrale; acquisti di servizi € 100.000 e acquisti di beni € 2.000.000 (soglia innalzata da € 350.000 dal periodo di riferimento 01/2026, Det. ADM 84415 del 03/02/2026) con criterio UGUALE O SUPERIORE (>=) → mensile se raggiunta, altrimenti NESSUN obbligo (per gli acquisti la periodicità trimestrale è stata abrogata). L'asimmetria > / >= è voluta e rispecchia le fonti. Indicativo: non sostituisce il commercialista o il doganalista. Gratis (€0), deterministico, nessun login richiesto.

ParametersJSON Schema
NameRequiredDescriptionDefault
annoYesAnno del periodo di RIFERIMENTO (non dell'invio). I modelli vigenti decorrono dal 2022. Determina quale soglia INTRA-2bis si applica (2.000.000 dal 2026).
meseYesMese del periodo di riferimento (1–12). Se la periodicità risulta trimestrale, il trimestre viene dedotto da questo mese.
flussoYes'cessioni' = operazioni attive, modelli INTRA-1 (beni ceduti / servizi resi); 'acquisti' = operazioni passive, modelli INTRA-2 (beni acquistati / servizi ricevuti).
categoriaYesCategoria delle operazioni. Soglia e sezione del modello dipendono da questa.
ammontari_trimestri_precedentiYesAmmontari in EURO dei quattro trimestri PRECEDENTI per quel flusso+categoria, ordinati dal più recente al più remoto (es. [62000, 41000, 38000, 35000]). Ammessi da 1 a 4 valori: chi ha iniziato da poco ne ha meno, e la risposta lo segnala nelle note. La soglia si valuta sul MASSIMO, non sulla somma.
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive. The description adds valuable behavioral context: deterministic, free, no login required, indicative nature, and detailed logic (thresholds, asymmetry, normative sources). This exceeds what annotations provide.

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 verbose, containing multiple paragraphs and specific legal references. While informative, it could be more concise. The main purpose is front-loaded, but the density may hinder quick parsing by an AI agent.

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 tool's complexity (multiple thresholds, criteria, law references) and no output schema, the description is quite complete. It explains the logic, asymmetry, and normative sources, and hints at return values (periodicity, deadline, notes). Some output expectations could be clearer.

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?

Input schema has 100% coverage with detailed descriptions for all 5 parameters. The description reiterates some threshold values but does not add significant new meaning beyond the schema. Baseline 3 is appropriate.

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 the tool's purpose: determine INTRASTAT periodicity and deadline based on previous quarters. It distinguishes from sibling tools like intrastat_compose and intrastat_reference by focusing specifically on periodicity calculation.

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 description implies usage for determining INTRASTAT filing periodicity and deadline, but provides no explicit guidance on when to use this tool versus alternatives like intrastat_compose or intrastat_reference. No exclusions or prerequisites are mentioned.

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

intrastat_referenceINTRASTAT: tabelle di riferimento e soglie vigentiA
Read-onlyIdempotent
Inspect

Restituisce, senza alcun input, le tabelle di riferimento INTRASTAT: gli Stati membri ammessi con i loro codici, il caso dell'Irlanda del Nord (XI, solo beni) e i paesi fuori ambito (San Marino dal 01/10/2021, Regno Unito dal 01/01/2021), tutte le sezioni dei modelli con la loro descrizione, e OGNI soglia vigente con importo, criterio di confronto (> oppure >=), effetto e FONTE normativa puntuale — inclusa la soglia acquisti di beni innalzata a € 2.000.000 dal periodo 01/2026 (Det. ADM 84415 del 03/02/2026). Include anche il termine di presentazione e l'elenco ESPLICITO di ciò che questi strumenti NON producono (il file telematico ADM, le descrizioni dei codici natura della transazione, la verifica VIES live). Usalo per validare gli input prima di intrastat_compose, per popolare un form, o per citare la fonte di una soglia invece di ricordarla a memoria. Gratis (€0), deterministico, nessun login richiesto.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior5/5

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

Annotations already provide readOnlyHint: true, idempotentHint: true, destructiveHint: false. The description adds that it's gratis, deterministic, and requires no login. It also details exactly what is returned and what is excluded. No contradiction with 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?

The description is somewhat long but front-loaded with the most important purpose. Every sentence adds unique value, though it could be slightly trimmed without losing clarity.

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?

Given zero parameters and no output schema, the description is remarkably complete. It covers all returned information types, includes specific values, and explicitly states what the tool does not provide, leaving no ambiguity for the agent.

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

Parameters5/5

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

The tool has zero parameters and schema coverage is 100%. The description excels by explaining that no input is needed and precisely describes the rich output content, including specific examples like the €2,000,000 threshold and Northern Ireland code.

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 starts with a clear verb 'Restituisce' (returns) and specifies the exact content: reference tables, member states with codes, thresholds with amounts and sources. It explicitly distinguishes from sibling tools like `intrastat_compose` and `intrastat_periodicity`.

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

Usage Guidelines5/5

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

The description gives explicit usage scenarios: 'Usalo per validare gli input prima di intrastat_compose, per popolare un form, o per citare la fonte di una soglia invece di ricordarla a memoria.' It also lists what the tool does NOT produce, helping avoid misuse.

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

lookup_atecoCerca codice ATECOA
Read-onlyIdempotent
Inspect

Cerca e valida un codice ATECO 2007 ISTAT e restituisce la descrizione dell'attività. Gratis (€0), deterministico, nessun login richiesto.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesIl codice ATECO (solo cifre e punti, es. 62.01).
Behavior3/5

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

Annotations already indicate readOnlyHint, idempotentHint, and destructiveHint=false. The description adds that it's free, deterministic, and requires no login, which are useful but not critical beyond the annotations. It does not describe error behavior for invalid codes.

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?

The description is two sentences with no extraneous information. It is front-loaded with the core action and efficiently adds context about cost, determinism, and authentication.

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 tool's simplicity, the description covers the main functionality: what it does, input, and output (returning activity description). It lacks explicit mention of error handling for invalid codes, but overall it is adequately complete for a read-only lookup.

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?

The input schema covers the single parameter 'code' with a description, pattern, and maxLength. The description does not add new information about the parameter beyond the schema, so the baseline of 3 is appropriate.

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 the tool searches and validates an ATECO 2007 ISTAT code and returns the activity description. It uses specific verbs ('cerca e valida') and a specific resource (codice ATECO), and the purpose is distinct from sibling tools like lookup_cap.

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?

The description implies usage for ATECO code lookups, which is clear from the naming and context. However, it does not explicitly state when not to use this tool or mention alternatives, though the sibling list makes differentiation straightforward.

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

lookup_capCerca CAPA
Read-onlyIdempotent
Inspect

Restituisce l'area/provincia INDICATIVA di un CAP italiano, derivata dal prefisso a 2 cifre (NON il comune). Approssimativo: può essere impreciso per le grandi città e per le province istituite dopo il 2004 (MB, FM, SU, VB). Gratis (€0), deterministico, nessun login richiesto.

ParametersJSON Schema
NameRequiredDescriptionDefault
capYesIl CAP a 5 cifre (es. 20121).
Behavior5/5

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

While annotations provide readOnlyHint, destructiveHint, etc., the description adds valuable behavioral traits: free cost, deterministic behavior, no authentication needed, and the approximate nature based on 2-digit prefix.

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?

The description is concise (two sentences), with no wasted words. It front-loads the purpose and includes limitations efficiently.

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?

Given the simplicity of the tool (single parameter, no output schema), the description is fully complete: it explains what, how, limitations, and access conditions.

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 schema covers the parameter with description. The description adds meaning by explaining the lookup logic (based on 2-digit prefix) and the format example, providing context beyond the schema.

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 the tool returns the indicative area/province of an Italian CAP based on the 2-digit prefix, not the exact town. It also notes limitations, making the purpose distinct from sibling tools like lookup_ateco.

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?

The description provides usage context: free, deterministic, no login required, and mentions approximation and imprecision for certain cases. It doesn't explicitly exclude alternatives, but no sibling tool covers CAP lookup.

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

parse_fatturapaParser FatturaPA / SDIA
Read-onlyIdempotent
Inspect

Estrae dati strutturati (cedente, cessionario, righe, imposte) da un XML FatturaPA/SDI. Solo parsing deterministico — nessuna verifica VIES. Gratis (€0), deterministico, nessun login richiesto.

ParametersJSON Schema
NameRequiredDescriptionDefault
xml_contentYesIl contenuto XML della fattura elettronica (FatturaPA/SDI).
Behavior4/5

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

The description adds behavioral context beyond annotations: it states the tool is deterministic, free, requires no login, and does not perform VIES verification. The annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description complements these without contradiction.

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?

The description is concise with two sentences, each carrying important information: the first defines the purpose and outputs, the second clarifies limitations and features. No superfluous content.

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?

For a simple tool with one parameter and no output schema, the description is complete. It covers what the tool does, its behavior (deterministic, free, no login), and what it does not do (no VIES verification), which is sufficient for an agent to select and invoke 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?

The schema covers 100% of parameters (one parameter, xml_content, with a description). The tool description does not add additional semantic detail beyond what the schema provides, so the baseline score of 3 is appropriate.

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 specifies the verb ('Estrae' / extracts), the resource (XML FatturaPA/SDI), and the data extracted (cedente, cessionario, righe, imposte). It also distinguishes itself from a sibling by stating 'nessuna verifica VIES', making the purpose unambiguous.

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?

The description indicates when to use this tool (for deterministic parsing, no VIES verification needed) and mentions it is free, deterministic, and requires no login. Although it does not explicitly list exclusions, the context of sibling tools (especially parse_verify_fatturapa) provides implicit guidance for alternatives.

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

parse_verify_fatturapaFatturaPA: parse + verifica anti-frode del fornitoreA
Read-onlyIdempotent
Inspect

Estrae i dati strutturati da un XML FatturaPA/SDI E, nella stessa chiamata, verifica anti-frode la parte indicata (default: il CEDENTE, cioè il fornitore che incassa il bonifico). I dati verificati NON sono inferiti da un LLM: P.IVA, Codice Fiscale, ragione sociale e IBAN di pagamento sono estratti deterministicamente dall'XML, poi passati ai controlli: IBAN (checksum MOD-97 + banca dal codice ABI), P.IVA e CF (checksum) e — quando il servizio UE è raggiungibile — la ragione sociale reale via VIES live, confrontata con quella dichiarata in fattura. Restituisce il parse completo più supplier_verification con verdetto (ok / attenzione / alto_rischio) e red flag puntuali; se la fattura riporta più IBAN distinti lo segnala e abbassa il verdetto. È la difesa contro la truffa del cambio-IBAN sulle fatture passive. Come verify_payee fa I/O esterno (una sola interrogazione VIES per chiamata, non una per riga): se VIES è giù o il budget condiviso è esaurito il verdetto degrada ONESTAMENTE ad "attenzione", mai a un falso "ok". Gratis (€0), nessun login. NON sostituisce la verifica out-of-band (telefonata al fornitore su un numero già noto).

ParametersJSON Schema
NameRequiredDescriptionDefault
partyNoParte da verificare: 'cedente' = fornitore/chi riceve il pagamento (default, il caso anti-frode); 'cessionario' = cliente. L'IBAN viene raccolto solo per il cedente, perché è lui che incassa.cedente
xml_contentYesIl contenuto XML della fattura elettronica (FatturaPA/SDI). Il .p7m va scompattato prima: qui si accetta XML testuale.
expected_countryNoPaese atteso del fornitore in ISO2. Un IBAN estero su un fornitore atteso italiano è il campanello #1 della frode.IT
Behavior5/5

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

Details deterministic extraction (not LLM), checksums for IBAN, P.IVA, CF, VIES live check, honest degradation when VIES down, red flag disclosures. Annotations (readOnly, idempotent, non-destructive) are consistent and description adds significant context beyond 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?

Description is verbose but every sentence adds value. Front-loaded with core purpose, then details. Slightly long but well-structured and not wasteful.

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?

Given complexity (3 params, no output schema, 17 siblings), description covers extraction, verification steps, fallback behavior, cost (free), and comparison to sibling. Missing only potential rate limits, but maxLength and no-login hint at generous usage.

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

Parameters5/5

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

Schema description coverage is 100%, but description adds nuance: party default cedente because it's anti-fraud case, IBAN collected only for cedente, xml_content note about .p7m, expected_country default IT with fraud indicator explanation. Adds meaning beyond schema.

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?

Description clearly states it extracts structured data from an XML FatturaPA/SDI and performs anti-fraud verification on the supplier. It distinguishes from siblings like parse_fatturapa (parse only) and verify_payee (verification only) by combining both actions.

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

Usage Guidelines5/5

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

Explicitly says when to use (defense against IBAN change fraud on passive invoices) and when not (does not replace out-of-band verification). Compares to sibling verify_payee, noting VIES query behavior.

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

validate_codice_fiscaleValida Codice FiscaleA
Read-onlyIdempotent
Inspect

Valida un Codice Fiscale italiano (formato + carattere di controllo, con gestione omocodia). Gratis (€0), deterministico, nessun login richiesto.

ParametersJSON Schema
NameRequiredDescriptionDefault
codice_fiscaleYesIl Codice Fiscale da validare (es. RSSMRA85T10A562S).
Behavior4/5

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

Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds value by stating determinism and no login requirement, providing helpful context beyond annotations.

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?

Two concise sentences: one states the function, the other lists key attributes. No redundant information.

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 tool has one parameter, schema covers it, and annotations cover safety. However, the description does not specify the return value (e.g., boolean or detailed result), which is a gap for a validation function without an output schema.

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?

With 100% schema coverage, the description adds no extra meaning beyond the schema's parameter description and example. Baseline score of 3 is appropriate.

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 it validates Italian tax code format and control character with omocodia handling, distinguishing it from sibling tools like generate_codice_fiscale or validate_partita_iva.

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?

The description includes practical guidance (free, deterministic, no login), making it clear when to use this tool. It does not explicitly mention when not to use alternatives, but the usage context is well implied.

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

validate_ibanValida IBANA
Read-onlyIdempotent
Inspect

Valida un IBAN (checksum MOD-97) e, per gli IBAN italiani, identifica la banca dal codice ABI. Gratis (€0), deterministico, nessun login richiesto.

ParametersJSON Schema
NameRequiredDescriptionDefault
ibanYesL'IBAN da validare (es. IT60X0542811101000000123456).
Behavior5/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds valuable context beyond annotations: it is free (€0), deterministic, requires no login, and for Italian IBANs it identifies the bank from ABI code. No contradictions.

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?

The description consists of two short sentences, delivering core functionality and key traits without extraneous text. Every sentence is informative and earns its place.

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 tool has no output schema, so the description should explain what the tool returns. It mentions validation and bank identification but does not specify whether the output is a boolean, a structured result, or an error message. This gap reduces completeness.

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 description coverage is 100%, giving a baseline of 3. The parameter 'iban' has a schema description with an example. The tool description does not add new semantic information about the parameter beyond what the schema provides, though it contextualizes the validation process.

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 the tool validates an IBAN using checksum MOD-97 and, for Italian IBANs, identifies the bank from the ABI code. This specific verb+resource combination distinguishes it from sibling validation tools like validate_codice_fiscale or validate_partita_iva.

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?

The description notes that the tool is free, deterministic, and requires no login, implying it can be safely called without side effects. However, it does not explicitly state when not to use it or compare against alternatives, though sibling tools target different codes so there is little ambiguity.

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

validate_partita_ivaValida Partita IVAA
Read-onlyIdempotent
Inspect

Valida una Partita IVA italiana (11 cifre + checksum Luhn). Gratis (€0), deterministico, nessun login richiesto.

ParametersJSON Schema
NameRequiredDescriptionDefault
partita_ivaYesLa Partita IVA da validare (11 cifre, es. 12345678903).
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description adds value by noting the tool is free, deterministic, and requires no login. No contradictions; the description reinforces and extends the behavioral profile.

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?

The description is extremely concise—two short sentences that immediately convey the tool's purpose, constraints, and key characteristics. No filler; every word earns its place.

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 description covers the tool's core function and constraints but does not explain what the validation returns (e.g., boolean true/false, error details). Since there is no output schema, the description leaves ambiguity about the result format, which is a gap for a validation tool.

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

Parameters5/5

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

With 100% schema description coverage, the parameter already has a description. The tool description adds concrete format details (11 digits + Luhn checksum) and an example, providing meaning beyond the schema.

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?

Description clearly states the tool validates an Italian Partita IVA, specifying it is 11 digits with Luhn checksum. The title and description directly align, and the tool distinguishes itself from sibling validation tools (e.g., validate_codice_fiscale, validate_iban) by targeting a specific entity.

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?

The description provides clear context (free, deterministic, no login), which helps an agent decide when to use it. However, it does not explicitly mention when not to use it or suggest alternatives, though sibling tools imply different validation targets.

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

validate_pecValida PECA
Read-onlyIdempotent
Inspect

Valida un indirizzo PEC italiano: formato + dominio confrontato con l'elenco dei provider certificati AGID (Aruba, InfoCert, Namirial, Poste, ecc.), con livello di confidenza. Gratis (€0), deterministico, nessun login richiesto.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesL'indirizzo PEC da validare (es. mario.rossi@pec.it).
Behavior4/5

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

Annotations already indicate readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds valuable context: the tool is free, deterministic, and requires no login. This goes beyond the annotations and is not contradictory.

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?

The description is concise: two sentences that front-load the core functionality and then add cost and behavior details. Every sentence earns its place without redundancy.

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?

For a simple one-parameter tool with no output schema, the description adequately explains what the tool does (format + domain validation) and mentions the output includes a confidence level. It could mention error handling or explicit output structure, but it is sufficient for an agent to understand and invoke the 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?

With 100% schema description coverage for the single parameter 'email', the baseline is 3. The description does not add additional detail about the parameter beyond what the schema provides, but it does explain the validation process (format + domain check), which indirectly enriches understanding of the input's role.

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 the tool validates an Italian PEC address by checking format and domain against AGID certified providers, with a confidence level. This distinguishes it from sibling tools like validate_codice_fiscale or validate_iban, which handle different identity elements.

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?

The description provides clear context for using the tool (validating PEC addresses) but does not explicitly exclude use cases or mention alternatives. The sibling list implicitly provides alternatives, but the description itself lacks explicit guidance on when not to use it.

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

verify_payeeVerifica Fornitore (anti-frode pre-pagamento)A
Read-onlyIdempotent
Inspect

Verifica anti-frode di un beneficiario PRIMA di pagare una fattura (contro la truffa del cambio-IBAN / Business Email Compromise). Controlli: IBAN (checksum MOD-97 + banca dal codice ABI), Partita IVA e Codice Fiscale (checksum), e — quando il servizio UE è raggiungibile — la ragione sociale reale via VIES live con match sul nome atteso. Restituisce un verdetto (ok / attenzione / alto_rischio) + i red flag puntuali. A differenza degli altri strumenti fa I/O esterno (VIES): se VIES è giù o il budget di verifica è temporaneamente esaurito, il verdetto degrada ONESTAMENTE ad "attenzione" (mai un falso "ok"). Gratis (€0), nessun login. NON sostituisce la verifica out-of-band (telefonata al fornitore su un numero già noto).

ParametersJSON Schema
NameRequiredDescriptionDefault
ibanNoIBAN del beneficiario (es. IT60X0542811101000000123456).
atecoNoCodice ATECO dichiarato del fornitore (solo cifre e punti, opzionale).
vat_numberNoPartita IVA con o senza prefisso paese (es. IT12345678901).
expected_nameNoRagione sociale attesa del fornitore, confrontata con quella ufficiale VIES.
codice_fiscaleNoCodice Fiscale (persona fisica / ditta individuale).
expected_countryNoPaese atteso del fornitore in ISO2 (default IT). Un IBAN estero è il campanello #1 della frode.
Behavior5/5

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

The description adds significant behavioral context beyond annotations: it performs external I/O (VIES), and gracefully degrades to 'attention' (never false 'ok') when VIES is unavailable or budget exhausted. It also declares it is free and requires no login. This transparently discloses failure modes and constraints.

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?

The description is a well-structured paragraph that front-loads the core purpose (anti-fraud before payment) and then details checks and behaviors. It is not overly long, but could be slightly more concise by grouping related details. Every sentence adds information, earning a 4.

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?

Given the lack of output schema, the description adequately describes return values (verdict with three levels plus red flags). It covers edge cases (VIES down) and scope limits (out-of-band not replaced). With 6 parameters and external I/O, the description provides sufficient context for an agent to select and invoke the tool correctly.

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 100%, so baseline is 3. The description adds value by explaining how parameters like iban, vat_number, codice_fiscale, and expected_name are used in checks (e.g., 'ragione sociale reale via VIES'). However, it does not mention ateco or expected_country, leaving their role implicit. Overall, it provides useful context beyond schema descriptions.

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 identifies the tool as an anti-fraud verification of a beneficiary before paying an invoice, specifically targeting IBAN change/BEC fraud. It lists specific checks (IBAN checksum, VAT, tax code, VIES) and distinguishes from sibling tools by stating it performs external I/O and combines multiple validations.

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?

The description explicitly states when to use the tool ('PRIMA di pagare una fattura') and provides exclusion guidance ('NON sostituisce la verifica out-of-band'). However, it does not explicitly mention alternative tools for simpler validations (e.g., validate_iban for IBAN format only), so guidance on choices among siblings is partial.

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

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources