FabTally Valid
Server Details
Validation suite: EU VAT (VIES), IBAN mod-97, email (MX+disposable), geo place lookup, VIN decode.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- zvmzaretsky/validation-suite-mcp
- GitHub Stars
- 0
- Server Listing
- FabTally Valid MCP Server
Available Tools
5 toolsdecode_vinDecode a VIN via NHTSA vPIC (paid $0.002)AInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| vin | Yes | A 17-character Vehicle Identification Number (excludes I, O, Q). | |
| x_payment | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses the paid nature ($0.002, x402/USDC), the external API source (NHTSA vPIC), and the behavioral difference when x_payment is omitted (returns 402 challenge). This goes well beyond basic tool semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three focused sentences, front-loaded with the payment warning, then the core function, then the payment behavior. Every sentence adds necessary information with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description enumerates the decode fields (make, model, year, body class, engine, plant country). The payment flow and VIN limitations are fully specified, making the tool's behavior predictable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already describes both parameters, but the description adds value by explaining how x_payment is forwarded as the X-PAYMENT header and that omitting it yields the price challenge. This clarifies the parameter's role beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Decode a Vehicle Identification Number' and specifies the expected outputs (17-char format, check-digit validation, full decode via NHTSA vPIC). This differentiates it from sibling validation tools like validate_email or validate_vat.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context on when to use the tool (VIN decoding) and an explicit exclusion ('VIN-only (never plate→owner)'). It also explains the payment workflow. However, it does not explicitly name alternative sibling tools for comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geo_lookupResolve a country / state / city to ISO codes (paid $0.002)AInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | City name. | |
| query | No | Free-text place, e.g. "Munich, Bavaria, Germany" or "France". | |
| state | No | State/province/subdivision name or code (within the country). | |
| country | No | Country name or ISO 3166-1 alpha-2/alpha-3 code. | |
| x_payment | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses critical behaviors: the paid x402 challenge flow, the need to pass x_payment to settle, and the absence of per-day API limits. It also states that the tool confirms existence and returns normalized data, leaving no major behavioral surprises.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the critical 'PAID' flag and core purpose. Each sentence earns its place, covering payment, input modes, outputs, and the challenge workflow in a dense but readable format.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description compensates by listing the return values (normalized names, ISO codes, hierarchy, population, coordinates) and explaining the payment prerequisite and challenge behavior. It also mentions no rate limits, providing a complete operational picture.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers all 5 parameters with descriptions, giving a baseline of 3. The description adds semantic value by explaining the OR relationship between 'query' and the structured fields, and clarifies that x_payment is forwarded as the X-PAYMENT header to settle the call. This goes beyond the basic parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Resolve' with a clear resource ('a place against a bundled open dataset') and enumerates the exact outputs (ISO codes, hierarchy, population, coordinates). It also distinguishes itself from sibling validation tools (VIN, email, IBAN, VAT) by its focus on geographic lookup rather than validation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear input modes ('Give {query:...} OR {country, state, city}') and explains the payment workflow, making it obvious when and how to use the tool. It does not explicitly name alternatives or exclusion criteria, but the sibling tool names make it clear this is the only geographic lookup tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_emailValidate an email: syntax + MX + disposable + role (paid $0.002)AInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | The email address to validate. | ||
| x_payment | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits, and it excels: it states the paid cost ($0.002), the x402 protocol, statelessness, non-PII (address never stored), and no SMTP probing. It also outlines exactly what checks are performed, leaving no ambiguity about side effects or safety. This is exemplary transparency for a tool with zero annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, dense paragraph with no filler. The paid nature and purpose are front-loaded, followed by the specific validation features and key behavioral disclaimers. Every sentence contributes unique information, making it appropriately concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a paid API with an x402 payment flow, the description thoroughly explains invocation, expected behaviors, and data handling. It does not describe the exact return value structure, but the listed validation categories imply the result shape. The absence of error-case details is a minor gap, but overall the description is complete enough for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides 100% coverage with basic descriptions for both parameters, so the baseline is 3. The tool description adds meaningful context beyond the schema by explaining the x402 challenge-response flow and how the email parameter is used across multiple validation checks. This enhances usability without being redundant, earning a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it validates an email address with specific checks: syntax, MX-record, disposable domain, and role flag. The verb 'validate' plus the resource 'email' unambiguously distinguishes it from sibling validate_iban and validate_vat tools. The enumerated checks go beyond a generic validation tool, making the purpose specific and actionable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context including the payment mechanism (omit x_payment for a challenge, include to settle), which is essential for correct invocation. It does not explicitly name alternatives, but the email-specific purpose and the sibling tool names (validate_iban, validate_vat) make it obvious when to use this tool. No exclusions or alternative conditions are stated, but the usage context is effectively communicated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_ibanValidate an IBAN (mod-97) + extract bank code (paid $0.001)AInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| iban | Yes | The IBAN (spaces/dashes tolerated), e.g. DE89 3704 0044 0532 0130 00. | |
| x_payment | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses the paid nature ('PAID $0.001 (x402, USDC on Base)'), the offline execution ('Pure-offline'), and the challenge/response behavior when payment is missing. It also previews the returned fields, providing useful behavioral context beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and information-dense. It front-loads the payment requirement, then gives a clear list of outputs, and ends with the no-payment behavior. Every sentence serves a purpose, and the title reinforces the key validation and extraction points.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a validation tool with no output schema, the description adequately explains the return data (length, checksum, country, grouping, bank identifier) and the payment flow. It lacks explicit error-handling/edge-case details, but the core use case is fully covered given the tool's modest complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (both 'iban' and 'x_payment' have detailed descriptions), so the baseline is 3. The description adds minimal extra semantics beyond the schema: it mentions '{iban}' and 'x402 challenge' but does not materially enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Validate an IBAN') and specifies the resource and expected outputs: ISO 13616 length, mod-97 checksum validation, country, human-formatted grouping, and bank identifier extraction. This distinguishes it from sibling tools like validate_email or validate_vat because it is IBAN-specific and mentions concrete derived data (e.g., Bankleitzahl, UK sort code).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it: whenever an IBAN needs validation/parsing. It does not explicitly list alternatives or exclusions, but sibling tools are for different entities (VIN, email, VAT, geo), so the use case is clear. The payment caveat ('Without payment returns the x402 challenge') is a practical guideline for invoking correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_vatValidate an EU VAT number via VIES (paid $0.003)AInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| x_payment | No | 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 | Yes | The VAT number without the country prefix (prefix is tolerated and stripped). | |
| country_code | Yes | 2-letter EU VAT country code (e.g. IE, DE, FR; GB/XI for Northern Ireland; GR accepted as EL). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations to rely on, the description carries the full burden. It discloses the paid nature ($0.003, x402 USDC), the live lookup against VIES, the caching behavior (~1h), and the return content (company name/address when available). This goes beyond a simple 'validates' statement, though it doesn't detail error scenarios or exact response format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the most critical information (paid, flagship). Each sentence adds value: payment mechanic, validation steps, live lookup, caching, and challenge behavior. No fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter tool with no output schema or annotations, the description explains the core behavior: what is validated, what is returned, payment challenge handling, and caching. It lacks an explicit description of the response structure on failure, but overall covers the essential contextual information for a paid VAT validation API.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover 100% of parameters, including x_payment's purpose and country_code synonyms. The tool description adds no new parameter semantics beyond what the schema already provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Validate an EU/EEA VAT number' with specific actions (format + checksum pre-check and live VIES lookup). It distinguishes itself from sibling tools by focusing on VAT validation and mentions the specific VIES service, making it unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly conveys when to use this tool (for VAT validation) and the condition for payment (without x_payment you get a challenge, with it you get real results). It does not explicitly compare with alternative tools, but the domain is so specific that exclusions are unnecessary, giving clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
5 tool updates
- First observed
decode_vin - First observed
geo_lookup - First observed
validate_email - First observed
validate_iban - First observed
validate_vat
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Commerce validators: live EU VAT (VIES), EORI, email/MX lookups; IBAN/ABA/GTIN checksums; VAT rates.
Validates Luhn, IBAN, ISBN, EAN/UPC, SWIFT/BIC, and EU VAT checksums and formats.
SLA'd EU VAT validation on VIES. Honest 3-state result, never guesses. 100 free lookups.
Email, phone, domain, URL & OFAC verification; phishing and IBAN checks via x402.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceProvides real validation and live registry lookups for ecommerce and fintech workflows, including EU VAT, EORI, email domain, IBAN, ABA routing, and GTIN checks.-
- FlicenseNot gradedqualityBmaintenanceValidates EU and Northern Ireland VAT numbers against the official VIES service, returning validity, company name and address, and distinguishing invalid from unavailable. Supports bulk checking up to 100 VAT IDs.-
- AlicenseAqualityCmaintenanceEnables MCP-capable agents to validate EU VAT numbers, IBANs, and EORI customs numbers, look up company data by LEI or VAT, and fetch current VAT rates, with built-in service health checks.7MIT
- AlicenseAqualityBmaintenanceVerified validation of structured identifiers — IBAN, payment cards, ISBN-13 and VIN — for AI agents. Runs the real checksum algorithms (mod-97, Luhn, mod-10, ISO 3779) instead of letting the model guess, and returns structured results with clear errors.450Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool targets a distinct input type (VIN, place name, email, IBAN, VAT) with no overlap in purpose. An agent can easily distinguish decode_vin from validate_email based on the resource being processed.
Three tools use the validate_* prefix (validate_email, validate_iban, validate_vat), but decode_vin and geo_lookup break the pattern with different verb/noun structures. The names are readable but not uniformly consistent.
Five tools form a well-scoped validation utility set, covering common data types (VIN, email, IBAN, VAT, location) without redundancy or bloat. This is an ideal size for a focused server.
The set covers a solid range of common validation/lookup tasks, but typical additions like phone or credit-card validation are absent. These are minor gaps that do not hinder the core purpose.