eurc402 — EU compliance (VAT + company data)
Server Details
Free EU VAT (VIES) + pan-EU company data (10 registers), payable in EURC/USDC via x402.
- Status
- Healthy
- Uptime
- 100.0% over 38 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 3 tools
Each tool has a distinct purpose: listing supported countries, looking up a company (with a free jurisdiction detection and a paid full record), and validating EU VAT numbers. No overlap in functionality.
All tool names follow a consistent verb_noun pattern in snake_case: list_supported_countries, lookup_eu_company, validate_eu_vat. Easy to predict and read.
Three tools is appropriate for the domain of EU compliance covering VAT validation and company data lookup. Neither too few nor too many.
The set covers key operations: discovering coverage, detecting jurisdiction, and validating VAT. A minor gap is the lack of a tool to directly handle the paid service, but the descriptions guide the user externally.
Available Tools
3 toolslist_supported_countriesList supported EU registersAInspect
List the EU company registers currently covered by lookup_eu_company / the paid eu-company endpoint, with each register's country, source, licence, whether officers are returned, and the identifier format. FREE. Call this to discover coverage before paying.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but the description clearly states the tool is FREE and lists the fields returned, indicating a read-only listing operation. Lack of rate limit or pagination info is acceptable for a simple list with no parameters.
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?
Two sentences, front-loaded with the main action. Every sentence adds value: first sentence defines output, second sentence gives usage guidance. 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?
Given no output schema, the description adequately explains return fields and usage context. It is complete for a list tool without parameters, covering all necessary information.
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?
Input schema has zero parameters, so schema coverage is 100%. The description adds context about what is listed (countries, sources, licences, etc.) without needing to explain parameters.
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 lists EU company registers covered by the paid endpoint, specifying the details returned (country, source, licence, officers, identifier format). It distinguishes itself from siblings by referencing lookup_eu_company and validate_eu_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?
Explicitly says 'Call this to discover coverage before paying', providing clear guidance on when to use the tool (before paying for the paid endpoint). It implies not to use for actual lookups.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_eu_companyLook up an EU company (paid full record)AInspect
Detect the jurisdiction of a company registration number for FREE across 10 EU registers (no, fr, fi, sk, gb, lv, ro, ee, cz, pl). The FULL normalized record (legal name, status, legal form, registered address, incorporation date, officers, provenance) is a PAID x402 service (EUR 0.05/call in EURC or USDC on Base) — this tool returns the exact paid endpoint, price, and how to pay.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Company/registration number: SIREN (FR), org.nr (NO), Y-tunnus (FI), IČO (SK), company number (UK), regcode (LV), CUI or J-number (RO). | |
| country | No | Optional ISO country code to disambiguate; otherwise auto-detected from the id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description partially covers behavior: it notes the free detection and paid endpoint info. But it does not mention error handling, rate limits, or what happens on invalid IDs.
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 sentence, fairly concise. It front-loads the key benefit (free detection) but could be structured more cleanly with bullet points or shorter clauses.
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?
The description omits details on the free detection output format and error states. Given no output schema, more completeness would be beneficial for an agent to correctly invoke and interpret the tool.
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% and contains detailed parameter descriptions. The tool description does not add further parameter semantics beyond what the schema already provides, meeting the baseline.
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 detects jurisdiction for free and provides info on the paid full record. It distinguishes itself from siblings by focusing on company lookup vs list or VAT 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 explains the free detection and paid record option, giving context on when to use. However, it does not explicitly contrast with siblings or state prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_eu_vatValidate EU VAT number (VIES)AInspect
Validate an EU VAT number against the official EU VIES registry. FREE. Returns whether the number is currently valid and, when the member state discloses it, the registered company name and address. Covers all 27 EU member states.
| Name | Required | Description | Default |
|---|---|---|---|
| vat | Yes | EU VAT number: 2-letter country code + number, e.g. IT08714440016. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description adds useful context: it returns validity and optional company info, is free, covers 27 countries. However, it does not mention side effects, authentication needs, or error conditions, leaving some behavioral gaps.
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 concise sentences, no wasted words, front-loads the action and key attributes (free, coverage).
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?
The description covers the main purpose, input, and output for a simple read tool, but could mention potential errors or limitations (e.g., network dependency, member state disclosure variability).
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 a description of the single parameter; the tool description adds an example format but does not significantly enhance understanding 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 the tool's action ('Validate an EU VAT number') against a specific resource (VIES registry), distinguishes from siblings like list_supported_countries and lookup_eu_company, and adds details about being free and covering all EU member states.
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 provides clear context for when to use (validating EU VAT numbers) and implies alternatives via sibling tools, but does not explicitly state when not to use or list specific exclusion scenarios.
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.
1 tool update
- Added
list_supported_countries
2 tool updates
- First observed
lookup_eu_company - First observed
validate_eu_vat
Related MCP Connectors
European business verification for AI agents: registry, VAT, sanctions, IBAN. Pay-per-call x402.
Pay-per-call data APIs for AI agents: business, compliance, procurement, VAT and IBAN via x402.
11.3M entities, 10 countries, 12 tools. EU VAT (VIES), BORME, GLEIF, KYB. Free: 100 req/month.
SLA'd EU VAT validation on VIES. Honest 3-state result, never guesses. 100 free lookups.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceMCP server providing EU compliance APIs for VAT validation, sanctions screening, counterparty checks, and invoice extraction. Enables AI agents to make pay-per-call requests settled in USDC on Base via x402, with no account or API key required.MIT
- FlicenseNot gradedqualityBmaintenancePaid MCP server for EU tools: validate VAT numbers via VIES and get ECB euro FX rates, with per-call USDC payments on Base via the x402 protocol.-
- AlicenseAqualityDmaintenanceProvides a validation suite for VAT, IBAN, email, geo lookup, and VIN decoding, with per-call pricing and optional x402 payment support.5MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to access official European business data across 15 EU countries, including company lookups, VAT validation, sanctions screening, and KYB reports.5,887 npm1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.