Validation suite: EU VAT (VIES), IBAN mod-97, email (MX+disposable), geo place lookup, VIN decode.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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.
A 17-character Vehicle Identification Number (excludes I, O, Q).
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.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
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.
| Argument | Type | Description |
|---|---|---|
| vin* | string | A 17-character Vehicle Identification Number (excludes I, O, Q). |
| x_payment | string | 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. |
{
"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
}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.
| Argument | Type | Description |
|---|---|---|
| city | string | City name. |
| query | string | Free-text place, e.g. "Munich, Bavaria, Germany" or "France". |
| state | string | State/province/subdivision name or code (within the country). |
| country | string | Country name or ISO 3166-1 alpha-2/alpha-3 code. |
| x_payment | string | 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. |
{
"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
}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.
| Argument | Type | Description |
|---|---|---|
| email* | string | The email address to validate. |
| x_payment | string | 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. |
{
"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
}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.
| Argument | Type | Description |
|---|---|---|
| iban* | string | The IBAN (spaces/dashes tolerated), e.g. DE89 3704 0044 0532 0130 00. |
| x_payment | string | 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. |
{
"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
}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.
| Argument | Type | Description |
|---|---|---|
| x_payment | string | 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* | string | The VAT number without the country prefix (prefix is tolerated and stripped). |
| country_code* | string | 2-letter EU VAT country code (e.g. IE, DE, FR; GB/XI for Northern Ireland; GR accepted as EL). |
{
"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
}