FabTally Valid
Validation suite: EU VAT (VIES), IBAN mod-97, email (MX+disposable), geo place lookup, VIN decode.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"validation-suite": {
"url": "https://valid.fabtally.com/mcp"
}
}
}Puntos de conexión remotos
https://valid.fabtally.com/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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#"
}Comunidad
Evidencia