Verika - Verifica P.IVA, Codice Fiscale e IBAN について
Verikaは、イタリアのVAT番号、税コード、IBANを検証するMCPサーバーです。イタリア企業や公的機関を確認するAIエージェント向けに、形式検証とVIES、IPA、GLEIF、ISTATなどの公式情報源の照会を提供します。
主な機能
- 01イタリアVAT番号の検証
- 02VIESによるVAT状態の確認
- 03税コードとIBANの検証
- 04自治体と制裁リストの検索
- 05情報を補完した主体プロフィールの作成
活用シーン
- 01仕入先のVAT番号のスクリーニング
- 02税コードとIBAN形式の確認
- 03簡易KYCでの主体確認
- 04公的機関の関連情報の特定
MCP 対応
MCPクライアントに読み取り専用の識別子検証と主体照会ツールを公開します。認証不要のStreamable HTTPリモートエンドポイントを利用できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://partita-iva-mcp.pons-labs.workers.dev/mcpclaude mcp add --transport http jackpons-partita-iva https://partita-iva-mcp.pons-labs.workers.dev/mcp{"mcpServers":{"jackpons-partita-iva":{"type":"http","url":"https://partita-iva-mcp.pons-labs.workers.dev/mcp"}}}Cursor で開く{"servers":{"jackpons-partita-iva":{"type":"http","url":"https://partita-iva-mcp.pons-labs.workers.dev/mcp"}}}VS Code で開く{"mcpServers":{"jackpons-partita-iva":{"type":"http","url":"https://partita-iva-mcp.pons-labs.workers.dev/mcp"}}}{"mcpServers":{"jackpons-partita-iva":{"serverUrl":"https://partita-iva-mcp.pons-labs.workers.dev/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
7| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| nome | string | はい | 確認対象の法人名または氏名。例:'Mario Rossi' または 'Esempio Trading S.r.l.' |
| soglia | number | いいえ | 類似度のしきい値(デフォルトは 0.8) |
詳細
Verika · partita-iva-mcp
イタリアの識別番号(VAT 番号、納税者番号、IBAN)を検証し、無料の公式情報源(VIES、IPA、GLEIF、ISTAT、EU 制裁リスト)のデータを追加する MCP サーバーです。
オンボーディング、簡易的な KYC、公共行政機関(PA)への請求、顧客情報の整理など、イタリアの企業や団体の確認が必要な AI エージェントを利用または構築する方を対象としています。4 つの異なる API を統合する必要はありません。
すぐに使う
サーバーはすでにオンラインで、無料、キー不要です。インストールや登録は必要ありません。
- エンドポイント:
https://partita-iva-mcp.pons-labs.workers.dev/mcp - トランスポート:Streamable HTTP(リモート MCP)
- 認証:不要
Claude(デスクトップ、ウェブ、モバイル) — 設定 → コネクター → カスタムコネクターを追加 → エンドポイントを貼り付け → 追加。新しいチャットで + → コネクター から有効にします。カスタムコネクターに対応したプランが必要です。
Claude Code
claude mcp add --transport http partita-iva --scope user https://partita-iva-mcp.pons-labs.workers.dev/mcp
Cursor、VS Code、その他のクライアント(JSON 設定を使用):
{
"mcpServers": {
"partita-iva": { "url": "https://partita-iva-mcp.pons-labs.workers.dev/mcp" }
}
}
公式 MCP レジストリ にも io.github.JackPons/partita-iva-mcp として公開されています。
使用例
コネクターを有効にした状態で、アシスタントに尋ねる質問の例:
- 「この VAT 番号の詳細を教えてください[請求書などに記載された実在の VAT 番号]:有効ですか?所在地はどこですか?」 →
scheda_soggettoは、VIES のステータス、名称、ISTAT に基づいて正規化された所在地(市町村、県、州)、制裁リストのスクリーニング、法人形態と企業グループ情報を含む LEI(企業に該当する場合)、公共行政機関の場合は IPA コードと PEC を返します。 - 「この納税者番号は有効ですか?RSSMRA85T10A562S。この人はどこで生まれましたか?」 →
valida_codice_fiscaleはチェック文字を検証し、性別、生年月日、出生地(この例では San Giuliano Terme、PI)を特定します。 - 「IBAN DE89 3704 0044 0532 0130 00 を確認してください」 →
valida_ibanはチェックディジットを検証します。イタリアの IBAN では ABI、CAB、口座番号も分解し、判明している場合は銀行名を示します。 - 「Bank Rossiya は EU 制裁リストに載っていますか?」 →
controlla_sanzioniは類似度スコア付きで一致候補を返します(結果はda_verificare)。 - 「VAT 番号を持つ仕入先 10 社のリストがあります。有効でない企業を教えてください」 → アシスタントは各社について
verifica_partita_ivaを呼び出し、結果をまとめます。
valida_iban の応答例(一部):
{
"normalizzato": "DE89370400440532013000",
"valido": true,
"paese": "DE",
"formattato": "DE89 3704 0044 0532 0130 00"
}
ツール
| ツール | 機能 | 外部への呼び出し |
|---|---|---|
valida_partita_iva | 形式チェック(11 桁、チェックディジット、税務署コード) | なし |
verifica_partita_iva | VIES のステータス:有効/無効、名称、住所 | VIES |
valida_codice_fiscale | チェック文字、同名異人コード、性別、生年月日、出生地(ISTAT 市町村または外国)、11 桁の場合は法人 | なし |
valida_iban | すべての国で Mod 97 を実行。イタリアの場合は CIN、ABI → 銀行、CAB、口座番号も確認 | なし |
cerca_comune | 名称または地籍コードで市町村を検索:県、州、ISTAT コード | なし |
controlla_sanzioni | 統合 EU 制裁リストに対する氏名の簡易スクリーニング。許容度の高い照合とスコアを提供 | なし |
scheda_soggetto | VAT 番号に基づく総合情報:形式チェック+VIES(住所を ISTAT に基づいて正規化)+制裁リストのスクリーニング+公共行政機関の場合は IPA データ+LEI、法人形態、親会社、子会社数(GLEIF) | VIES、IPA、GLEIF |
各応答には情報源とサービスへの接続可否が示されるため、エージェントは「無効」と「検証できなかった」を混同しません。
ローカル開発
サーバーを変更する場合や、自分用のコピーを実行する場合に使用します。必要条件:Node.js 22+、npm。デプロイするには Cloudflare アカウントが必要です(無料プランで十分です)。
npm install
npm run dati # scarica le tabelle ISTAT e la lista sanzioni UE in src/data/ (una volta, poi ogni tanto)
npm test # test unitari, nessuna rete necessaria
npm run inspect # apre MCP Inspector sul server stdio
npm run dev # server HTTP locale su http://localhost:8787/mcp
VS Code では、.vscode/mcp.json に stdio サーバーがすでに登録されています。コマンドパレットを開き → MCP: List Servers → partita-iva-locale を選択します。
ローカル HTTP サーバーを起動した状態で Claude Code から使用する場合:
claude mcp add partita-iva -t http http://localhost:8787/mcp
Cloudflare Workers へのデプロイ
npx wrangler login
npm run deploy
エンドポイントは https://partita-iva-mcp.<tuo-subdominio>.workers.dev/mcp です。ホームページ(/)には接続手順が表示され、/health は {ok:true} を返します。
使用統計とプライバシー
このワーカーは Cloudflare D1 に呼び出しを記録し、ユーザーごとに毎分60件のレート制限を適用します。どちらも任意です。設定しなくても、サーバーは同じように動作します。
各呼び出しについて保存されるデータ:日時、MCP メソッド、ツール名、クライアント(例:claude-ai)、国、結果、所要時間、IP アドレス+日付+秘密のソルトのハッシュであるユーザー識別子。
保存されないデータ:ツールの引数(付加価値税番号、納税者番号、IBAN、名前)と IP アドレス。ハッシュは毎日変わるため、1日のユニークユーザー数は集計できますが、ユーザーを長期間にわたって追跡することはできません。90日を超えた行は、毎晩削除されます。
設定(初回のみ)
npx wrangler d1 create partita-iva-mcp-stats # copia il database_id in wrangler.jsonc
npm run db:migra # crea la tabella sul D1 remoto
npx wrangler secret put STATS_TOKEN # una stringa lunga a caso: protegge /stats
npx wrangler secret put HASH_SALT # un'altra stringa a caso: sale per l'hash degli IP
npm run deploy
ローカル開発の場合:npm run db:migra-locale を実行し、STATS_TOKEN=... と HASH_SALT=... を記載した .dev.vars ファイルを用意します(git の対象外)。
統計の確認
curl -H "Authorization: Bearer $STATS_TOKEN" https://<tuo-worker>/stats?giorni=30
またはブラウザーで https://<tuo-worker>/stats?token=... にアクセスします。合計、日ごとの呼び出し数とユーザー数、ツールごとの呼び出し数とエラー数、クライアント、国が返されます。
レジストリへの公開
server.jsonを更新します(名前io.github.<utente>/<server>、バージョン、末尾が/mcpの URL)。公開のたびに新しいバージョンが必要です。- 公式レジストリ:
mcp-publisherをインストールし、mcp-publisher validate、mcp-publisher login github、mcp-publisher publishを実行します。PulseMCP と Glama はここから取得します。 - Smithery:smithery.ai/new からエンドポイントの URL を登録します。デプロイのたびに、Releases → Publish を選択して再スキャンします。
- イタリア語カタログ:bsab/italia-mcp-servers に、リポジトリの CONTRIBUTING に従って PR を送信します。
ローカルテーブル(src/data/)
JSON ファイルはシードデータとして、テスト用の少数の項目から始まります。npm run dati を実行すると、次の内容に置き換わります。
comuni.json— 地籍コード、県、州、ISTAT コードを含む、ISTAT の全自治体sanzioni.json— 統合済みの EU 金融制裁リスト(ID、種類、名前/別名、プログラム)
stati-esteri.json(Z コード)と abi.json(銀行)は手作業で作成された部分的なテーブルです。確認して拡充する必要があります。ABI コードについては、信頼できる情報源はイタリア銀行の金融仲介機関リストです。公式 CSV を見つけた場合は、その処理をスクリプトに追加してください。
テーブルを使用する各ツールは、出力でテーブルがシードデータか更新済みかを示します(infoTabelle)。また、controlla_sanzioni は npm run dati を実行するまで lista_non_caricata を返します。「該当なし」と誤って答えるより、明確に「わからない」と答えるほうが適切です。
構成
src/
lib/ algoritmi puri e client delle fonti (testabili senza MCP)
partita-iva.ts
codice-fiscale.ts
iban.ts
vies.ts
ipa.ts
gleif.ts LEI, forma giuridica e gruppo
tabelle.ts accesso alle tabelle locali
sanzioni.ts matching contro la lista UE
data/ tabelle JSON (seed → aggiornate da npm run dati)
server.ts definizione degli strumenti MCP (condivisa)
telemetria.ts conteggio chiamate (D1), rate limit, statistiche
stdio.ts entrypoint locale
worker.ts entrypoint Cloudflare Workers (Streamable HTTP, stateless)
migrations/ schema SQL del database D1
scripts/
aggiorna-dati.ts scarica e converte le tabelle ufficiali
test/ node:test, con fetch finto per VIES, IPA e GLEIF
情報源と制限
すべてのツールは読み取り専用です。データを変更したり、VIES、IPA、GLEIFへの問い合わせ以外に第三者へ何かを送信したりすることはありません。レート制限:ユーザーあたり毎分60リクエストです。
- VIES(欧州委員会):EU域内取引におけるVAT登録番号のステータスを確認します。イタリアについては通常、名称と住所を返します。一時的に利用できない場合があり、その場合はサーバーが通知します。
- IPA(indicepa.gov.it、オープンデータCKAN):行政機関の特定と、IPAコード、PEC、ウェブサイトの取得に使用します。
- GLEIF(api.gleif.org、CC0ライセンス):世界規模のLEI登録機関です。商業登記簿に登録された企業を対象に、納税者番号で検索します。法的形態、LEIのステータス、直接の親会社、最上位の親会社、子会社数を返します。LEIを保有しているのは主に中堅・大企業や金融市場で活動する企業です。小規模企業で
trovato: falseとなるのは正常です。 - ISTAT(自治体一覧):自治体名と地籍コードの正規化に使用します。
- EU統合制裁リスト:名称によるスクリーニングで、結果は参考情報です。AMLプロバイダーや担当者の判断に代わるものではありません。音訳された名前(アラビア語、キリル文字)は、トークン照合で検出できない場合があります。
- サーバーは商業登記簿にアクセスしません。株主、役職、財務諸表、抗議記録は有料データであり、このバージョンの対象外です。
- 納税者番号から抽出される生年月日は、世紀が推定されます(
anno_ambiguo: true)。
返されるデータには、元の情報源のライセンスが適用されます。
ロードマップ
- 地籍コードから自治体を特定、Zコードから外国の国を特定
- ABIから銀行を特定(一部のテーブル)
- EU制裁スクリーニング
- 個人データを含まない、ツールごとの呼び出し回数のカウント(D1)
- 基本的なレート制限
- すべてのツールで出力スキーマと読み取り専用の注釈
- より高い上限を設定できるオプションのAPIキー
- 郵便番号 → 自治体(ISTAT/Poste)
- 対象者の情報にANAC(落札された公共調達)とRNA(国の補助金)を追加
- ATECOコードの説明
ライセンス
MIT。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。