mcpField
V
Veridigit

Veridigit

本地服务
github.com/qinisolabs开发工具019 周前更新

关于 Veridigit

Veridigit 是面向 Agent 和应用的 MCP 服务及类型化 TypeScript 库,用于检查标识符结构。它按校验和与格式规则验证 IBAN、支付卡、ISBN-13 和 VIN,返回结构化结果及错误原因,且不进行网络调用。

主要功能

  1. 01使用 mod-97 验证 IBAN
  2. 02用 Luhn 检查卡号并识别品牌
  3. 03验证 ISBN-13 校验位
  4. 04检查 VIN 格式与校验位
  5. 05返回结构化结果和错误原因
  6. 06类型化 TypeScript 库

适用场景

  1. 01处理前检查支付信息
  2. 02验证表单中输入的标识符
  3. 03为 Agent 提供确定性标识符检查

MCP 相关

MCP 服务向 MCP 客户端提供 `validate_iban`、`validate_card`、`validate_isbn` 和 `validate_vin` 工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"veridigit": {
"command": "npx",
"args": [
"-y",
"veridigit"
]
}
}
}
启动命令npx -y veridigit

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmveridigit0.1.0

工具

4

收录的工具列表 · 更新于 2 周前

参数类型必填说明
ibanstring是要验证的 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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。