Skip to main content
Glama

Every standard VAT rate a country has had

get_rate_history
Read-onlyIdempotent

Retrieve every standard VAT rate an EU member state has applied since 2016-01-01, with the date each rate took effect. Use it to trace how a country's standard VAT rate changed over time.

Instructions

List every standard VAT rate one EU member state has had since 2016-01-01, with the first day each one applied. Use this for "how has the VAT rate in Ireland changed?". 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
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
countryYes
windowsYes
dataAsOfYes
attributionYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already establish the safe read-only, idempotent, closed-world profile, so the bar is lower. The description adds genuinely useful behavior beyond that: data freshness ('checked against the published rates on 2026-10-04; a change made after that date appears in a newer release') and the 2016-01-01 start boundary. It says nothing about ordering or size of the returned series, though the series nature implies coverage.

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?

Front-loaded with the core purpose and the example query, and every sentence carries information. The scope clause is slightly redundant, restating 'since 2016-01-01' and the standard-rates-only restriction that the opening sentence already conveys.

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

Completeness4/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 structure needn't be described. Together with the schema, annotations, and freshness note, the description gives an agent everything needed to call this correctly. Only the overlap with the list_rate_changes sibling is left unresolved.

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

Parameters3/5

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

Schema description coverage is 100%: the single country parameter is fully documented in the schema, including the EL/GR special case. The description adds only the constraint that it is one EU member state, which the schema's type and the tool's framing already imply. Baseline 3 is correct here.

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?

Specific verb+resource+scope: 'List every standard VAT rate one EU member state has had since 2016-01-01, with the first day each one applied.' It tells the agent this is the historical series for a single country, which separates it from get_standard_rate (current rate). It does not, however, distinguish itself from the similarly-named sibling list_rate_changes, which an agent could confuse with this tool.

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?

Provides a concrete trigger example ("how has the VAT rate in Ireland changed?") and an exclusion (standard rates only, not reduced rates). No sibling tool is named as an alternative, so the agent must infer when get_standard_rate or list_rate_changes is the better choice.

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