关于 Veridigit
Veridigit 是面向 Agent 和应用的 MCP 服务及类型化 TypeScript 库,用于检查标识符结构。它按校验和与格式规则验证 IBAN、支付卡、ISBN-13 和 VIN,返回结构化结果及错误原因,且不进行网络调用。
主要功能
- 01使用 mod-97 验证 IBAN
- 02用 Luhn 检查卡号并识别品牌
- 03验证 ISBN-13 校验位
- 04检查 VIN 格式与校验位
- 05返回结构化结果和错误原因
- 06类型化 TypeScript 库
适用场景
- 01处理前检查支付信息
- 02验证表单中输入的标识符
- 03为 Agent 提供确定性标识符检查
MCP 相关
MCP 服务向 MCP 客户端提供 `validate_iban`、`validate_card`、`validate_isbn` 和 `validate_vin` 工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
4收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| iban | string | 是 | 要验证的 IBAN;空格会被忽略。 |
详细介绍
veridigit
为 AI Agent 验证结构化标识符——依据校验和,而非猜测。
大模型会欣然接受格式错误的 IBAN,把银行卡校验位写错,编造 ISBN 和 VIN 校验位,还会猜错银行卡品牌。veridigit 为 Agent 提供确定且权威的答案:它运行实际的校验和算法,并返回包含解析部分和明确错误原因的结构化结果。
它同时提供 MCP 服务(供 Agent 实时调用)和类型化的 TypeScript 库(供应用导入)。
v1 支持:
- IBAN — ISO 7064 mod-97 校验和及各国家/地区特定的长度规则,支持 75 个以上国家/地区。
- 银行卡 — Luhn(ISO/IEC 7812)校验和、根据 BIN 识别品牌(Visa、Mastercard、Amex、Discover、Diners、JCB、UnionPay)以及长度规则。
- ISBN-13 — 978/979 前缀和 mod-10 加权校验位。
- VIN — ISO 3779 字母表(不含 I/O/Q)以及第 9 位的转写校验位。
原因
在 32 个随机生成且未记忆的标识符中,一个没有工具可用的前沿模型有 91% 的概率算错校验位——IBAN 为 100%,VIN 为 100%,ISBN-13 为 88%,银行卡/Luhn 为 75%——而 veridigit 的错误率为 0%。这类失败不易察觉:模型给出的答案自信、格式完美,却恰好是错的。veridigit 用算法取代猜测。
基准测试和可复现的测试框架:https://qinisolabs.github.io/veridigit
91% 的数据来自一个关闭工具、温度设为 0 的前沿模型。你可以使用
bench/中的测试框架,在任何模型上自行运行。
用作 MCP 服务
// in your MCP client config
{
"mcpServers": {
"veridigit": { "command": "npx", "args": ["-y", "veridigit"] }
}
}
提供的工具:validate_iban、validate_card、validate_isbn、validate_vin。
用作库
npm install veridigit
import { validateIban, validateCard, validateIsbn13, validateVin } from "veridigit";
validateIban("GB82 WEST 1234 5698 7654 32");
// { valid: true, countryCode: "GB", country: "United Kingdom", checkDigits: "82", ... }
validateCard("4111 1111 1111 1111");
// { valid: true, luhnValid: true, brand: "Visa", lengthValid: true, ... }
validateIsbn13("978-0-306-40615-7"); // { valid: true, type: "ISBN-13", checkDigit: "7", ... }
validateVin("1HGCM82633A004352"); // { valid: true, checkDigit: "3", ... }
也提供辅助导出:ibanCheckDigits、luhnValid、luhnCheckDigit、detectBrand、isbn13CheckDigit、vinCheckDigit、supportedIbanCountries。
范围
veridigit 验证标识符的结构——其格式和校验和。它不会确认银行账户、银行卡、书籍或车辆是否实际存在、处于有效状态或属于任何人。它不会发起网络请求。
开发
npm install
npm run build # tsc -> dist/
npm test # parity/known-answer tests via tsx
整理后的参考数据(IBAN 国家/地区规格、银行卡 BIN 范围)位于 data/ 中。
许可证
Apache-2.0
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。