Skip to main content
Glama

EU standard VAT rate on a date

get_standard_rate
Read-onlyIdempotent

Retrieve the standard VAT rate for an EU member state on a given date since 2016, including temporary cuts. Provide a country code and optional date; defaults to today.

Instructions

Look up the standard VAT rate in force in one EU member state on a given day (any day since 2016-01-01). Use this for "what was the VAT rate in Germany on 1 July 2020?" or "what is the VAT rate in Finland today?". The day a rate changes is the first day of the new rate. Standard VAT rates only (not reduced rates), from 2016-01-01. Data checked against the published rates on 2026-10-04; a change made after that date appears in a newer release.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateNoDay as YYYY-MM-DD, for example "2020-07-01". Optional: today (UTC) when omitted.
countryYesEU member state code such as "DE" or "FR" (case does not matter). Greece is "EL"; "GR" is accepted too.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateYes
rateYes
countryYes
dataAsOfYes
attributionYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish read-only, idempotent, non-destructive and closed-world behavior, so the safety profile is covered. The description adds genuinely new context the annotations cannot carry: the data vintage (checked 2026-10-04) and the boundary rule that the changeover day belongs to the new rate. It does not say what happens for a non-EU or unknown country code.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and scope are front-loaded, followed by worked examples and then caveats, so an agent can stop reading early. The two example questions are useful for routing but slightly redundant with each other, and the release-vintage sentence could be tightened.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation here. Combined with annotations covering the safety profile and the schema covering parameters, the description supplies the remaining essentials: coverage window, changeover-day semantics, and data freshness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are already documented including the today-UTC default and the 'EL'/'GR' code detail. The description adds one real constraint beyond the schema: the lower bound of 2016-01-01 on the date, which is not encoded anywhere in the input schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (look up) plus resource (standard VAT rate) plus scope (one EU member state, one day), which clearly separates it from the list-oriented siblings. It does not explicitly name get_rate_history or list_rate_changes, so an agent must infer the boundary from the 'on a given day' framing rather than being told.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives two concrete example questions that map directly to invocation, plus the key exclusions: standard rates only, not reduced rates, and nothing before 2016-01-01. It stops short of explicitly naming which sibling to use for historical series or rate-change listings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.