ItalyCheck
Server Details
Italian public bodies by codice fiscale (IndicePA): name, PEC, address. Paid per call via x402.
- Status
- Healthy
- Uptime
- 100.0% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- yeick010/italycheck
- GitHub Stars
- 0
- Server Listing
- ItalyCheck
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 2 tools
The two tools target entirely different operations: a purely syntactic offline format check versus a live registry lookup in IndicePA. An agent can unambiguously pick the right one, and the description even clarifies that the format check does not confirm registration, preventing misuse.
Both names use snake_case with a verb-first pattern (check_*, lookup_*), which is predictable and readable. The mix of English verbs with Italian domain nouns (partita_iva, italian_pa) is domain-appropriate rather than inconsistent, though the pattern is only two names long.
Two tools is thin for a server, even a narrowly scoped one; there is no get/list/batch variant or complementary check. It is not wrong for the stated niche, but it sits at the borderline of feeling under-scoped.
The domain implies validating Italian business identifiers, but the surface only offers syntax checking plus PA-only existence lookup; there is no way to confirm a private company's VAT registration or cross-check VIES. Agents needing validation of non-public entities will hit a dead end.
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 (or 0.005 EURC) 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?
With no annotations present, the description carries the burden and does disclose the key behavioral trait an agent must know before calling: it is a paid x402 call costing $0.005 USDC (or 0.005 EURC) on Base. It does not mention rate limits, error behavior for unknown codice fiscale, or latency.
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 sentences, front-loaded with the verb and resource, then the use cases, then the payment terms. No redundant restatement of the schema or filler.
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 single-parameter lookup with no annotations and no output schema, the description covers source, identity, use cases, and the payment gate. It leaves the return payload (legal name, address, PEC list) implicit, so an agent must infer what comes back, which is a minor gap given there is no output schema.
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 `cf` parameter is fully described with an 11-digit format and an example, so the description need not restate it. The description confirms the 11-digit identifier but adds no syntax, validation, or fallback guidance 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), resource (Italian public administration / public-service operator), identifier (11-digit codice fiscale) and authoritative source (IndicePA, AgID). It does not explicitly contrast with the sibling check_partita_iva_format, but the codice fiscale vs. partita IVA distinction is implicit in the phrasing.
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 when-to-use scenarios: verifying a public-sector counterparty, retrieving official PEC addresses, and confirming existence before e-invoicing. It stops short of naming when not to use it or pointing to the sibling for format-only checks.
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.
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.
Italian tax + anti-fraud: CF, P.IVA, IBAN, ATECO, IMU, F24, FatturaPA, NIS2. 23 free + 5 with key.
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. 11.3M verified entities, 40.3M BORME mercantile acts, EU VAT validation (VIES), GLEIF LEI and healthcare registries. 12 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.129 npmMIT
- FlicenseNot gradedqualityDmaintenanceEnables 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.