Eurovalidate Mcp

io.github.NitrychPublished by GitHub account Nitrychv0.1.1Updated Oct 24, 2026

Validate EU VAT numbers (VIES), IBANs and EORI, look up company data (GLEIF) and VAT rates

VerifiedSTDIODesktop onlyFinanceBusiness & Commerce

Overview

AI-generated overview

Validates EU/UK VAT numbers, IBANs and EORI numbers, looks up company data and VAT rates through the EuroValidate API.

What you can do
  • Validate VAT numbers via VIES/HMRC and get validity, company name and address where published, plus a confidence level
  • Validate IBANs offline and resolve bank name and BIC; validate EORI customs numbers for EU, GB and XI
  • Look up company data by LEI (GLEIF) or by VAT number, as a fallback where VIES hides names
  • Fetch current VAT rates for an EU country
  • Check live health of VIES per country, EORI, HMRC and GLEIF without an API key
When to use it
Useful when an assistant has to check European business identifiers before invoicing, onboarding suppliers, running KYB checks or building checkout flows, and when it needs to know whether a government validation service is currently down.
Requirements
Runs locally over stdio, typically launched with uvx or installed from PyPI, so Python and uvx are needed. A EuroValidate API key is required in the EUROVALIDATE_API_KEY environment variable (free tier, 100 requests per month); only the status check works without it. Network access to the EuroValidate API is required, and the base URL can be overridden with EUROVALIDATE_BASE_URL.
Before you install
The API key is a secret sent in the X-API-Key header; keep it out of shared configs. The identifiers you ask to check (VAT, IBAN, EORI, LEI numbers, country codes) are sent to the EuroValidate service, which in turn queries public government registries and caches results. Usage beyond the free monthly quota requires a paid plan. Results can be unavailable rather than invalid when an upstream service is down, so treat them accordingly.

Installation

In SourceWeft

  1. Open Eurovalidate Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

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

ToolWhat it does
validate_vatValidate an EU/UK VAT number via VIES/HMRC — returns validity + registered company name & address (where the member state exposes it) + confidence level
validate_ibanValidate an IBAN (offline MOD-97) and resolve bank name + BIC
validate_eoriValidate an EORI customs number (EU / GB / XI Northern Ireland)
lookup_company_by_leiCompany data by Legal Entity Identifier (GLEIF)
lookup_company_by_vatCompany data by VAT number — fallback for DE/ES where VIES hides names
get_vat_ratesCurrent VAT rates for an EU country
check_service_statusLive 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

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

Claude Code one-liner:

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

Any other MCP client

Run over stdio:

bash
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.

Agent Skill

skills/eu-business-validation/SKILL.md is a portable Agent Skill that teaches an agent when to validate, how to read status/confidence correctly (e.g. unavailable ≠ invalid), the DE/ES/EL/XI gotchas, and how to write checkout/KYB code that never blocks a sale when VIES is down. It works with this MCP server or falls back to plain REST calls.

bash
# Claude Code (personal skills)mkdir -p ~/.claude/skills && cp -r skills/eu-business-validation ~/.claude/skills/

Claude plugin

This repository is also a Claude plugin bundle (.claude-plugin/plugin.json): it installs the skill above plus this MCP server, pinned to eurovalidate-mcp==0.1.1 and launched with uvx. On install you are asked for your EuroValidate API key; it is stored in Claude's secure credential store and passed only to the MCP server as EUROVALIDATE_API_KEY.

Data and network

  • The MCP server and the skill send only the identifiers you ask to check (VAT, IBAN, EORI, LEI numbers or a country code) to https://api.eurovalidate.com, together with your API key in the X-API-Key header. check_service_status sends no identifiers and needs no key.
  • Nothing else is read from your machine or sent anywhere else. No telemetry.
  • EuroValidate in turn queries public government services (EU VIES, EC EORI, UK HMRC, GLEIF) and caches results (VAT/EORI 24 h, IBAN 1 h). See the privacy policy and terms.
  • uvx downloads the eurovalidate-mcp package from PyPI on first run.

Environment variables

VariableRequiredDefault
EUROVALIDATE_API_KEYyes (except check_service_status)—
EUROVALIDATE_BASE_URLnohttps://api.eurovalidate.com

License

MIT


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

Source: README.md at commit ce4ba02

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.1LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts