Data source: European Commission
Overview
VAT Rates (EU) wraps European Commission, handling authentication, pagination, and rate limits for you. This tutorial covers all 6 tools with working code examples you can copy and run.
Prerequisites
- Sign up at https://context.gnist.ai/signup for a free API key (100 calls/day).
- Choose your integration method: MCP protocol or REST API.
Connect via MCP
Add to your MCP client config (Claude Desktop, Cursor, etc.):
{
"mcpServers": {
"gnist-vat-rates": {
"url": "https://context.gnist.ai/mcp/vat-rates/",
"headers": {
"Gnist-API-Key": "YOUR_API_KEY"
}
}
}
}
Tools (6)
get_vat_rate
Get VAT rates for a specific European country. Returns standard rate, reduced rates, super-reduced rate, and parking rate where applicable.
| Parameter | Type | Required | Description |
|---|---|---|---|
country_code | string | required | ISO alpha-2 country code (e.g. DE, FR, SE). |
curl -X POST "https://context.gnist.ai/mcp/vat-rates/" \
-H "Content-Type: application/json" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "get_vat_rate", "arguments": {"country_code": "DE"}}}'
import httpx
resp = httpx.post(
"https://context.gnist.ai/mcp/vat-rates/",
headers={"Gnist-API-Key": "YOUR_API_KEY"},
json={'id': 1,
'jsonrpc': '2.0',
'method': 'tools/call',
'params': {'arguments': {'country_code': 'DE'}, 'name': 'get_vat_rate'}},
)
print(resp.json())
list_all_vat_rates
List VAT rates for all European countries. Returns standard and reduced rates for all EU/EEA member states plus UK and Switzerland.
curl -X POST "https://context.gnist.ai/mcp/vat-rates/" \
-H "Content-Type: application/json" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "list_all_vat_rates", "arguments": {}}}'
import httpx
resp = httpx.post(
"https://context.gnist.ai/mcp/vat-rates/",
headers={"Gnist-API-Key": "YOUR_API_KEY"},
json={'id': 1,
'jsonrpc': '2.0',
'method': 'tools/call',
'params': {'arguments': {}, 'name': 'list_all_vat_rates'}},
)
print(resp.json())
search_vat_rates
Search VAT rates by country name. Case-insensitive partial match on country name or code.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | required | Country name to search for. |
limit | integer | optional | (default: 10) |
curl -X POST "https://context.gnist.ai/mcp/vat-rates/" \
-H "Content-Type: application/json" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "search_vat_rates", "arguments": {"query": "renewable energy"}}}'
import httpx
resp = httpx.post(
"https://context.gnist.ai/mcp/vat-rates/",
headers={"Gnist-API-Key": "YOUR_API_KEY"},
json={'id': 1,
'jsonrpc': '2.0',
'method': 'tools/call',
'params': {'arguments': {'query': 'renewable energy'},
'name': 'search_vat_rates'}},
)
print(resp.json())
get_highest_vat_rates
Get countries with the highest standard VAT rates.
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | integer | optional | (default: 10) |
curl -X POST "https://context.gnist.ai/mcp/vat-rates/" \
-H "Content-Type: application/json" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "get_highest_vat_rates", "arguments": {"limit": 10}}}'
import httpx
resp = httpx.post(
"https://context.gnist.ai/mcp/vat-rates/",
headers={"Gnist-API-Key": "YOUR_API_KEY"},
json={'id': 1,
'jsonrpc': '2.0',
'method': 'tools/call',
'params': {'arguments': {'limit': 10}, 'name': 'get_highest_vat_rates'}},
)
print(resp.json())
get_lowest_vat_rates
Get countries with the lowest standard VAT rates.
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | integer | optional | (default: 10) |
curl -X POST "https://context.gnist.ai/mcp/vat-rates/" \
-H "Content-Type: application/json" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "get_lowest_vat_rates", "arguments": {"limit": 10}}}'
import httpx
resp = httpx.post(
"https://context.gnist.ai/mcp/vat-rates/",
headers={"Gnist-API-Key": "YOUR_API_KEY"},
json={'id': 1,
'jsonrpc': '2.0',
'method': 'tools/call',
'params': {'arguments': {'limit': 10}, 'name': 'get_lowest_vat_rates'}},
)
print(resp.json())
report_feedback
Report a bug, feature request, or general feedback for this data source. Use this when something doesn't work as expected, when you'd like a new feature, or when you have suggestions for improvement. Args: feedback: Describe the issue or suggestion. feedback_type: One of 'bug', 'feature_request', or 'general'.
| Parameter | Type | Required | Description |
|---|---|---|---|
feedback | string | required | |
feedback_type | string | optional | (default: general) |
curl -X POST "https://context.gnist.ai/mcp/vat-rates/" \
-H "Content-Type: application/json" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "report_feedback", "arguments": {"feedback": "example"}}}'
import httpx
resp = httpx.post(
"https://context.gnist.ai/mcp/vat-rates/",
headers={"Gnist-API-Key": "YOUR_API_KEY"},
json={'id': 1,
'jsonrpc': '2.0',
'method': 'tools/call',
'params': {'arguments': {'feedback': 'example'}, 'name': 'report_feedback'}},
)
print(resp.json())
Common Patterns
Use
list_all_vat_rates to find items, then get_vat_rate to get full details. This two-step pattern is common for exploring data before drilling down.Several tools support
limit, offset, or page parameters. Start with small limits during development, then increase for production queries.FAQ
What data does VAT Rates (EU) provide?
EU and European VAT rates by country — standard, reduced, super-reduced, and parking rates. It exposes 6 tools: get_vat_rate, list_all_vat_rates, search_vat_rates, get_highest_vat_rates, get_lowest_vat_rates, report_feedback.
What do I need to get started?
A Gnist API key (free tier: 100 calls/day). Sign up at https://context.gnist.ai/signup.
What format does the VAT Rates (EU) API return?
JSON, via either MCP protocol (JSON-RPC 2.0) or REST API.