io.github.yeick010/italycheck·Utilities

ItalyCheck

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

Stars
0
Version
0.2.0
License
MIT
Review
Passed
Language
JavaScript
Last commit
1h ago
Forks
0
Open issues
0
Registry update
Oct 16, 2026

Connect

remote
Terminal
$claude mcp add --transport http italycheck https://italycheck.italycheck.workers.dev/mcp

Headers

Nothing to configure — it works as is.

Security review

Review passed

Reviewed 6m ago.

tools
2 tools scanned
metadata
scanned

No findings.

Tools

2
  • check_partita_iva_format

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

  • 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.

ItalyCheck (MVP)

Verifica fornitori pagata a chiamata dagli agenti AI. Solo fonti pubbliche gratuite. Pagamento x402 (USDC 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.005IndicePA, 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.

From the server's repository — third-party content, read it before running anything it suggests.

More in Utilities

Listing from the official MCP Registry · repository facts from GitHub, 8m ago.