Skip to main content
Glama

Currency rate history

get_history
Read-onlyIdempotent

Return one currency's rate series over a date range, expressed against base: rates maps each date (or aggregated period) to units of currency per 1 base. Use for a line chart or raw daily/weekly/monthly/yearly points for one currency. Use analyze_history for computed change, trend, and movers; use convert or get_rates for a single value or snapshot. Defaults: to today, from 7 days earlier, base USD, interval daily; coarser intervals average the daily rates per bucket. Returns { currency, base, interval, from, to, rates }. Free plans are limited to the last 30 days; an invalid code or missing history is a 404. Requires a signed-in connection; each successful call bills 1 API request.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "currency": "<currency>"
    },
    "name": "get_history"
  }
}

Input Schema

NameRequiredDescriptionDefault
toNoEnd date YYYY-MM-DD (UTC). Defaults to today; a future date clamps to today.
baseNoBase currency the rates are expressed against (3-letter ISO 4217). Defaults to USD.
fromNoStart date YYYY-MM-DD (UTC). Defaults to 7 days before `to`.
currencyYesThe currency whose history to fetch (3-letter ISO 4217), e.g. INR. One currency per call.
intervalNoAggregation: daily (default), weekly, monthly, or yearly. Coarser intervals average the daily rates per bucket (weekly key = the week's Monday, monthly = YYYY-MM, yearly = YYYY).

Output Schema

NameRequiredDescriptionDefault
toYes
baseYes
fromYes
ratesYes
currencyYes
intervalYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / interval / enum
      Added value: +[
      +  "daily",
      +  "weekly",
      +  "monthly",
      +  "yearly"
      +]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "base": {
      +      "type": "string"
      +    },
      +    "currency": {
      +      "type": "string"
      +    },
      +    "from": {
      +      "type": "string"
      +    },
      +    "interval": {
      +      "enum": [
      +        "daily",
      +        "weekly",
      +        "monthly",
      +        "yearly"
      +      ],
      +      "type": "string"
      +    },
      +    "rates": {
      +      "additionalProperties": {
      +        "type": "number"
      +      },
      +      "propertyNames": {
      +        "type": "string"
      +      },
      +      "type": "object"
      +    },
      +    "to": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "currency",
      +    "base",
      +    "interval",
      +    "from",
      +    "to",
      +    "rates"
      +  ],
      +  "type": "object"
      +}
  2. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare read-only, idempotent, non-destructive, closed-world behavior. The description adds substantial context beyond those annotations: defaults, how coarser intervals average daily rates, the return object shape, free-plan 30-day limits, 404 behavior for invalid or missing data, signed-in connection requirement, and billing of 1 API request per successful call.

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?

The description is dense but well ordered: purpose first, then use cases, sibling alternatives, defaults, return shape, limits, errors, auth, and billing. Every sentence contributes operational information, and the most important selection criteria are front-loaded.

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?

For a read-only historical-data tool with rich schema and annotations, the description is complete. It covers selection guidance, parameter behavior, return shape, plan limits, error behavior, authentication, and billing, leaving no significant gap for an agent to call it correctly.

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%, so the schema already documents each parameter, including defaults, date formats, enum values, and interval averaging. The description repeats most of that and mainly adds the interpretation of the returned rates mapping, which is output semantics rather than new parameter meaning. Baseline 3 is appropriate because the schema carries the parameter documentation.

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 states a specific verb and resource: returning one currency's rate series over a date range, expressed against a base. It distinguishes the tool from siblings by naming analyze_history for computed analysis and convert/get_rates for single values or snapshots.

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

Usage Guidelines5/5

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

It gives explicit use cases (line chart or raw daily/weekly/monthly/yearly points for one currency) and explicitly routes agents to analyze_history for computed change, trend, and movers, and to convert or get_rates for a single value or snapshot. The conditions for choosing this tool versus alternatives are clear.

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