Skip to main content
Glama

Official exchange rates

get_exchange_rates
Read-onlyIdempotent

Official exchange rates: the European Central Bank's daily reference rates for about 30 currencies, converted to any base currency (USD by default). Source: ECB statistics. Reference rates, not trading rates.

Input Schema

NameRequiredDescriptionDefault
baseNo3-letter currency code
symbolsNoComma-separated currency codes

Output Schema

NameRequiredDescriptionDefault
dataYesThe result. Its fields are documented at https://www.x402pulse.dev/developers for each endpoint.
cachedNotrue if the result came from x402Pulse's cache, false if it was just computed.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, openWorld, non-destructive), so the description's job is to add data characteristics — and it does: the source (ECB), the update cadence implied by 'daily', the breadth (~30 currencies), and the crucial caveat that these are reference rather than tradable rates. It does not discuss latency, caching, or weekend/holiday availability, which keeps it short of a 5.

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

Conciseness5/5

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

Three compact sentences, front-loaded with the resource and source, followed by usage context and a limitation caveat. No filler, no restatement of the title, and every clause carries information.

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-value documentation is unnecessary, and both parameters are fully described in the schema. The description supplies the missing context — provenance, coverage, default behavior, and the reference-vs-trading distinction — so nothing an agent needs to call this correctly is absent.

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 coverage is 100%, so the baseline is 3, but the description adds meaning the schema does not: it establishes that the base currency is configurable to 'any base' with a USD default, which the schema only expresses as '3-letter currency code' with no default stated. That is genuine added value for an optional parameter.

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

Purpose5/5

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

States a specific verb+resource (retrieves official exchange rates), names the authoritative source (European Central Bank daily reference rates), quantifies the scope (~30 currencies), and distinguishes itself from trading-rate tools in the same breath. An agent can select it confidently without opening the schema.

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?

The phrase 'Reference rates, not trading rates' gives an explicit when-not condition, and 'converted to any base currency (USD by default)' clarifies the expected invocation shape. There are no direct FX siblings to route against, so the absence of named alternatives is not a real gap.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources