D
duty27/eu-vat
Standard VAT rate in every EU member state on any date since 2016. Zero-dependency libraries for Node, Python and Java, plus an MCP server. Every rate change cites its source.
no SECURITY.md
View on GitHub ↗Link checked 2026-11-12 · HTTP 200 · opens the vendor's own site
Install & config
Install command from the repository
claude mcp add eu-vat -- npx -y @duty27/eu-vat-mcp | on npm |
Parsed from the README we fetched on 2026-10-26; we have not executed it.
This is the install method the repository states, not an MCP client config, so no JSON is generated.
Key names differ by client: Clients & CLI
- Star count
- 0 ★ · duty27/eu-vat · read from the GitHub search API · (checked 2026-11-13 20:00:50)
- Source
- collected from the punkpeye/awesome-mcp-servers list · type: MCP server
- Harvest history
- first seen 2026-10-23 · last seen 2026-11-14 · seen 26× · listed by 23 sources
- Score
- score 2,300 · 23 sources · mcp
- Install
claude mcp add eu-vat -- npx -y @duty27/eu-vat-mcp | on npm |
FAQ (answers come from our records)
How do I install it?
The repository provides this install command:
claude mcp add eu-vat -- npx -y @duty27/eu-vat-mcp | on npm |. It comes from the repository itself; we cannot guarantee it runs as-is in your client.Who is it for?
We filed it under these tags: MCP 服务. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
repository
duty27/eu-vat;first catalogued 2026-10-23;last seen 2026-11-14。There is no official certification or quality rating here — we record sources and dates only.# eu-vat
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
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.
| Language | Package | Install | Status |
| Node and the browser (TypeScript) | @duty27/eu-vat | npm install @duty27/eu-vat | on npm |
| Python 3.9+ | duty27-eu-vat | pip install duty27-eu-vat | on PyPI |
| Java 11+ | com.duty27:eu-vat | Maven or Gradle, see java/ | on Maven Central |
| AI assistants (MCP server) | @duty27/eu-vat-mcp | claude mcp add eu-vat -- npx -y @duty27/eu-vat-mcp | on npm |
js
import { getStandardRate } from '@duty27/eu-vat';
getStandardRate('DE', '2020-07-01'); // 16 (Germany's temporary cut)
python
from duty27euvat import getstandardrate
getstandardrate("DE", "2020-07-01") # Decimal('16')
java
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:
sh
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
dependencies that work offline.
| Language | Package | Install | Status |
| Node and the browser (TypeScript) | @duty27/eu-vat | npm install @duty27/eu-vat | on npm |
| Python 3.9+ | duty27-eu-vat | pip install duty27-eu-vat | on PyPI |
| Java 11+ | com.duty27:eu-vat | Maven or Gradle, see java/ | on Maven Central |
| AI assistants (MCP server) | @duty27/eu-vat-mcp | claude mcp add eu-vat -- npx -y @duty27/eu-vat-mcp | on npm |
js
import { getStandardRate } from '@duty27/eu-vat';
getStandardRate('DE', '2020-07-01'); // 16 (Germany's temporary cut)
python
from duty27euvat import getstandardrate
getstandardrate("DE", "2020-07-01") # Decimal('16')
java
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:
sh
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
Listed badge (optional)
Copy this line into the README if you want the listing mark. Optional, and it does not affect being listed.
[](https://anclum.com/en/s/duty27-eu-vat/)
- Source
- awesome · https://github.com/duty27/eu-vat
- Browse by field
- MCP servers
- Listed by
- 23 independent sources
- added
- today
- Security policy
- no
SECURITY.mdat the repository root (which does not mean it is unsafe)
More like this
Filed under
Every tag opens the full list for that filter. Counts are the live catalogue figures.