ItalyCheck
Server Details
Italian public bodies by codice fiscale (IndicePA): name, PEC, address. Paid per call via x402.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- yeick010/italycheck
- GitHub Stars
- 0
- Server Listing
- ItalyCheck
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: one is an offline syntactic check of a partita IVA, the other is an online registry lookup in IndicePA by codice fiscale. Descriptions explicitly note the offline check does not confirm registration, which reinforces the boundary.
Both names follow the same snake_case verb_noun pattern (check_..., lookup_...) and clearly describe the object being acted upon. No mixing of conventions.
Only two tools for a server whose apparent domain (Italian entity verification) is fairly broad. The set is thin — each tool earns its place, but two tools can only cover a narrow slice of the domain.
Format validation is offered for partita IVA only, and the registry lookup covers just public administration bodies in IndicePA. Notable gaps include VAT registration status checks (e.g. VIES) for private companies and any codice fiscale format validation, leaving common verification workflows without a tool.
Available Tools
2 toolscheck_partita_iva_formatAInspect
Free offline check of an Italian partita IVA (11 digits + check digit). Does not confirm registration.
| Name | Required | Description | Default |
|---|---|---|---|
| piva | Yes | Italian partita IVA, e.g. 00743110157 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose key traits: the check is offline (no network/lookup), free, and purely a format/check-digit validation that does not confirm registration. It omits what an invalid input returns (error vs. false-like result), which would be valuable given there is no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with zero filler. The core purpose is front-loaded and the limitation follows immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter validator, the description sets expectations well: it defines exactly what is validated and what is out of scope. The only gap is the return value, since no output schema exists to explain what a pass/fail result looks like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter is documented with an example ('Italian partita IVA, e.g. 00743110157'), so the schema already does the work. The description's '11 digits + check digit' reinforces the expected format but adds little beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('check of an Italian partita IVA') and scopes it precisely as an 11-digit + check-digit format validation. It distinguishes itself from the lookup sibling by declaring 'Does not confirm registration,' though it never names lookup_italian_pa explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear context ('free offline check') and an explicit exclusion boundary ('Does not confirm registration'), which steers the agent away from using it for registration verification. It stops short of naming the alternative tool, so it is not a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_italian_paAInspect
Look up an Italian public administration or public-service operator by 11-digit codice fiscale in IndicePA (AgID). Use when an agent must verify a public-sector counterparty, find its official PEC (certified email) addresses, or confirm it exists before e-invoicing. Costs $0.005 in USDC on Base via x402.
| Name | Required | Description | Default |
|---|---|---|---|
| cf | Yes | 11-digit codice fiscale, e.g. 80016350821 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses a material trait the schema cannot: a $0.005 USDC charge on Base via x402. It does not state what happens for an unknown codice fiscale, whether results are cached, or any rate limits, leaving real gaps for a paid network call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, zero padding: the lookup action leads, the usage conditions follow, and the cost is placed last. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description does well to say what the agent gets back (existence confirmation and PEC addresses) and to warn about the payment mechanism. Minor omissions around error/not-found behavior keep it from a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is only one required parameter, so the schema already documents the format and example. The description restates '11-digit codice fiscale' without adding syntax, validation, or edge-case meaning beyond the schema; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (look up) and resource (Italian public administration / public-service operator) and names the authoritative source (IndicePA, AgID) plus the lookup key (11-digit codice fiscale). It does not distinguish itself from the sibling check_partita_iva_format, which handles a different identifier, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives three concrete triggering scenarios: verifying a public-sector counterparty, retrieving official PEC addresses, and confirming existence before e-invoicing. There is no explicit when-not guidance or named alternative, but the usage context is clear enough to route correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
check_partita_iva_format - First observed
lookup_italian_pa
Related MCP Connectors
Verify Spanish companies by CIF: registry data, status and BORME filings, paid per call over x402.
Brazilian company data, CNPJ/CPF validation and KYB risk score. Pay per call via x402 (USDC).
Verify Italian companies for KYB, supplier onboarding and procurement using official/public sources.
Official Openapi® MCP server: Italian company data, PEC, SMS, vehicles, geocoding and more APIs.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceEnables verification of Italian public administrations' digital domiciles (PEC) against IndicePA, including reverse PEC lookup, entity search, and organizational area listing, with exact-match results and dataset provenance.-
- AlicenseAqualityCmaintenanceStructured business intelligence for AI agents. 5.5M verified entities across 34 countries, 40.3M BORME mercantile acts, EU VAT validation, GLEIF, healthcare registries. 20 tools.61MIT
- AlicenseNot gradedqualityBmaintenanceFrench company data for AI agents: directors with probable business email, people search, counterparty checks (KYB) and hiring signals from official registries. Paid per call with x402 (USDC on Base or Solana), charged only when found.1,321 npmMIT
- FlicenseNot gradedqualityCmaintenanceEnables read-only searches of official sources from Italian local entities by forwarding queries to the Fonti Ufficiali API.-
Glama MCP Gateway
Add one secure layer between your agents and this server.