Back to Browse

Italycheck MCP Server

Developer ToolsLow Risk8.4MCP RegistryLocalRemote
Free

Server data from the Official MCP Registry

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

About

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

Remote endpoints: streamable-http: https://italycheck.italycheck.workers.dev/mcp

Security Report

8.4
Low Risk8.4Low Risk

ItalyCheck is a pay-per-call lookup server for Italian public administrations and EU VAT numbers. It makes outbound calls only to official sources (EU VIES, IndicePA) and gates its paid routes with x402 payments, with no evidence of exfiltration, shell execution, or hardcoded secrets. The main concerns are operational: a build alias that skips schema validation, an environment flag that can disable payment enforcement, and a compliance gap where documented IP-based abuse blocking is not implemented in the code.

11 files analyzed · 7 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

HTTP Network Access

Connects to external APIs or services over the internet.

env_vars

Check that this permission is expected for this type of plugin.

How to Install & Connect

Available as Local & Remote

This plugin can run on your machine or connect to a hosted endpoint. during install.

Documentation

View on GitHub

From the project's GitHub 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".

Reviews

No reviews yet

Be the first to review this server!