mcpField
I
ItalyCheck

ItalyCheck

Remote
github.com/yeick010Legal & Government0Updated 4d ago
Repository

About ItalyCheck

ItalyCheck is an x402-paid API for AI agents checking Italian public bodies and VAT data from public sources. Its deployed MCP endpoint exposes paid public-body lookup; VAT lookup is currently disabled pending legal review.

Key features

  1. 01Paid public-body lookup by codice fiscale
  2. 02USDC or EURC payments on Base
  3. 03VAT number checksum validation offline
  4. 04Public-source data with attribution requirement

Use cases

  1. 01Checking an Italian public body's name and contact details
  2. 02Validating a VAT number's format without a network lookup

MCP support

The remote Streamable HTTP MCP endpoint exposes `lookup_italian_pa`, with x402 payment accepted through MCP. Local lookup mode is also available through the MCP command.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://italycheck.italycheck.workers.dev/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

Details

From the project 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 install
npm test              # test live su VIES + IndicePA, 402 x402, MCP
npm run dev           # senza pagamenti, porta 8787
npm 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".

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.