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
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.5/5 across 5 of 5 tools scored.
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.
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. |
Tool Definition Quality
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. |
Tool Definition Quality
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. |
Tool Definition Quality
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. |
Tool Definition Quality
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). |
Tool Definition Quality
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.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
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
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 Servers
- Flicense-qualityAmaintenanceProvides real validation and live registry lookups for ecommerce and fintech workflows, including EU VAT, EORI, email domain, IBAN, ABA routing, and GTIN checks.Last updated
- Flicense-qualityBmaintenanceValidates 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.Last updated
- 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.Last updated435Apache 2.0
- AlicenseAqualityDmaintenanceEnables real-time validation of EU VAT numbers using the official VIES service. Supports all 27 EU member states with automatic country code detection and provides company information for valid VAT numbers.Last updated41MIT
Your Connectors
Sign in to create a connector for this server.