Skip to main content
Glama
7BlockLabs

FX Rates MCP Server

by 7BlockLabs

Latest exchange rates

latest_rates
Read-only

Fetch today's ECB reference exchange rates for a chosen base currency against specified or all supported currencies.

Instructions

Get today's ECB reference rates for one base currency against some or all currencies. Example: latest_rates(base='EUR', symbols=['USD','GBP']).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
baseNoEUR
symbolsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety and external-source behavior are covered. The description adds the ECB provenance and same-day freshness, which is useful context, but says nothing about rate availability timing, weekend/holiday behavior, or fallback when a symbol is unknown.

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?

Two sentences: the capability and scope first, then a compact call example. Every element earns its place with no filler.

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

Completeness3/5

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

For a two-parameter read tool with read-only and open-world annotations, the description covers invocation adequately. But with no output schema, the return shape (a mapping of currency to rate, date stamp, source) is never described, so an agent can't anticipate the response structure.

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 0%, so the description must compensate; the inline example clarifies that base is a single currency and symbols is a list, and hints at the default behavior. It still doesn't explain what a null/omitted symbols means (all currencies) or the expected symbol format, leaving part of the gap unfilled.

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 and resource — 'Get today's ECB reference rates' — with the data source named, which separates it from generic rate lookups. It does not explicitly name how it differs from siblings like historical_rate or timeseries, but the 'today's' scope does most of that work.

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

Usage Guidelines3/5

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

The 'today's' framing implicitly tells the agent to use historical_rate/timeseries for other time ranges, and a concrete call example is provided. However, there is no explicit when-to-use or when-not clause, and no mention that a companion call (list_currencies) exists for discovering valid symbols.

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