Serveur MCP

FabTally Valid

io.github.zvmzaretsky/validation-suite

Ce que fait ce MCP

Validates VAT numbers, IBANs, email addresses, VINs, and geographic places using external and bundled reference data.

decode_vin
Decode a VIN via NHTSA vPIC (paid $0.002)
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.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['vin'], '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.'}}, 'additionalProperties': False}
geo_lookup
Resolve a country / state / city to ISO codes (paid $0.002)
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.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'city': {'type': 'string', 'description': 'City name.'}, 'query': {'type': 'string', 'description': 'Free-text place, e.g. "Munich, Bavaria, Germany" or "France".'}, 'state': {'type': 'string', 'description': 'State/province/subdivision name or code (within the country).'}, 'country': {'type': 'string', 'description': 'Country name or ISO 3166-1 alpha-2/alpha-3 code.'}, '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}
validate_email
Validate an email: syntax + MX + disposable + role (paid $0.002)
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.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['email'], '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.'}}, 'additionalProperties': False}
validate_iban
Validate an IBAN (mod-97) + extract bank code (paid $0.001)
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.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['iban'], '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.'}}, 'additionalProperties': False}
validate_vat
Validate an EU VAT number via VIES (paid $0.003)
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.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['country_code', 'vat_number'], 'properties': {'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.'}, 'vat_number': {'type': 'string', 'description': 'The VAT number without the country prefix (prefix is tolerated and stripped).'}, '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).'}}, 'additionalProperties': False}
Ajouté
decode_vin
17 September 2026 12:53
Ajouté
geo_lookup
17 September 2026 12:53
Ajouté
validate_email
17 September 2026 12:53
Ajouté
validate_iban
17 September 2026 12:53
Ajouté
validate_vat
17 September 2026 12:53