ItalyCheck

io.github.yeick010Published by GitHub account yeick010v0.2.0Updated Oct 25, 2026

Italian public bodies by codice fiscale (IndicePA): name, PEC, address. Paid per call via x402.

The publisher's own server: check.tattoo: tattoo size and placement guide

VerifiedStreamable HTTPWeb executableFinanceBusiness & Commerce

Overview

AI-generated overview

Remote MCP server that checks Italian VAT number formats for free and looks up Italian public bodies by codice fiscale, paid per call in USDC or EURC.

What you can do
  • Validate an Italian partita IVA offline: 11 digits plus check digit, without confirming registration
  • Look up Italian public administrations and public-service operators in IndicePA by 11-digit codice fiscale
  • Retrieve a body's name, official PEC (certified email) addresses and address
  • Pay for lookups per call through x402 in USDC or EURC on Base
When to use it
Useful when an assistant must verify an Italian public-sector counterparty, find its official PEC addresses, or confirm a body exists before e-invoicing, and when a quick offline format check of a partita IVA is enough.
Requirements
A remote endpoint over Streamable HTTP; no account, API key or header is declared. Paid lookups require an x402-capable client with a funded Base wallet (USDC by default, EURC optional); clients with default spend controls may only allow USDC. Network access to the endpoint is needed.
Before you install
The lookup tool spends money on every call (0.005 USDC or EURC on Base mainnet), so set spending limits in the client. The format check does not confirm that a VAT number is registered. IndicePA data is CC BY 4.0 and requires citing the source. The README states the VIES-based VAT endpoint is disabled and that abusive or repeated queries are blocked by IP.

Installation

In SourceWeft

  1. Open ItalyCheck in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.yeick010%2Fitalycheck/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "italycheck": {
      "type": "http",
      "url": "https://italycheck.italycheck.workers.dev/mcp"
    }
  }
}

README

ItalyCheck (MVP)

[ItalyCheck MCP server] Verifica fornitori pagata a chiamata dagli agenti AI. Solo fonti pubbliche gratuite. Pagamento x402 (USDC o EURC su Base).

Endpoint

PathPrezzoFonte
GET /v1/vat?vat=IT00743110157$0.01EU VIES REST (passthrough in tempo reale, nessuna conservazione)
GET /v1/pa?cf=80016350821$0.005 USDC o €0.005 EURCIndicePA, dataset "Enti" (AgID, CC BY 4.0, attribuzione obbligatoria)
GET /v1/vat/format?vat=...gratischecksum P.IVA offline
GET /gratiscatalogo con descrizioni per agenti

Uso

npm installnpm test              # test live su VIES + IndicePA, 402 x402, MCPnpm run dev           # senza pagamenti, porta 8787npm start             # con x402 (testnet Base Sepolia, facilitator x402.org)ITALYCHECK_URL=https://... npm run mcp   # server MCP stdio (proxy). ITALYCHECK_LOCAL=1 = lookup locali

Passare in produzione (NON fatto)

  1. PAY_TO = indirizzo wallet Base di Yeison.
  2. X402_NETWORK=eip155:8453; facilitator CDP (npm i @coinbase/x402, chiavi CDP_API_KEY_ID/SECRET; 1.000 tx/mese gratis, poi $0.001).
  3. npx wrangler deploy su Cloudflare Workers Free (uso commerciale consentito, 100k richieste/giorno, 10 ms CPU).
  4. Lo scopre il Bazaar dopo il primo pagamento regolato tramite facilitator CDP. Pubblicare il MCP su MCPize/Smithery.

Vincoli legali

  • Il disclaimer VIES consente l'uso solo per verificare la partita IVA per operazioni intracomunitarie. È vietata ogni estrazione non conforme e l'abuso viene bloccato per IP (es. stessa partita IVA più volte al giorno). Quindi niente cache condivisa, niente archivi, niente scraping massivo.
  • IndicePA: CC BY 4.0, va citata la fonte "© AgID – IndicePA".

Stato del deploy (16/10/2026)

  • Online: https://italycheck.italycheck.workers.dev (Cloudflare Workers Free, Base Sepolia testnet, facilitator x402.org)
  • Solo /v1/pa a pagamento. /v1/vat (VIES) disattivato: ENABLE_VAT="0", in attesa di parere legale.
  • Deploy: CLOUDFLARE_ACCOUNT_ID=... npx -y -p node@22 node ./node_modules/wrangler/bin/wrangler.js deploy (wrangler 4 richiede Node 22).
  • Il Worker crea una nuova app per ogni richiesta e mette in cache solo la risposta "supported" del facilitator, come dati. Condividere promise in corso tra più richieste bloccava le richieste su Workers.

Mainnet (16/10/2026, sera)

  • Rete Base mainnet eip155:8453, USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913, facilitator CDP. I segreti CDP_API_KEY_ID e CDP_API_KEY_SECRET sono in Cloudflare (wrangler secret).
  • Bazaar: estensione discovery con schema e esempio. Validato da CDP /x402/validate: valid true.
  • MCP remoto: POST /mcp (Streamable HTTP, stateless). lookup_italian_pa si paga con x402 via MCP (@x402/mcp).
  • CPU: src/bazaar-shim.js (alias wrangler) salta la rivalidazione ajv per ogni richiesta. JWT CDP e risposta "supported" sono in cache come dati.
  • Vedi SUBMISSIONS.md per la discovery.

EURC (24/10/2026)

  • /v1/pa e il tool MCP lookup_italian_pa accettano anche EURC su Base, oltre a USDC. USDC resta la prima opzione (default) in accepts; EURC è la seconda, stesso importo nominale (0.005 EURC = 5000 unità, 6 decimali), stesso payTo.
  • EURC Base mainnet 0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42 (Circle: https://developers.circle.com/stablecoins/eurc-contract-addresses). Base Sepolia 0x808456652fdb597867f38412077A9182bf77359F. Dominio EIP-712 letto on-chain: name EURC, version 2.
  • Il facilitator CDP accetta ogni ERC-20 con EIP-3009 (USDC, EURC) sulle sue reti EVM: https://docs.cdp.coinbase.com/x402/support/faq
  • Nota per chi compra: i client @x402 2.28 con spendControls predefiniti accettano solo gli asset predefiniti (USDC). Per pagare in EURC servono spendControls.allowedAssets con EURC, oppure allowedAssets: true.
  • Per disattivare EURC: variabile DISABLE_EURC="1".

Source: README.md at commit 43c356b

Tools

2

check_partita_iva_format

Free offline check of an Italian partita IVA (11 digits + check digit). Does not confirm registration.

Parameterspivarequired

lookup_italian_pa

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.

Parameterscfrequired

Version history

1
  1. v0.2.0LatestOct 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Check integrations