Back to Browse

Eu Vat MCP Server

by Duty27
Developer ToolsLow Risk8.2MCP RegistryLocal
Free

Server data from the Official MCP Registry

Standard VAT rate in any EU member state on any date since 2016. Offline, no API key.

About

Standard VAT rate in any EU member state on any date since 2016. Offline, no API key.

Security Report

8.2
Low Risk8.2Low Risk

Excellent MCP server with well-structured code, no security vulnerabilities, and appropriate permission scope. The server is read-only, dependency-light, and follows security best practices with proper input validation and error handling throughout. Supply chain analysis found 1 known vulnerability in dependencies (0 critical, 1 high severity). Package verification found 1 issue.

7 files analyzed · 4 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

File System Read

Reads files on your machine. Normal for tools that analyze or process local data.

File System Write

Writes or modifies files on your machine. Check that this is expected for the tool.

HTTP Network Access

Connects to external APIs or services over the internet.

env_vars

Check that this permission is expected for this type of plugin.

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-duty27-eu-vat": {
      "args": [
        "-y",
        "@duty27/eu-vat-mcp"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

eu-vat

The standard VAT rate in every EU member state on any date since 1 January 2016, as small libraries with no dependencies that work offline.

LanguagePackageInstallStatus
Node and the browser (TypeScript)@duty27/eu-vatnpm install @duty27/eu-vaton npm
Python 3.9+duty27-eu-vatpip install duty27-eu-vaton PyPI
Java 11+com.duty27:eu-vatMaven or Gradle, see java/on Maven Central
AI assistants (MCP server)@duty27/eu-vat-mcpclaude mcp add eu-vat -- npx -y @duty27/eu-vat-mcpon npm
import { getStandardRate } from '@duty27/eu-vat';
getStandardRate('DE', '2020-07-01');   // 16 (Germany's temporary cut)
from duty27_eu_vat import get_standard_rate
get_standard_rate("DE", "2020-07-01")  # Decimal('16')
EuVat.getStandardRate("DE", "2020-07-01");   // 16

All three give identical answers (so does the MCP server) and are built from the same dataset, which Duty27 publishes at https://duty27.com/vat-rates/history, as CSV and JSON at https://duty27.com/data/eu-standard-vat-rates.json. Every rate change there cites the law or tax-authority notice that made it, and the 2016 starting rates cite the European Commission's rate table; the citations are on that page and in the CSV and JSON, not in the packages. It covers standard rates only; reduced rates are not included. It looks rates up; it does not calculate tax. This is information, not tax advice.

For deciding what to charge (B2B reverse charge, the EU €10,000 threshold, VIES checks) and keeping the proof (archive and OSS reports), see the Duty27 API, which is free to try.

Taking just the one you need

Most people never need this repository: install the package from its registry. To read or work on one library, each folder is self-contained: it has its own README, licences, build file and tests, and needs nothing from the rest of the repo. To fetch only one folder instead of the whole repository:

git clone --filter=blob:none --no-checkout https://github.com/duty27/eu-vat.git
cd eu-vat
git sparse-checkout set python        # or node, or java
git checkout main

How they stay identical

One file, data/eu-standard-vat-rates.json, is the source. ./build.sh turns it into each language's data module and a shared set of expected answers (test-vectors.csv, worked out by a plain scan of the data, not by any library), then builds and tests all three libraries and the MCP server (which bundles the Node library's data), and finishes by checking that every one of them carries the same source hash.

./build.sh            # regenerate the data, then build and test node, python, java and the MCP server
./build.sh java       # one language (or node, python, mcp)
./build.sh refresh    # fetch the published rates and update the snapshot
./build.sh check      # fail if the published rates changed, or a generated file was edited by hand

Licence

Code: MIT (LICENSE). Data: CC BY 4.0 (DATA-LICENSE.md), credit Rate data: Duty27 (https://duty27.com/vat-rates/history), CC BY 4.0.

Reviews

No reviews yet

Be the first to review this server!