关于 Veriport: EU VAT number, IBAN, VAT rates and e-invoice checks
Veriport 是面向 Agent 的 stdio MCP 服务,提供欧洲 VAT、IBAN、企业、Peppol、税率和电子发票检查。它通过 Veriport API 提供六种工具,并返回验证详情和来源信息。
主要功能
- 01通过 VIES 验证 VAT 号码
- 02验证 IBAN 结构和校验码
- 03按国家或类别查询欧盟 VAT 税率
- 04验证电子发票结构和规则
- 05查询法国企业登记信息
- 06检查 Peppol 参与者及可接收单据
适用场景
- 01核验 VAT 号码并获取已公布的登记信息
- 02检查 IBAN 结构和 SEPA 状态
- 03按支持的配置验证电子发票
- 04查询法国企业或 Peppol 发票接收情况
MCP 相关
Veriport 是基于 stdio 的 MCP 服务,通过 Veriport API 提供六种确定性检查工具。MCP 客户端可使用 `@veriport/mcp` 配置连接,并可选提供 API 密钥。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @veriport/mcpVERIPORT_API_KEY密钥Your Veriport API key (vp_live_…, free at https://veriport.io/signup). Optional: without it the API answers 20 calls a day per address.VERIPORT_API_BASEThe API base URL; defaults to https://veriport.io/api/v1.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
6收录的工具列表 · 更新于 1 天前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| number | string | 是 | VAT 号码,可带或不带两字母前缀;允许包含空格或句点(例如 "DE136695976")。 |
| record | boolean | 否 | 将此验证结果作为账户的存档记录保留(付费套餐)。 |
| country | string | 否 | 号码没有前缀时使用的两字母成员国代码。 |
| requester | string | 否 | 您自己的欧盟 VAT 号码,用于获取 VIES 查询编号(付费套餐)。 |
详细介绍
Veriport MCP 服务
一个通过 stdio 运行的精简 Model Context Protocol 服务,为 Agent 提供来自 Veriport API 的四项确定性检查:无依赖、单文件、Node 18+。
| 工具 | 功能 |
|---|---|
validate_vat | 检查结构和国家校验位,然后实时查询欧盟委员会的 VIES;返回 valid、已公布的注册名称和地址、日期及来源信息(source.kind 为 live / cache / structure_only,source.stale);使用付费密钥时返回 VIES 查询编号及 requester。 |
validate_iban | 执行 IBAN 的五项检查(字符、国家、长度、mod 97-10、BBAN 格式),返回未通过的规则、银行和分行标识符以及 SEPA 标记。不判断账户是否存在。 |
vat_rate | 返回一个欧盟成员国的标准、低税率、超低税率和停车税率,以及七个类别提示、verifiedOn 和官方来源;也可查询 27 个成员国的某一类别。 |
validate_einvoice | 根据 XML 架构和相应配置文件的官方 Schematron 校验电子发票(以文本形式提供 xml,或以 pdf_base64 提供 ZUGFeRD / Factur-X PDF),支持 CEN EN 16931 1.3.16、XRechnung 3.0.2、Peppol BIS 3.0.21:返回 valid、配置文件、语法、带已发布规则 ID 和 XPath 的错误,并在首行提供单行摘要。每次校验计 5 次调用(无密钥时每天 4 次);不会通过网络发送或存储任何内容。 |
french_company | 根据 SIREN(9 位)或 SIRET(14 位)从官方登记处查询法国公司(Recherche d'entreprises,INSEE Sirene 作为备用):返回名称、法律形式、NAF 活动、存续或注销状态及日期、总部地址、SIRET 对应的营业场所、根据 SIREN 计算的 VAT 号码,以及登记处的读取时间。计 1 次调用。 |
peppol_participant | 该公司能否接收 Peppol 发票?id:Peppol ID(0208:0202239951)或比利时企业号或 VAT 号码(分别通过 0208 和 9925 查询)。返回其是否已注册、接收的单据(Peppol BIS Billing 3.0 的 receives.invoice、receives.creditNote)、服务提供商及其在 Peppol Directory 中的名称,并在首行提供单行摘要。计 1 次调用;不会通过网络发送任何内容。 |
限额以工具错误的形式返回,不会作为异常抛出:429 错误会说明何时重试,402 错误表示免费额度已用完,503 错误会指出未响应的上游服务。
一行安装
claude mcp add veriport -e VERIPORT_API_KEY=vp_live_… -- npx -y @veriport/mcp
(软件包发布到 npm 后使用 npx -y @veriport/mcp;在此之前,请从仓库检出目录运行 node mcp/server.mjs。)
环境变量:VERIPORT_API_KEY(可选,vp_live_…;不提供时,API 每个地址每天可调用 20 次)、VERIPORT_API_BASE(默认为 https://veriport.io/api/v1)。
Claude Desktop / Claude Code
{
"mcpServers": {
"veriport": {
"command": "npx",
"args": ["-y", "@veriport/mcp"],
"env": { "VERIPORT_API_KEY": "vp_live_…" }
}
}
}
claude mcp add veriport -e VERIPORT_API_KEY=vp_live_… -- npx -y @veriport/mcp
Cursor、Windsurf、Zed、Continue
在客户端的 MCP 配置中使用相同的 command / args / env 区块;该服务通过 stdio 传输方式运行,使用协议版本 2025-06-18,且仅声明 tools。
测试
node --test mcp/test/*.test.mjs
测试会在本地端口启动一个模拟 API,并通过 stdio 驱动服务:initialize、tools/list、六项工具(无效和有效的电子发票,XML 和 PDF),以及 429 / 503 / 422 / 缺少参数等状态。
注册表清单和列表
此文件夹中的 server.json 是官方 MCP 注册表的清单(架构 2025-12-11;名称 io.veriport/veriport,通过 stdio 使用 npm 包 @veriport/mcp,以及两个环境变量)。发布是所有者按以下顺序执行的步骤:在此文件夹中运行 npm publish --access public(注册表会将 package.json 的 mcpName 字段与服务名称进行核对),然后在此文件夹中运行 mcp-publisher login github 和 mcp-publisher publish。各目录(glama.ai、Smithery、Cursor)会读取同一份清单和 npm 包。
列表信息:名称 veriport;类别 finance / data;许可证 MIT;发布者 Janolab Studio LLC(德克萨斯州奥斯汀);主页 https://veriport.io/docs;源代码 https://github.com/zenomoung/veriport-sdk(文件夹 mcp)。与 European Commission、SWIFT、INSEE 或 INPI 均无关联;不构成税务建议。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。