Skip to main content
Glama

Check one EU VAT number against VIES (valid, not valid, service down; name and address where returned)

vat_number_check
Read-onlyIdempotent

Check ONE EU VAT number against the European Commission's official VIES service. Send the number with its two-letter country prefix (DE811128135, IE6388047V) or send country_code separately. Get a verdict (valid, not-valid or service-down) and, where the member state returns them, the registered name and address. Signed and dated, so you can keep it as proof of what VIES said and when. Free, no sign-up, 200 checks a day per caller. Official source only: if VIES or the member state does not answer, the verdict is service-down, never a guess. Not tax advice. One number per call (no lists); nothing is stored.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "vat_number": "<vat_number>"
    },
    "name": "vat_number_check"
  }
}

Input Schema

NameRequiredDescriptionDefault
vat_numberYesOne VAT number, usually with its country prefix, e.g. DE811128135 or 'IE 6388047V'. Spaces, dots and hyphens are ignored.
country_codeNoOptional two-letter country code (EL or GR for Greece, XI for Northern Ireland) when the number has no prefix.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnly/idempotent/openWorld annotations by disclosing the rate limit (200/day per caller), the free/no-sign-up access model, the signed-and-dated response artifact, the no-storage policy, and crucially the service-down semantics ('never a guess'). That failure-mode contract is exactly the behavioral detail an agent needs before relying on the result.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and the verdict vocabulary, then layers constraints in short clauses. Dense and mostly waste-free, though the run of terse fragments ('Free, no sign-up...', 'Not tax advice.', 'nothing is stored.') reads listy rather than flowing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return-value burden itself and does so: verdict set (valid / not-valid / service-down) plus name and address where the member state supplies them, and a signed timestamp. Rate limits, source policy, and failure behavior are all covered, leaving nothing an agent needs missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are already documented with examples and normalization rules. The description restates the prefix-versus-separate-country_code choice and adds inline examples, but adds no format or edge-case detail the schema does not already carry, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (check one EU VAT number) plus the exact authority consulted (European Commission's VIES), and the 'ONE' emphasis plus 'no lists' sharply bounds the scope. An agent can tell instantly this is a single-value VAT validity lookup, distinct from the sibling check tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear operating context: one number per call, prefix or separate country_code, official source only, no sign-up, 200 checks/day. It does not name a sibling alternative or state an explicit when-not-to-use case beyond the 'no lists' exclusion, so it stops short of full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources