Enables AI agents to validate EU VAT numbers, check VAT rates, and verify country-specific tax formats.
Also known as vatnode/vatnode-mcp
- Stars
- 2
- Tools
- 5
- Downloads, 30 days
- —
- Latest version
- 1.3.0
- Last commit
- Oct 20, 2026
- License
- MIT
What is vatnode MCP?
vatnode enables AI agents to validate EU VAT numbers, check VAT rates, and verify country-specific tax formats. It exposes 5 tools, such as get_country_vat_rates, list_eu_vat_rates, check_vat_format.
Summary generated from the project's README
About vatnode MCP server
Validating European tax identifiers and retrieving regional tax rates directly within an AI chat interface is what vatnode-mcp enables. Developers using Claude Desktop, Cursor, or other MCP-compatible clients can use this server to perform syntactic checks on VAT numbers or access detailed tax data for 45 European countries. The server runs locally via npx using pure stdio, meaning it has zero hosted dependencies.
Most features like checking country-specific VAT formats or listing rates for all 27 EU member states work offline without an account. For live verification against the VIES service, users must provide a vatnode API key via an environment variable. This live validation tool provides the company name, address, and registration date, and can even return a VIES consultation number if a requester VAT is configured in the user dashboard.
What you can do with it
- 1Retrieve regional tax ratesAsk the AI to find the standard and reduced VAT rates for specific European countries.
Written from the project's README. Every use case is checked against a quote from it.
How to install vatnode MCP
Formats verified 10 Nov 2026Add to CursorAdd to GooseInstall vatnode MCP in Claude Code
$ claude mcp add --env 'VATNODE_API_KEY=<YOUR_VATNODE_API_KEY>' vatnode-mcp -- npx -y vatnode-mcpInstall vatnode MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"vatnode-mcp": {
"command": "npx",
"args": [
"-y",
"vatnode-mcp"
],
"env": {
"VATNODE_API_KEY": "<YOUR_VATNODE_API_KEY>"
}
}
}
}Install vatnode MCP in VS Code
.vscode/mcp.json
{
"servers": {
"vatnode-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"vatnode-mcp"
],
"env": {
"VATNODE_API_KEY": "<YOUR_VATNODE_API_KEY>"
}
}
}
}Install vatnode MCP in VS Code CLI
$ code --add-mcp '{"name":"vatnode-mcp","type":"stdio","command":"npx","args":["-y","vatnode-mcp"],"env":{"VATNODE_API_KEY":"<YOUR_VATNODE_API_KEY>"}}'Install vatnode MCP in Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"vatnode-mcp": {
"command": "npx",
"args": [
"-y",
"vatnode-mcp"
],
"env": {
"VATNODE_API_KEY": "<YOUR_VATNODE_API_KEY>"
}
}
}
}Install vatnode MCP in Codex
$ codex mcp add vatnode-mcp --env 'VATNODE_API_KEY=<YOUR_VATNODE_API_KEY>' -- npx -y vatnode-mcpInstall vatnode MCP in Codex config.toml
~/.codex/config.toml
[mcp_servers.vatnode-mcp] command = "npx" args = ["-y", "vatnode-mcp"] [mcp_servers.vatnode-mcp.env] VATNODE_API_KEY = "<YOUR_VATNODE_API_KEY>"
Install vatnode MCP in Gemini CLI
$ gemini mcp add -s user -e 'VATNODE_API_KEY=<YOUR_VATNODE_API_KEY>' vatnode-mcp npx -- -y vatnode-mcpInstall vatnode MCP in Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"vatnode-mcp": {
"command": "npx",
"args": [
"-y",
"vatnode-mcp"
],
"env": {
"VATNODE_API_KEY": "<YOUR_VATNODE_API_KEY>"
}
}
}
}vatnode MCP tools 5
Detected from the READMEget_country_vat_rateslist_eu_vat_ratescheck_vat_formatlist_supported_countriesvalidate_vat_number
| get_country_vat_rates | — | |
| list_eu_vat_rates | — | |
| check_vat_format | — | |
| list_supported_countries | — | |
| validate_vat_number | — |
Configuration
VATNODE_API_KEYSecretvatnode API key (free tier available at https://vatnode.dev). Required only for the validate_vat_number tool — the four other tools (rates, format checks, country list) work offline without a key.
VATNODE_API_URLOverride the vatnode API base URL (for self-hosting or staging environments). Defaults to https://api.vatnode.dev.
| Name | Description | |
|---|---|---|
| VATNODE_API_KEY | vatnode API key (free tier available at https://vatnode.dev). Required only for the validate_vat_number tool — the four other tools (rates, format checks, country list) work offline without a key. | Secret |
| VATNODE_API_URL | Override the vatnode API base URL (for self-hosting or staging environments). Defaults to https://api.vatnode.dev. |
Automated checks
Ran Nov 12, 2026Full report →Passed our automated checks. That is not a security audit: read the code and give the server the narrowest access it needs. How checks work
- Source repository linked and reachablePass
- Open source license (OSI)Pass
- Commit or release in the last yearPass
- Package name not close to a popular packagePass
- Remote endpoint uses HTTPSNot checked
- Destructive tools are labelledPass
- No hidden instructions to the modelPass
- No critical advisory in the package or its dependenciesPass
README
View on GitHubvatnode-mcp
Official Model Context Protocol server for vatnode — VAT validation and EU tax data for AI agents.
Lets AI assistants (Claude Desktop, Cursor, ChatGPT, Continue, Cline, …) look up VAT rates, check VAT number formats, and validate VAT IDs against the EU VIES service without leaving the chat.
- Free, offline — VAT rates and format checks for 45 European countries, no account needed
- Live validation — verify EU VAT numbers against VIES, get the registered company + the VIES consultation number (requires a free vatnode API key; the consultation number is produced once you set your own VAT as requester in dashboard Account details)
- Five focused tools — well-described for accurate agent tool selection
- Pure stdio, zero hosted dependencies, runs locally via
npx
Tools
| Tool | Free | Description |
|---|---|---|
get_country_vat_rates |
✅ | Standard / reduced / super-reduced / parking rates + VAT number format for a country |
list_eu_vat_rates |
✅ | All 27 EU member states (plus XI for Northern Ireland) at once |
check_vat_format |
✅ | Offline syntactic check of a VAT number against the country regex |
list_supported_countries |
✅ | All 45 supported countries and which ones support full VIES validation |
validate_vat_number |
🔑 | Live VIES validation — returns validity, company name, address, registration date, and (when a requester VAT is set in dashboard Account details) the VIES consultation number |
Free tools work fully offline — data is bundled via eu-vat-rates-data and updated daily from the European Commission TEDB.
validate_vat_number requires a vatnode API key. The free tier includes a monthly request quota — get one in 30 seconds.
Install
Claude Desktop
Add to your claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"vatnode": {
"command": "npx",
"args": ["-y", "vatnode-mcp"],
"env": {
"VATNODE_API_KEY": "vat_live_your_key_here"
}
}
}
}
Restart Claude Desktop. The vatnode tools will appear in the tool picker.
You can omit VATNODE_API_KEY if you only need the free tools (rates, format checks).
Cursor
Settings → MCP → Add new server:
{
"mcpServers": {
"vatnode": {
"command": "npx",
"args": ["-y", "vatnode-mcp"],
"env": { "VATNODE_API_KEY": "vat_live_your_key_here" }
}
}
}
ChatGPT (custom connectors / Apps SDK)
Configure as an stdio MCP server with the same npx -y vatnode-mcp command. See the Apps SDK docs.
Continue / Cline / other clients
Any MCP-compatible client can connect — point it at npx -y vatnode-mcp and (optionally) pass VATNODE_API_KEY via environment.
Get an API key
validate_vat_number requires a vatnode account. The platform also offers things the MCP doesn't expose:
- Webhooks for VAT status changes (monitor a customer's VAT continuously)
- Bulk validation
- National-database fallback when VIES is down
- VIES consultation numbers (a timestamped record that the check was made against VIES)
- Per-key rate limiting + dashboard analytics
Example session
You: What's the VAT rate in Finland and Germany?
(Agent calls
get_country_vat_ratesfor FI and DE — free, no key.)Agent: Finland's standard VAT is 25.5%, Germany's is 19%. Finland has reduced rates of 14% and 10%; Germany has 7%.
You: Is IE6388047V a valid VAT?
(Agent calls
validate_vat_number— requires API key.)Agent: Yes, it's valid. Registered to GOOGLE IRELAND LIMITED at Gordon House, Barrow Street, Dublin 4.
Configuration
| Env var | Required | Default | Purpose |
|---|---|---|---|
VATNODE_API_KEY |
for validate_vat_number |
— | API key from https://vatnode.dev |
VATNODE_API_URL |
no | https://api.vatnode.dev |
Override the API base (self-hosting / staging) |
Contributing
Bug reports and PRs welcome. Open an issue first for non-trivial changes so we can align on direction.
git clone https://github.com/vatnode/vatnode-mcp.git
cd vatnode-mcp
npm install
npm test
Releasing
Releases are published to npm via Trusted Publishing — no NPM_TOKEN secret, every release signed with npm provenance.
# bump the version in ALL of: package.json, src/index.ts (VERSION),
# and server.json (top-level "version" + packages[0].version — the MCP
# Registry publish reads server.json and rejects a duplicate version).
# Commit, then:
git tag v0.3.2
git push --tags
CI on .github/workflows/release.yml picks up the tag and publishes.
License
MIT
vatnode MCP questions
How do I add vatnode MCP to Claude Code?
Run claude mcp add --env 'VATNODE_API_KEY=<YOUR_VATNODE_API_KEY>' vatnode-mcp -- npx -y vatnode-mcp in your terminal. Add --scope user to make it available in every project.
How do I add vatnode MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
What tools does vatnode MCP provide?
It exposes 5 tools, including get_country_vat_rates, list_eu_vat_rates, check_vat_format, list_supported_countries, validate_vat_number.
Do I need an API key to check VAT rates?
No, VAT rates and format checks for 45 European countries are free and work offline without an account.
What does the live VIES validation tool provide?
It returns the validity of the VAT number, the company name, address, registration date, and the VIES consultation number if configured.
How can I use this server with Claude Desktop?
Add the server configuration to your claude_desktop_config.json file using npx and provide your VATNODE_API_KEY in the environment variables.