FabTally Valid
Validation suite: EU VAT (VIES), IBAN mod-97, email (MX+disposable), geo place lookup, VIN decode.
使うべきか
品質と安全性
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"validation-suite": {
"url": "https://valid.fabtally.com/mcp"
}
}
}リモートエンドポイント
https://valid.fabtally.com/mcpstreamable-httpできること
ツール一覧
ツール(5)
🟢validate_vat(country_code, vat_number, x_payment)
PAID $0.003 (x402, USDC on Base). FLAGSHIP. Validate an EU/EEA VAT number: give {country_code, vat_number} and get a per-country format + checksum pre-check AND a LIVE lookup against the official VIES service — returning valid/registered plus the registered company name & address when VIES provides them (cached ~1h to shield the flaky VIES). Without payment returns the x402 challenge; pass x_payment to settle.
入力スキーマ
{
"type": "object",
"properties": {
"country_code": {
"type": "string",
"description": "2-letter EU VAT country code (e.g. IE, DE, FR; GB/XI for Northern Ireland; GR accepted as EL)."
},
"vat_number": {
"type": "string",
"description": "The VAT number without the country prefix (prefix is tolerated and stripped)."
},
"x_payment": {
"type": "string",
"description": "x402 payment payload (base64) for this PAID validation. If supplied it is forwarded as the X-PAYMENT header to settle the call and return the real result instead of a 402 challenge. Omit to get the price challenge first."
}
},
"required": [
"country_code",
"vat_number"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢validate_iban(iban, x_payment)
PAID $0.001 (x402, USDC on Base). Validate an IBAN: give {iban} and get ISO 13616 length + mod-97 checksum validation, the country, the human-formatted grouping, and the bank identifier (e.g. German Bankleitzahl, UK bank code + sort code) extracted from the BBAN where derivable. Pure-offline. Without payment returns the x402 challenge.
入力スキーマ
{
"type": "object",
"properties": {
"iban": {
"type": "string",
"description": "The IBAN (spaces/dashes tolerated), e.g. DE89 3704 0044 0532 0130 00."
},
"x_payment": {
"type": "string",
"description": "x402 payment payload (base64) for this PAID validation. If supplied it is forwarded as the X-PAYMENT header to settle the call and return the real result instead of a 402 challenge. Omit to get the price challenge first."
}
},
"required": [
"iban"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢validate_email(email, x_payment)
PAID $0.002 (x402, USDC on Base). Validate an email address: give {email} and get RFC-ish syntax validation, a LIVE MX-record (DNS) existence check, disposable/throwaway-domain detection (bundled blocklist), and a role-address flag (info@, admin@…). STATELESS and non-PII — the address is never stored and no SMTP mailbox is probed. Without payment returns the x402 challenge; pass x_payment to settle.
入力スキーマ
{
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "The email address to validate."
},
"x_payment": {
"type": "string",
"description": "x402 payment payload (base64) for this PAID validation. If supplied it is forwarded as the X-PAYMENT header to settle the call and return the real result instead of a 402 challenge. Omit to get the price challenge first."
}
},
"required": [
"email"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢geo_lookup(query, country, state, city, x_payment)
PAID $0.002 (x402, USDC on Base). Resolve a place against a bundled open dataset (no per-day API limits). Give {query:"Munich, Bavaria, Germany"} OR {country, state, city} and get normalized names, ISO 3166-1/-2 codes, the country→subdivision→city hierarchy, population and coordinates, and confirmation the place exists. Without payment returns the x402 challenge; pass x_payment to settle.
入力スキーマ
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Free-text place, e.g. \"Munich, Bavaria, Germany\" or \"France\"."
},
"country": {
"type": "string",
"description": "Country name or ISO 3166-1 alpha-2/alpha-3 code."
},
"state": {
"type": "string",
"description": "State/province/subdivision name or code (within the country)."
},
"city": {
"type": "string",
"description": "City name."
},
"x_payment": {
"type": "string",
"description": "x402 payment payload (base64) for this PAID validation. If supplied it is forwarded as the X-PAYMENT header to settle the call and return the real result instead of a 402 challenge. Omit to get the price challenge first."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢decode_vin(vin, x_payment)
PAID $0.002 (x402, USDC on Base). Decode a Vehicle Identification Number: give {vin} and get a 17-char format + North-American check-digit validation and a full decode via NHTSA's public vPIC API — make, model, year, body class, engine, plant country and more. VIN-only (never plate→owner). Without payment returns the x402 challenge; pass x_payment to settle.
入力スキーマ
{
"type": "object",
"properties": {
"vin": {
"type": "string",
"description": "A 17-character Vehicle Identification Number (excludes I, O, Q)."
},
"x_payment": {
"type": "string",
"description": "x402 payment payload (base64) for this PAID validation. If supplied it is forwarded as the X-PAYMENT header to settle the call and return the real result instead of a 402 challenge. Omit to get the price challenge first."
}
},
"required": [
"vin"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}コミュニティ
エビデンス