Skip to main content
Glama

Market Intel MCP

fx_historical

Get foreign-exchange rates for a base currency on a specific past date (YYYY-MM-DD). ECB publishes rates on business days; a weekend/holiday date returns the most recent prior business day.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
baseNo3-letter base (default USD)
dateYesYYYY-MM-DD
symbolsNoOptional comma-separated targets

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
baseYesISO 4217 base currency actually used
dateYesECB rate date actually used YYYY-MM-DD
ratesYesQuote currencies mapped to the ECB reference rate
sourceYes
requested_dateYesCaller-requested date YYYY-MM-DD

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "base": {
      +      "description": "ISO 4217 base currency actually used",
      +      "pattern": "^[A-Z]{3}$",
      +      "type": "string"
      +    },
      +    "date": {
      +      "description": "ECB rate date actually used YYYY-MM-DD",
      +      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      +      "type": "string"
      +    },
      +    "rates": {
      +      "additionalProperties": {
      +        "type": "number"
      +      },
      +      "description": "Quote currencies mapped to the ECB reference rate",
      +      "maxProperties": 256,
      +      "minProperties": 1,
      +      "propertyNames": {
      +        "pattern": "^[A-Z]{3}$"
      +      },
      +      "type": "object"
      +    },
      +    "requested_date": {
      +      "description": "Caller-requested date YYYY-MM-DD",
      +      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      +      "type": "string"
      +    },
      +    "source": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "base",
      +    "date",
      +    "requested_date",
      +    "rates",
      +    "source"
      +  ],
      +  "type": "object"
      +}
  2. First observed

TDQS

A4.4/5.0
Behavior4/5

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

There are no annotations, so the description carries the behavioral disclosure burden. It explains the ECB source, the business-day publication model, and the fallback behavior for weekend/holiday dates. This is meaningful non-obvious behavior that helps an agent interpret results correctly. It could mention whether missing symbols returns all rates, but the output schema mitigates that gap.

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, no filler, and the essential action is front-loaded. The second sentence earns its place by disclosing the most important behavioral nuance. Nothing needs to be trimmed or reordered.

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?

For a three-parameter tool with full schema coverage and an output schema, the description is close to complete. It states the date restriction, the base-currency concept, and the holiday fallback that could otherwise confuse an agent. The only missing piece is explicit routing among sibling tools, but that is not necessary for correct invocation.

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 schema already documents base, date, and symbols. The description adds extra semantic value for the date parameter by specifying 'past date' and explaining weekend/holiday fallback. It does not add much for base or symbols, but the schema already covers those, so the description's added date semantics justify a slightly above-baseline score.

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?

The description names a specific action (get foreign-exchange rates), a resource (base currency on a specific past date), and clearly distinguishes this single-date tool from historical ranges or conversions. The phrase 'specific past date' immediately signals the tool's scope without requiring the agent to inspect sibling tools.

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 description clearly implies when to use this tool: for a single historical date rather than a range or current rates. It also provides important operational context about business-day publishing and weekend/holiday fallback. It does not explicitly name alternatives or state 'use fx_rates for current rates,' but the context is strong enough for an agent to select it correctly.

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.