VIES VAT Validator MCP

Official registry Other

Validate EU VAT numbers against the official VIES service with a local pre-check.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

Remote (streamable-http)
Claude Code
claude mcp add --transport http vies-vat-validator-mcp 'https://neeenja--vies-vat-validator-mcp.apify.actor/mcp'
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "vies-vat-validator-mcp": {
            "type": "http",
            "url": "https://neeenja--vies-vat-validator-mcp.apify.actor/mcp"
        }
    }
}

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. VIES VAT Validator MCP 🇪🇺
  2. English
  3. Why this exists
  4. What you get
  5. Quick start (local)
  6. Example calls
  7. Error codes (excerpt)
  8. Deploy (Apify Pay-Per-Event)
  9. Design red lines
  10. 简体中文
  11. 为什么做这个
  12. 你能拿到什么
  13. 快速开始(本地)
  14. 调用示例
  15. 错误码(节选)
  16. 部署(Apify Pay-Per-Event)
  17. 设计红线
  18. 繁體中文
  19. 為什麼做這個
  20. 你能拿到什麼
  21. 快速開始(本地)
  22. 呼叫範例
  23. 錯誤碼(節選)
  24. 部署(Apify Pay-Per-Event)
  25. 設計紅線
  26. License
  27. Privacy
  28. Support · 赞助 · 贊助

VIES VAT Validator MCP 🇪🇺

VIES VAT Validator MCP validates EU VAT numbers through the official free VIES SOAP API, wrapped with a local format pre-check + free TTL cache and bilingual (中文 / English) error codes. A "regulatory must-have" compliance tool for cross-border e-commerce and trade sellers.

Current version: 1.0.3 · License: MIT · Trust: built read-only, no secret exfiltration, self-healing bilingual errors.

EN — Two-stage EU VAT validation: free offline format pre-check, then live VIES, with bilingual error codes. 简体中文 — 两段式欧盟 VAT 校验:本地免费格式预检 + 官方 VIES 实查,中英双语错误码。 繁體中文 — 兩段式歐盟 VAT 校驗:本地免費格式預檢 + 官方 VIES 實查,中英雙語錯誤碼。

🌐 English · 简体中文 · 繁體中文

It lives atLink
MCP endpointhttps://neeenja--vies-vat-validator-mcp.apify.actor/mcp
Apify Storehttps://apify.com/neeenja/vies-vat-validator-mcp
Sourcehttps://github.com/PanStories/vies-vat-validator-mcp
Featured onSartbot Featured

English

Why this exists

  • Regulatory must-have — EU B2B transactions require verifying the counterparty's VAT number (reverse charge / compliance proof).
  • VIES is slow and flaky — the official SOAP endpoint rate-limits and goes down often, so a cache + graceful degradation are mandatory.
  • Zero cold-start cost — a free official data source wrapped with a thin layer + bilingual, explainable output, sold per-event.

What you get

CapabilityNotesPricing
validate_vatfree local format check, then optional live VIES verification; structured + bilingual errors$0.0005 / event (→ $0.005 from 2026-11-06)
check_vat_formatpure local regex format check — no network, freefree
list_supported_countriessupported countries — native name + local VAT term + 中文/ENfree
get_error_codesfull bilingual error-code tablefree
resourcesvat://error-codes / vat://supported-countries / vat://specfree
promptsvat_compliance_guide / explain_vat_resultfree

Covers EU 27 + GB + XI (Northern Ireland). Every country also carries its native name and — far more useful — the local term for the VAT number, which is what people actually search for:

代码 Code母语名 Native当地 VAT 叫法 Local VAT term中文EnglishEU
ATÖsterreichUID-Nummer奥地利Austria✅
BEBelgië / BelgiqueBTW-nummer / numéro de TVA比利时Belgium✅
BGБългарияДДС номер保加利亚Bulgaria✅
CYΚύπρος / KıbrısΑριθμός ΦΠΑ塞浦路斯Cyprus✅
CZČeskoDIČ捷克Czech Republic✅
DEDeutschlandUSt-IdNr.德国Germany✅
DKDanmarkCVR-nummer丹麦Denmark✅
EEEestiKMKR number爱沙尼亚Estonia✅
ELΕλλάδαΑριθμός ΦΠΑ希腊Greece✅
ESEspañaNIF (IVA)西班牙Spain✅
FISuomiALV-numero芬兰Finland✅
FRFrancenuméro de TVA法国France✅
HRHrvatskaPDV broj克罗地亚Croatia✅
HUMagyarországÁFA-szám匈牙利Hungary✅
IEIreland / ÉireVAT number爱尔兰Ireland✅
ITItaliaPartita IVA意大利Italy✅
LTLietuvaPVM kodas立陶宛Lithuania✅
LULëtzebuerg / Luxembourgnuméro TVA卢森堡Luxembourg✅
LVLatvijaPVN numurs拉脱维亚Latvia✅
MTMaltaVAT number马耳他Malta✅
NLNederlandbtw-nummer荷兰Netherlands✅
PLPolskaNIP波兰Poland✅
PTPortugalNIF葡萄牙Portugal✅
RORomâniacod de TVA罗马尼亚Romania✅
SESverigemomsregistreringsnummer瑞典Sweden✅
SISlovenijaID za DDV斯洛文尼亚Slovenia✅
SKSlovenskoIČ DPH斯洛伐克Slovakia✅
GBUnited KingdomVAT registration number英国United Kingdom—
XINorthern IrelandVAT registration number (XI)北爱尔兰Northern Ireland—

叫法取当地商务常用写法;部分国家有不止一种官方接受的写法,表中列最主要的那种。 Terms follow common local business usage — some countries accept more than one form; the main one is shown.

Quick start (local)

npm install
npm run build
npm start            # stdio transport, connects to any MCP client
npm test             # vitest, all green
npm run verify       # generate verify-report.html with real payloads
Connect with an MCP client (stdio)
{
  "mcpServers": {
    "vat-validator": {
      "command": "node",
      "args": ["/abs/path/vies-vat-validator-mcp/dist/index.js"]
    }
  }
}
Connect over HTTP (remote / Apify)

Point your MCP client at the Streamable HTTP endpoint:

https://neeenja--vies-vat-validator-mcp.apify.actor/mcp

with the header Authorization: Bearer <APIFY_TOKEN>.

Example calls

Format pre-check (free)

{ "name": "check_vat_format", "arguments": { "vat": "FR123456789" } }

→ { "formatValid": true, "normalized": "FR123456789", "pattern": "^([A-Z]{2})?\\d{9}$" }

Live verification (paid event)

{ "name": "validate_vat", "arguments": { "vat": "FR123456789", "useCache": true, "live": true } }

→ { "valid": true, "formatValid": true, "viesValid": true, "source": "vies", "name": "...", "address": "..." }

Error codes (excerpt)

Code中文EN
VAT_FORMAT_INVALID格式不符format mismatch
VAT_VIES_INVALIDVIES 判定无效VIES says invalid
VIES_MS_UNAVAILABLE成员国系统不可用member state down
VIES_TIMEOUT超时timeout
NETWORK_ERROR网络错误network error

Full table via get_error_codes or vat://error-codes.

Deploy (Apify Pay-Per-Event)

npm run apify:login      # complete KYC yourself first (one-time)
npm run apify:validate   # validate actor.json
npm run apify:push       # publish to Apify Store

Pricing lives in .actor/actor.json → pricingEvents: format / error / country queries are free; only mcp-validate-vat is billed.

Design red lines

  • No express / soap / fast-xml-parser: the SOAP envelope is hand-built and the response parsed with namespace-agnostic regex.
  • Never crash: VIES faults / network errors map to bilingual error codes.
  • Free layer (format check + cache) guarantees zero cold-start cost.

See SPEC.md for the full contract.


简体中文

为什么做这个

  • 监管刚需 —— 欧盟 B2B 交易要求核验对方 VAT 税号(逆向征收 / 合规凭证)。
  • VIES 又慢又抖 —— 官方 SOAP 接口频繁限流、偶发停机,缓存 + 优雅降级是必选项。
  • 零冷启动成本 —— 免费官方数据源,叠加一层封装 + 可解释的双语输出,按事件计费。

你能拿到什么

能力说明计费
validate_vat先做免费本地格式校验,再按需调用欧盟官方 VIES 接口核验真实性;结构化 + 双语错误$0.0005 / 次(2026-11-06 起 $0.005)
check_vat_format纯本地正则格式校验,零网络、零成本免费
list_supported_countries返回支持国家(母语名 + 当地 VAT 叫法 + 中/英)免费
get_error_codes返回完整中英双语错误码表免费
resourcesvat://error-codes / vat://supported-countries / vat://spec免费
promptsvat_compliance_guide / explain_vat_result免费

覆盖 EU 27 + GB + XI(北爱尔兰)。每个国家还带母语名,以及更实用的当地对 VAT 号的叫法——这才是当地人真正会搜的词:

代码 Code母语名 Native当地 VAT 叫法 Local VAT term中文EnglishEU
ATÖsterreichUID-Nummer奥地利Austria✅
BEBelgië / BelgiqueBTW-nummer / numéro de TVA比利时Belgium✅
BGБългарияДДС номер保加利亚Bulgaria✅
CYΚύπρος / KıbrısΑριθμός ΦΠΑ塞浦路斯Cyprus✅
CZČeskoDIČ捷克Czech Republic✅
DEDeutschlandUSt-IdNr.德国Germany✅
DKDanmarkCVR-nummer丹麦Denmark✅
EEEestiKMKR number爱沙尼亚Estonia✅
ELΕλλάδαΑριθμός ΦΠΑ希腊Greece✅
ESEspañaNIF (IVA)西班牙Spain✅
FISuomiALV-numero芬兰Finland✅
FRFrancenuméro de TVA法国France✅
HRHrvatskaPDV broj克罗地亚Croatia✅
HUMagyarországÁFA-szám匈牙利Hungary✅
IEIreland / ÉireVAT number爱尔兰Ireland✅
ITItaliaPartita IVA意大利Italy✅
LTLietuvaPVM kodas立陶宛Lithuania✅
LULëtzebuerg / Luxembourgnuméro TVA卢森堡Luxembourg✅
LVLatvijaPVN numurs拉脱维亚Latvia✅
MTMaltaVAT number马耳他Malta✅
NLNederlandbtw-nummer荷兰Netherlands✅
PLPolskaNIP波兰Poland✅
PTPortugalNIF葡萄牙Portugal✅
RORomâniacod de TVA罗马尼亚Romania✅
SESverigemomsregistreringsnummer瑞典Sweden✅
SISlovenijaID za DDV斯洛文尼亚Slovenia✅
SKSlovenskoIČ DPH斯洛伐克Slovakia✅
GBUnited KingdomVAT registration number英国United Kingdom—
XINorthern IrelandVAT registration number (XI)北爱尔兰Northern Ireland—

叫法取当地商务常用写法;部分国家有不止一种官方接受的写法,表中列最主要的那种。 Terms follow common local business usage — some countries accept more than one form; the main one is shown.

快速开始(本地)

npm install
npm run build
npm start            # stdio 传输,接任意 MCP 客户端
npm test             # vitest 全绿
npm run verify       # 生成真实 payload 验证报告 verify-report.html
与 MCP 客户端对接(stdio)
{
  "mcpServers": {
    "vat-validator": {
      "command": "node",
      "args": ["/abs/path/vies-vat-validator-mcp/dist/index.js"]
    }
  }
}
通过 HTTP 对接(远程 / Apify)

把你的 MCP 客户端指向 Streamable HTTP 端点:

https://neeenja--vies-vat-validator-mcp.apify.actor/mcp

并带上请求头 Authorization: Bearer <APIFY_TOKEN>。

调用示例

格式预校验(免费)

{ "name": "check_vat_format", "arguments": { "vat": "FR123456789" } }

→ { "formatValid": true, "normalized": "FR123456789", "pattern": "^([A-Z]{2})?\\d{9}$" }

实查(付费事件)

{ "name": "validate_vat", "arguments": { "vat": "FR123456789", "useCache": true, "live": true } }

→ { "valid": true, "formatValid": true, "viesValid": true, "source": "vies", "name": "...", "address": "..." }

错误码(节选)

代码中文EN
VAT_FORMAT_INVALID格式不符format mismatch
VAT_VIES_INVALIDVIES 判定无效VIES says invalid
VIES_MS_UNAVAILABLE成员国系统不可用member state down
VIES_TIMEOUT超时timeout
NETWORK_ERROR网络错误network error

完整表见 get_error_codes 或 vat://error-codes。

部署(Apify Pay-Per-Event)

npm run apify:login      # 本人先完成 KYC(一次性)
npm run apify:validate   # 校验 actor.json
npm run apify:push       # 上架

计费见 .actor/actor.json 的 pricingEvents:格式 / 错误 / 国家查询免费,仅 mcp-validate-vat 计费。

设计红线

  • 不引入 express / soap / fast-xml-parser:SOAP 信封手写、响应用命名空间无关的正则提取。
  • 永不崩溃:VIES 故障 / 网络错误全部映射为双语错误码。
  • 免费层(格式校验 + 缓存)保证冷启动零成本。

完整契约见 SPEC.md。


繁體中文

為什麼做這個

  • 監管剛需 —— 歐盟 B2B 交易要求核驗對方 VAT 稅號(逆向徵收 / 合規憑證)。
  • VIES 又慢又抖 —— 官方 SOAP 介面頻繁限流、偶發停機,快取 + 優雅降級是必選項。
  • 零冷啟動成本 —— 免費官方資料源,疊加一層封裝 + 可解釋的雙語輸出,按事件計費。

你能拿到什麼

能力說明計費
validate_vat先做免費本地格式校驗,再依需求呼叫歐盟官方 VIES 介面核驗真實性;結構化 + 雙語錯誤$0.0005 / 次(2026-11-06 起 $0.005)
check_vat_format純本地正則格式校驗,零網路、零成本免費
list_supported_countries回傳支援國家(母語名 + 當地 VAT 叫法 + 中/英)免費
get_error_codes回傳完整中英雙語錯誤碼表免費
resourcesvat://error-codes / vat://supported-countries / vat://spec免費
promptsvat_compliance_guide / explain_vat_result免費

涵蓋 EU 27 + GB + XI(北愛爾蘭)。每個國家還帶母語名,以及更實用的當地對 VAT 號的叫法——這才是當地人真正會搜的詞:

代码 Code母语名 Native当地 VAT 叫法 Local VAT term中文EnglishEU
ATÖsterreichUID-Nummer奥地利Austria✅
BEBelgië / BelgiqueBTW-nummer / numéro de TVA比利时Belgium✅
BGБългарияДДС номер保加利亚Bulgaria✅
CYΚύπρος / KıbrısΑριθμός ΦΠΑ塞浦路斯Cyprus✅
CZČeskoDIČ捷克Czech Republic✅
DEDeutschlandUSt-IdNr.德国Germany✅
DKDanmarkCVR-nummer丹麦Denmark✅
EEEestiKMKR number爱沙尼亚Estonia✅
ELΕλλάδαΑριθμός ΦΠΑ希腊Greece✅
ESEspañaNIF (IVA)西班牙Spain✅
FISuomiALV-numero芬兰Finland✅
FRFrancenuméro de TVA法国France✅
HRHrvatskaPDV broj克罗地亚Croatia✅
HUMagyarországÁFA-szám匈牙利Hungary✅
IEIreland / ÉireVAT number爱尔兰Ireland✅
ITItaliaPartita IVA意大利Italy✅
LTLietuvaPVM kodas立陶宛Lithuania✅
LULëtzebuerg / Luxembourgnuméro TVA卢森堡Luxembourg✅
LVLatvijaPVN numurs拉脱维亚Latvia✅
MTMaltaVAT number马耳他Malta✅
NLNederlandbtw-nummer荷兰Netherlands✅
PLPolskaNIP波兰Poland✅
PTPortugalNIF葡萄牙Portugal✅
RORomâniacod de TVA罗马尼亚Romania✅
SESverigemomsregistreringsnummer瑞典Sweden✅
SISlovenijaID za DDV斯洛文尼亚Slovenia✅
SKSlovenskoIČ DPH斯洛伐克Slovakia✅
GBUnited KingdomVAT registration number英国United Kingdom—
XINorthern IrelandVAT registration number (XI)北爱尔兰Northern Ireland—

叫法取当地商务常用写法;部分国家有不止一种官方接受的写法,表中列最主要的那种。 Terms follow common local business usage — some countries accept more than one form; the main one is shown.

快速開始(本地)

npm install
npm run build
npm start            # stdio 傳輸,接任意 MCP 用戶端
npm test             # vitest 全綠
npm run verify       # 產生真實 payload 驗證報告 verify-report.html
與 MCP 用戶端對接(stdio)
{
  "mcpServers": {
    "vat-validator": {
      "command": "node",
      "args": ["/abs/path/vies-vat-validator-mcp/dist/index.js"]
    }
  }
}
透過 HTTP 對接(遠端 / Apify)

將你的 MCP 用戶端指向 Streamable HTTP 端點:

https://neeenja--vies-vat-validator-mcp.apify.actor/mcp

並帶上請求標頭 Authorization: Bearer <APIFY_TOKEN>。

呼叫範例

格式預校驗(免費)

{ "name": "check_vat_format", "arguments": { "vat": "FR123456789" } }

→ { "formatValid": true, "normalized": "FR123456789", "pattern": "^([A-Z]{2})?\\d{9}$" }

實查(付費事件)

{ "name": "validate_vat", "arguments": { "vat": "FR123456789", "useCache": true, "live": true } }

→ { "valid": true, "formatValid": true, "viesValid": true, "source": "vies", "name": "...", "address": "..." }

錯誤碼(節選)

代碼中文EN
VAT_FORMAT_INVALID格式不符format mismatch
VAT_VIES_INVALIDVIES 判定無效VIES says invalid
VIES_MS_UNAVAILABLE成員國系統不可用member state down
VIES_TIMEOUT逾時timeout
NETWORK_ERROR網路錯誤network error

完整表見 get_error_codes 或 vat://error-codes。

部署(Apify Pay-Per-Event)

npm run apify:login      # 本人先完成 KYC(一次性)
npm run apify:validate   # 校驗 actor.json
npm run apify:push       # 上架

計費見 .actor/actor.json 的 pricingEvents:格式 / 錯誤 / 國家查詢免費,僅 mcp-validate-vat 計費。

設計紅線

  • 不引入 express / soap / fast-xml-parser:SOAP 信封手寫、回應用命名空間無關的正則提取。
  • 永不崩潰:VIES 故障 / 網路錯誤全部映射為雙語錯誤碼。
  • 免費層(格式校驗 + 快取)保證冷啟動零成本。

完整契約見 SPEC.md。


License

MIT — see LICENSE.

Privacy

Read-only and stateless — no accounts, no personal data collected. Submitted VAT numbers are forwarded to the official EU VIES service and may be held in a memory-only cache. See PRIVACY.md.


Support · 赞助 · 贊助

EN — VIES VAT Validator MCP is open source (MIT), ad-free. It is funded by the community, not by ads. If it powers your agents or workflow, please support it:

简体中文 — VIES VAT Validator MCP 开源(MIT)、无广告,由社区资助而非广告。若它支撑了你的智能体或工作流,欢迎赞助:点本仓库的 Sponsor 按钮(跳转 Ko-fi)或前往 https://ko-fi.com/panstories

繁體中文 — VIES VAT Validator MCP 開源(MIT)、無廣告,由社群資助而非廣告。若它支撐了你的智能體或工作流,歡迎贊助:點本倉庫的 Sponsor 按鈕(導向 Ko-fi)或前往 https://ko-fi.com/panstories

Thank you! · 谢谢 · 謝謝 💙

Frequently asked questions

What is VIES VAT Validator MCP?

Validate EU VAT numbers against the official VIES service with a local pre-check.

How do I install VIES VAT Validator MCP?

It runs as a remote server. In Claude Code: claude mcp add --transport http vies-vat-validator-mcp 'https://neeenja--vies-vat-validator-mcp.apify.actor/mcp'. For other clients, paste the JSON configuration from this page into their MCP settings.

Does VIES VAT Validator MCP need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is VIES VAT Validator MCP open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains VIES VAT Validator MCP?

It is published by PanStories. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.