Skip to main content

EuroValidate MCP Server

MCP (Model Context Protocol) server for EuroValidate — lets Claude, ChatGPT and any MCP-capable agent validate EU VAT numbers (VIES), IBANs and EORI customs numbers, look up company data, and fetch VAT rates through one reliable REST API.

Why

Validating European business data normally means juggling five fragmented government services: the VIES SOAP API (which times out constantly — Germany alone generates 95% of its errors), the EC EORI endpoint, HMRC, GLEIF, and national registries. EuroValidate wraps them into one cache-first JSON API with per-country circuit breakers and graceful degradation — and this MCP server exposes it to LLM agents as ready-to-use tools.

Tools

Tool What it does
validate_vat Validate an EU/UK VAT number via VIES/HMRC — returns validity + registered company name & address (where the member state exposes it) + confidence level
validate_iban Validate an IBAN (offline MOD-97) and resolve bank name + BIC
validate_eori Validate an EORI customs number (EU / GB / XI Northern Ireland)
lookup_company_by_lei Company data by Legal Entity Identifier (GLEIF)
lookup_company_by_vat Company data by VAT number — fallback for DE/ES where VIES hides names
get_vat_rates Current VAT rates for an EU country
check_service_status Live health of VIES (per country), EORI, HMRC, GLEIF — no API key needed

Setup

  1. Get a free API key (100 requests/month, no credit card) at eurovalidate.com.
  2. Add the server to your MCP client:

Claude Desktop / Claude Code

{
  "mcpServers": {
    "eurovalidate": {
      "command": "uvx",
      "args": ["eurovalidate-mcp"],
      "env": { "EUROVALIDATE_API_KEY": "your_api_key" }
    }
  }
}

Claude Code one-liner:

claude mcp add eurovalidate -e EUROVALIDATE_API_KEY=your_api_key -- uvx eurovalidate-mcp

Any other MCP client

Run over stdio:

EUROVALIDATE_API_KEY=your_api_key uvx eurovalidate-mcp

Or install permanently: pip install eurovalidate-mcp → eurovalidate-mcp.

Example prompts

  • "Validate VAT number DE811569869 and tell me the company behind it"
  • "Check if this IBAN is valid and which bank it belongs to: DE89 3704 0044 0532 0130 00"
  • "Is VIES down for Germany right now?"
  • "What's the VAT rate in Portugal?"
  • "Validate the VAT numbers of these 5 suppliers before I invoice them"

Notes for agents (and humans)

  • Germany and Spain never return company name/address over VIES (data-protection law) — use lookup_company_by_vat as a fallback.
  • Greece is EL in VIES but GR in ISO 3166 — both are accepted.
  • Every response carries confidence: HIGH|MEDIUM|LOW|UNKNOWN and the upstream source, so agents can reason about data freshness when a government service is down.
  • Free tier: 100 requests/month. Paid plans from €19/mo (500,000 requests/month) at eurovalidate.com.

Environment variables

Variable Required Default
EUROVALIDATE_API_KEY yes (except check_service_status) —
EUROVALIDATE_BASE_URL no https://api.eurovalidate.com

License

MIT


mcp-name: io.github.Nitrych/eurovalidate-mcp

Metadata

Release files for eurovalidate-mcp 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for eurovalidate-mcp 0.1.1
File Size Uploaded
eurovalidate_mcp-0.1.1.tar.gz 5.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for eurovalidate-mcp 0.1.1
File Interpreter ABI Platform
eurovalidate_mcp-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 11.9 kB

Release files / eurovalidate_mcp-0.1.1.tar.gz

Download URL eurovalidate_mcp-0.1.1.tar.gz
Size 5.6 kB
Tags Source
SHA-256 checksum
How to use checksums
f6a69f4dc90ea9f0d9c68a7ec28c9b8d7083405b2f83ee11a09f0c02c9c24a0f
BLAKE2b-256 checksum
How to use checksums
0c562bb537bdf1afc538f33d0738a0f42c20fc489572ff76a8333325ced4cde2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 26, 2026.

Transparency log

Release files / eurovalidate_mcp-0.1.1-py3-none-any.whl

Download URL eurovalidate_mcp-0.1.1-py3-none-any.whl
Size 6.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1178392a78cafdd6047902dd308a9d67e55ae5b5792ec609b62f14b2e2ede463
BLAKE2b-256 checksum
How to use checksums
9b39156bd69f00778b5e863f3a44d8c89ac8eb1ffe8aa34390924389ddd59f44
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 26, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page