Skip to main content
Glama

FX Spot Rates

forex
Read-only

Get raw historical FX spot-rate rows for a currency pair (e.g. EUR/USD) as a plain-text table, raw rows, exact values, or JSON-like data, without chart metadata. Daily official central-bank reference rates with multi-year history. Optional technical-indicator series (SMA, EMA, RSI, MACD, Bollinger Bands, etc.) are selected by comma-separated slugs in indicators; interval selects daily or intraday. Access: API key required, else returns subscription_required with a subscribe link.

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": {
      "base": "<base>",
      "quote": "<quote>"
    },
    "name": "forex"
  }
}

Input Schema

NameRequiredDescriptionDefault
baseYesBase currency, 3-letter ISO code (case-insensitive). Supported: lowercase 3-letter catalogue currency, e.g. usd or eur.
quoteYesQuote currency, 3-letter ISO code (case-insensitive). Supported: lowercase 3-letter catalogue currency, e.g. usd or eur.
end_dateNoInclusive upper bound, YYYY-MM-DD. Defaults to today.
end_timeNointraday only: inclusive RFC 3339 upper bound.
intervalNodaily (default): spot history. intraday: timestamped official intraday reference-rate fixings for the pair, bounded by start_time and end_time.daily
indicatorsNoComma-separated technical-indicator slugs to attach to each row. Supported: adx_14, atr_14, bollinger_bands, cci_20, donchian_20, ema_12, ema_20, ema_200, ema_26, ema_50, macd, macd_histogram, macd_signal, rsi_14, sma_20, sma_200, sma_50, stochastic_14_3, williams_r_14, all.
start_dateNoInclusive lower bound, YYYY-MM-DD. Defaults to ~5 years ago.
start_timeNointraday only: inclusive RFC 3339 lower bound.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed20 schema fields changed
    • changedInput schema / properties / base / description
      Previous value: -"Base currency, 3-letter ISO code (case-insensitive). Supported: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy."New value: +"Base currency, 3-letter ISO code (case-insensitive). Supported: lowercase 3-letter catalogue currency, e.g. usd or eur."
    • removedInput schema / properties / end_date / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / end_date / default
      Removed value: -null
    • changedInput schema / properties / end_date / examples
      Previous value: -[
      -  "2020-01-01",
      -  "2024-06-30"
      -]New value: +[
      +  "2024-06-30"
      +]
    • addedInput schema / properties / end_date / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedInput schema / properties / end_time / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / end_time / default
      Removed value: -null
    • addedInput schema / properties / end_time / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedInput schema / properties / indicators / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / indicators / default
      Removed value: -null
    • addedInput schema / properties / indicators / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / quote / description
      Previous value: -"Quote currency, 3-letter ISO code (case-insensitive). Supported: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy."New value: +"Quote currency, 3-letter ISO code (case-insensitive). Supported: lowercase 3-letter catalogue currency, e.g. usd or eur."
    • removedInput schema / properties / start_date / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / start_date / default
      Removed value: -null
    • changedInput schema / properties / start_date / examples
      Previous value: -[
      -  "2020-01-01",
      -  "2024-06-30"
      -]New value: +[
      +  "2024-06-30"
      +]
    • addedInput schema / properties / start_date / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedInput schema / properties / start_time / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / start_time / default
      Removed value: -null
    • addedInput schema / properties / start_time / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedInput schema / title
      Removed value: -"forexArguments"
  2. Changed5 schema fields changed
    • changedInput schema / properties / base / description
      Previous value: -"Base currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD."New value: +"Base currency, 3-letter ISO code (case-insensitive). Supported: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy."
    • addedInput schema / properties / end_time
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "intraday only: inclusive RFC 3339 upper bound."
      +}
    • addedInput schema / properties / interval
      Added value: +{
      +  "default": "daily",
      +  "description": "daily (default): spot history. intraday: timestamped official intraday reference-rate fixings for the pair, bounded by start_time and end_time.",
      +  "enum": [
      +    "daily",
      +    "intraday"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / quote / description
      Previous value: -"Quote currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD."New value: +"Quote currency, 3-letter ISO code (case-insensitive). Supported: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy."
    • addedInput schema / properties / start_time
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "intraday only: inclusive RFC 3339 lower bound.",
      +  "examples": [
      +    "2026-07-20T00:00:00Z"
      +  ]
      +}
  3. Changed2 schema fields changed
    • changedInput schema / properties / base / description
      Previous value: -"Base currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD."New value: +"Base currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD."
    • changedInput schema / properties / quote / description
      Previous value: -"Quote currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD."New value: +"Quote currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD."
  4. Changed5 schema fields changed
    • removedInput schema / properties / base / title
      Removed value: -"Base"
    • removedInput schema / properties / end_date / title
      Removed value: -"End Date"
    • removedInput schema / properties / indicators / title
      Removed value: -"Indicators"
    • removedInput schema / properties / quote / title
      Removed value: -"Quote"
    • removedInput schema / properties / start_date / title
      Removed value: -"Start Date"
  5. Changed1 schema field changed
    • changedInput schema / properties / indicators / description
      Previous value: -"Comma-separated technical-indicator slugs to attach to each row. Supported: adx_14, atr_14, bollinger_bands, ema_12, ema_20, ema_200, ema_26, ema_50, macd, macd_histogram, macd_signal, rsi_14, sma_20, sma_200, sma_50, all."New value: +"Comma-separated technical-indicator slugs to attach to each row. Supported: adx_14, atr_14, bollinger_bands, cci_20, donchian_20, ema_12, ema_20, ema_200, ema_26, ema_50, macd, macd_histogram, macd_signal, rsi_14, sma_20, sma_200, sma_50, stochastic_14_3, williams_r_14, all."
  6. Changed2 schema fields changed
    • changedInput schema / properties / base / description
      Previous value: -"Base currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, IDR, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD."New value: +"Base currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD."
    • changedInput schema / properties / quote / description
      Previous value: -"Quote currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, IDR, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD."New value: +"Quote currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD."
  7. Changed1 schema field changed
    • changedInput schema / properties / indicators / description
      Previous value: -"Comma-separated technical-indicator slugs to attach to each row. Supported: bollinger_bands, ema_12, ema_26, macd, rsi_14, sma_20, sma_200, sma_50, all."New value: +"Comma-separated technical-indicator slugs to attach to each row. Supported: adx_14, atr_14, bollinger_bands, ema_12, ema_20, ema_200, ema_26, ema_50, macd, macd_histogram, macd_signal, rsi_14, sma_20, sma_200, sma_50, all."
  8. Changed2 schema fields changed
    • changedInput schema / properties / base / description
      Previous value: -"Base currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, DKK, EUR, GBP, IDR, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD."New value: +"Base currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, IDR, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD."
    • changedInput schema / properties / quote / description
      Previous value: -"Quote currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, DKK, EUR, GBP, IDR, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD."New value: +"Quote currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, IDR, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD."
  9. Changed2 schema fields changed
    • changedInput schema / properties / base / description
      Previous value: -"Base currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, DKK, EUR, GBP, IDR, ILS, JPY, NGN, NZD, PEN, SEK, THB, USD."New value: +"Base currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, DKK, EUR, GBP, IDR, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD."
    • changedInput schema / properties / quote / description
      Previous value: -"Quote currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, DKK, EUR, GBP, IDR, ILS, JPY, NGN, NZD, PEN, SEK, THB, USD."New value: +"Quote currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, DKK, EUR, GBP, IDR, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD."
  10. Changed2 schema fields changed
    • changedInput schema / properties / base / description
      Previous value: -"Base currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, DKK, EUR, GBP, IDR, ILS, JPY, NZD, PEN, SEK, THB, USD."New value: +"Base currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, DKK, EUR, GBP, IDR, ILS, JPY, NGN, NZD, PEN, SEK, THB, USD."
    • changedInput schema / properties / quote / description
      Previous value: -"Quote currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, DKK, EUR, GBP, IDR, ILS, JPY, NZD, PEN, SEK, THB, USD."New value: +"Quote currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, DKK, EUR, GBP, IDR, ILS, JPY, NGN, NZD, PEN, SEK, THB, USD."
  11. Changed2 schema fields changed
    • changedInput schema / properties / base / description
      Previous value: -"Base currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, DKK, EUR, GBP, IDR, ILS, JPY, NZD, PEN, SEK, USD."New value: +"Base currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, DKK, EUR, GBP, IDR, ILS, JPY, NZD, PEN, SEK, THB, USD."
    • changedInput schema / properties / quote / description
      Previous value: -"Quote currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, DKK, EUR, GBP, IDR, ILS, JPY, NZD, PEN, SEK, USD."New value: +"Quote currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, DKK, EUR, GBP, IDR, ILS, JPY, NZD, PEN, SEK, THB, USD."
  12. Changed2 schema fields changed
    • changedInput schema / properties / base / description
      Previous value: -"Base currency, 3-letter ISO code (case-insensitive). Supported: AED, AUD, BRL, CAD, CHF, CNH, DKK, EUR, GBP, IDR, ILS, JPY, MXN, NZD, PEN, PLN, SEK, THB, TWD, USD."New value: +"Base currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, DKK, EUR, GBP, IDR, ILS, JPY, NZD, PEN, SEK, USD."
    • changedInput schema / properties / quote / description
      Previous value: -"Quote currency, 3-letter ISO code (case-insensitive). Supported: AED, AUD, BRL, CAD, CHF, CNH, DKK, EUR, GBP, IDR, ILS, JPY, MXN, NZD, PEN, PLN, SEK, THB, TWD, USD."New value: +"Quote currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, DKK, EUR, GBP, IDR, ILS, JPY, NZD, PEN, SEK, USD."
  13. Changed2 schema fields changed
    • changedInput schema / properties / base / description
      Previous value: -"Base currency, 3-letter ISO code (case-insensitive). Supported: AED, AUD, BRL, CAD, CHF, DKK, EUR, GBP, IDR, ILS, JPY, MXN, NZD, PEN, PLN, SEK, THB, TWD, USD."New value: +"Base currency, 3-letter ISO code (case-insensitive). Supported: AED, AUD, BRL, CAD, CHF, CNH, DKK, EUR, GBP, IDR, ILS, JPY, MXN, NZD, PEN, PLN, SEK, THB, TWD, USD."
    • changedInput schema / properties / quote / description
      Previous value: -"Quote currency, 3-letter ISO code (case-insensitive). Supported: AED, AUD, BRL, CAD, CHF, DKK, EUR, GBP, IDR, ILS, JPY, MXN, NZD, PEN, PLN, SEK, THB, TWD, USD."New value: +"Quote currency, 3-letter ISO code (case-insensitive). Supported: AED, AUD, BRL, CAD, CHF, CNH, DKK, EUR, GBP, IDR, ILS, JPY, MXN, NZD, PEN, PLN, SEK, THB, TWD, USD."
  14. Changed2 schema fields changed
    • changedInput schema / properties / base / description
      Previous value: -"Base currency, 3-letter ISO code (case-insensitive). Supported: AED, ARS, AUD, BOB, BRL, CAD, CHF, CLP, COP, CZK, DKK, DZD, EGP, EUR, GBP, HKD, HUF, IDR, ILS, INR, JPY, MAD, MXN, MYR, NGN, NOK, NZD, PEN, PHP, PKR, PLN, RUB, SAR, SEK, THB, TRY, TWD, USD, UYU, VND."New value: +"Base currency, 3-letter ISO code (case-insensitive). Supported: AED, AUD, BRL, CAD, CHF, DKK, EUR, GBP, IDR, ILS, JPY, MXN, NZD, PEN, PLN, SEK, THB, TWD, USD."
    • changedInput schema / properties / quote / description
      Previous value: -"Quote currency, 3-letter ISO code (case-insensitive). Supported: AED, ARS, AUD, BOB, BRL, CAD, CHF, CLP, COP, CZK, DKK, DZD, EGP, EUR, GBP, HKD, HUF, IDR, ILS, INR, JPY, MAD, MXN, MYR, NGN, NOK, NZD, PEN, PHP, PKR, PLN, RUB, SAR, SEK, THB, TRY, TWD, USD, UYU, VND."New value: +"Quote currency, 3-letter ISO code (case-insensitive). Supported: AED, AUD, BRL, CAD, CHF, DKK, EUR, GBP, IDR, ILS, JPY, MXN, NZD, PEN, PLN, SEK, THB, TWD, USD."
  15. Changed2 schema fields changed
    • changedInput schema / properties / base / description
      Previous value: -"Base currency, 3-letter ISO code (case-insensitive). Supported: AED, ARS, AUD, BOB, BRL, CAD, CHF, CLP, COP, CZK, DKK, DZD, EGP, EUR, GBP, HKD, HUF, IDR, ILS, INR, JPY, MAD, MXN, MYR, NGN, NOK, NZD, PEN, PHP, PKR, PLN, RUB, SAR, SEK, SGD, THB, TRY, TWD, USD, UYU, VND, ZAR."New value: +"Base currency, 3-letter ISO code (case-insensitive). Supported: AED, ARS, AUD, BOB, BRL, CAD, CHF, CLP, COP, CZK, DKK, DZD, EGP, EUR, GBP, HKD, HUF, IDR, ILS, INR, JPY, MAD, MXN, MYR, NGN, NOK, NZD, PEN, PHP, PKR, PLN, RUB, SAR, SEK, THB, TRY, TWD, USD, UYU, VND."
    • changedInput schema / properties / quote / description
      Previous value: -"Quote currency, 3-letter ISO code (case-insensitive). Supported: AED, ARS, AUD, BOB, BRL, CAD, CHF, CLP, COP, CZK, DKK, DZD, EGP, EUR, GBP, HKD, HUF, IDR, ILS, INR, JPY, MAD, MXN, MYR, NGN, NOK, NZD, PEN, PHP, PKR, PLN, RUB, SAR, SEK, SGD, THB, TRY, TWD, USD, UYU, VND, ZAR."New value: +"Quote currency, 3-letter ISO code (case-insensitive). Supported: AED, ARS, AUD, BOB, BRL, CAD, CHF, CLP, COP, CZK, DKK, DZD, EGP, EUR, GBP, HKD, HUF, IDR, ILS, INR, JPY, MAD, MXN, MYR, NGN, NOK, NZD, PEN, PHP, PKR, PLN, RUB, SAR, SEK, THB, TRY, TWD, USD, UYU, VND."
  16. Changed2 schema fields changed
    • changedInput schema / properties / base / description
      Previous value: -"Base currency, 3-letter ISO code (case-insensitive). Supported: AED, ARS, AUD, BOB, BRL, CAD, CHF, CLP, COP, CZK, DKK, DZD, EGP, EUR, GBP, HKD, HUF, IDR, ILS, INR, ISK, JPY, MAD, MXN, MYR, NGN, NOK, NZD, PEN, PHP, PKR, PLN, RUB, SAR, SEK, SGD, THB, TRY, TWD, USD, UYU, VND, ZAR."New value: +"Base currency, 3-letter ISO code (case-insensitive). Supported: AED, ARS, AUD, BOB, BRL, CAD, CHF, CLP, COP, CZK, DKK, DZD, EGP, EUR, GBP, HKD, HUF, IDR, ILS, INR, JPY, MAD, MXN, MYR, NGN, NOK, NZD, PEN, PHP, PKR, PLN, RUB, SAR, SEK, SGD, THB, TRY, TWD, USD, UYU, VND, ZAR."
    • changedInput schema / properties / quote / description
      Previous value: -"Quote currency, 3-letter ISO code (case-insensitive). Supported: AED, ARS, AUD, BOB, BRL, CAD, CHF, CLP, COP, CZK, DKK, DZD, EGP, EUR, GBP, HKD, HUF, IDR, ILS, INR, ISK, JPY, MAD, MXN, MYR, NGN, NOK, NZD, PEN, PHP, PKR, PLN, RUB, SAR, SEK, SGD, THB, TRY, TWD, USD, UYU, VND, ZAR."New value: +"Quote currency, 3-letter ISO code (case-insensitive). Supported: AED, ARS, AUD, BOB, BRL, CAD, CHF, CLP, COP, CZK, DKK, DZD, EGP, EUR, GBP, HKD, HUF, IDR, ILS, INR, JPY, MAD, MXN, MYR, NGN, NOK, NZD, PEN, PHP, PKR, PLN, RUB, SAR, SEK, SGD, THB, TRY, TWD, USD, UYU, VND, ZAR."
  17. Changed2 schema fields changed
    • changedInput schema / properties / base / description
      Previous value: -"Base currency, 3-letter ISO code (case-insensitive). Supported: AED, ARS, AUD, BOB, BRL, CAD, CHF, CLP, COP, CZK, DKK, DZD, EGP, EUR, GBP, HKD, HUF, IDR, ILS, INR, JPY, MAD, MXN, MYR, NGN, NOK, NZD, PEN, PHP, PKR, PLN, RUB, SAR, SEK, SGD, THB, TRY, TWD, USD, UYU, VND, ZAR."New value: +"Base currency, 3-letter ISO code (case-insensitive). Supported: AED, ARS, AUD, BOB, BRL, CAD, CHF, CLP, COP, CZK, DKK, DZD, EGP, EUR, GBP, HKD, HUF, IDR, ILS, INR, ISK, JPY, MAD, MXN, MYR, NGN, NOK, NZD, PEN, PHP, PKR, PLN, RUB, SAR, SEK, SGD, THB, TRY, TWD, USD, UYU, VND, ZAR."
    • changedInput schema / properties / quote / description
      Previous value: -"Quote currency, 3-letter ISO code (case-insensitive). Supported: AED, ARS, AUD, BOB, BRL, CAD, CHF, CLP, COP, CZK, DKK, DZD, EGP, EUR, GBP, HKD, HUF, IDR, ILS, INR, JPY, MAD, MXN, MYR, NGN, NOK, NZD, PEN, PHP, PKR, PLN, RUB, SAR, SEK, SGD, THB, TRY, TWD, USD, UYU, VND, ZAR."New value: +"Quote currency, 3-letter ISO code (case-insensitive). Supported: AED, ARS, AUD, BOB, BRL, CAD, CHF, CLP, COP, CZK, DKK, DZD, EGP, EUR, GBP, HKD, HUF, IDR, ILS, INR, ISK, JPY, MAD, MXN, MYR, NGN, NOK, NZD, PEN, PHP, PKR, PLN, RUB, SAR, SEK, SGD, THB, TRY, TWD, USD, UYU, VND, ZAR."
  18. Changed2 schema fields changed
    • changedInput schema / properties / base / description
      Previous value: -"Base currency, 3-letter ISO code (case-insensitive). Supported: AED, ARS, AUD, BOB, BRL, CAD, CHF, CLP, COP, CZK, DKK, DZD, EGP, EUR, GBP, HKD, HUF, IDR, ILS, INR, JPY, MAD, MYR, NGN, NOK, NZD, PEN, PHP, PKR, PLN, RUB, SAR, SEK, SGD, THB, TRY, TWD, USD, UYU, VND, ZAR."New value: +"Base currency, 3-letter ISO code (case-insensitive). Supported: AED, ARS, AUD, BOB, BRL, CAD, CHF, CLP, COP, CZK, DKK, DZD, EGP, EUR, GBP, HKD, HUF, IDR, ILS, INR, JPY, MAD, MXN, MYR, NGN, NOK, NZD, PEN, PHP, PKR, PLN, RUB, SAR, SEK, SGD, THB, TRY, TWD, USD, UYU, VND, ZAR."
    • changedInput schema / properties / quote / description
      Previous value: -"Quote currency, 3-letter ISO code (case-insensitive). Supported: AED, ARS, AUD, BOB, BRL, CAD, CHF, CLP, COP, CZK, DKK, DZD, EGP, EUR, GBP, HKD, HUF, IDR, ILS, INR, JPY, MAD, MYR, NGN, NOK, NZD, PEN, PHP, PKR, PLN, RUB, SAR, SEK, SGD, THB, TRY, TWD, USD, UYU, VND, ZAR."New value: +"Quote currency, 3-letter ISO code (case-insensitive). Supported: AED, ARS, AUD, BOB, BRL, CAD, CHF, CLP, COP, CZK, DKK, DZD, EGP, EUR, GBP, HKD, HUF, IDR, ILS, INR, JPY, MAD, MXN, MYR, NGN, NOK, NZD, PEN, PHP, PKR, PLN, RUB, SAR, SEK, SGD, THB, TRY, TWD, USD, UYU, VND, ZAR."
  19. Changed2 schema fields changed
    • changedInput schema / properties / base / description
      Previous value: -"Base currency, 3-letter ISO code (case-insensitive). Supported: AED, ARS, AUD, BOB, BRL, CAD, CHF, CLP, CNH, COP, CZK, DKK, DZD, EGP, EUR, GBP, HKD, HUF, IDR, ILS, INR, JPY, MAD, MXN, MYR, NGN, NOK, NZD, PEN, PHP, PKR, PLN, RUB, SAR, SEK, SGD, THB, TRY, TWD, USD, UYU, VND, ZAR."New value: +"Base currency, 3-letter ISO code (case-insensitive). Supported: AED, ARS, AUD, BOB, BRL, CAD, CHF, CLP, COP, CZK, DKK, DZD, EGP, EUR, GBP, HKD, HUF, IDR, ILS, INR, JPY, MAD, MYR, NGN, NOK, NZD, PEN, PHP, PKR, PLN, RUB, SAR, SEK, SGD, THB, TRY, TWD, USD, UYU, VND, ZAR."
    • changedInput schema / properties / quote / description
      Previous value: -"Quote currency, 3-letter ISO code (case-insensitive). Supported: AED, ARS, AUD, BOB, BRL, CAD, CHF, CLP, CNH, COP, CZK, DKK, DZD, EGP, EUR, GBP, HKD, HUF, IDR, ILS, INR, JPY, MAD, MXN, MYR, NGN, NOK, NZD, PEN, PHP, PKR, PLN, RUB, SAR, SEK, SGD, THB, TRY, TWD, USD, UYU, VND, ZAR."New value: +"Quote currency, 3-letter ISO code (case-insensitive). Supported: AED, ARS, AUD, BOB, BRL, CAD, CHF, CLP, COP, CZK, DKK, DZD, EGP, EUR, GBP, HKD, HUF, IDR, ILS, INR, JPY, MAD, MYR, NGN, NOK, NZD, PEN, PHP, PKR, PLN, RUB, SAR, SEK, SGD, THB, TRY, TWD, USD, UYU, VND, ZAR."
  20. Changed2 schema fields changed
    • changedInput schema / properties / base / description
      Previous value: -"Base currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, DKK, EUR, GBP, JPY, NZD, PEN, PLN, SEK, SGD, USD."New value: +"Base currency, 3-letter ISO code (case-insensitive). Supported: AED, ARS, AUD, BOB, BRL, CAD, CHF, CLP, CNH, COP, CZK, DKK, DZD, EGP, EUR, GBP, HKD, HUF, IDR, ILS, INR, JPY, MAD, MXN, MYR, NGN, NOK, NZD, PEN, PHP, PKR, PLN, RUB, SAR, SEK, SGD, THB, TRY, TWD, USD, UYU, VND, ZAR."
    • changedInput schema / properties / quote / description
      Previous value: -"Quote currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, DKK, EUR, GBP, JPY, NZD, PEN, PLN, SEK, SGD, USD."New value: +"Quote currency, 3-letter ISO code (case-insensitive). Supported: AED, ARS, AUD, BOB, BRL, CAD, CHF, CLP, CNH, COP, CZK, DKK, DZD, EGP, EUR, GBP, HKD, HUF, IDR, ILS, INR, JPY, MAD, MXN, MYR, NGN, NOK, NZD, PEN, PHP, PKR, PLN, RUB, SAR, SEK, SGD, THB, TRY, TWD, USD, UYU, VND, ZAR."
  21. Changed2 schema fields changed
    • changedInput schema / properties / base / description
      Previous value: -"Base currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, DKK, EUR, GBP, INR, JPY, NZD, PEN, PLN, SEK, SGD, TRY, TWD, USD."New value: +"Base currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, DKK, EUR, GBP, JPY, NZD, PEN, PLN, SEK, SGD, USD."
    • changedInput schema / properties / quote / description
      Previous value: -"Quote currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, DKK, EUR, GBP, INR, JPY, NZD, PEN, PLN, SEK, SGD, TRY, TWD, USD."New value: +"Quote currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, DKK, EUR, GBP, JPY, NZD, PEN, PLN, SEK, SGD, USD."
  22. Changed2 schema fields changed
    • changedInput schema / properties / base / description
      Previous value: -"Base currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, DKK, EUR, GBP, INR, JPY, NZD, PEN, PLN, SEK, SGD, USD."New value: +"Base currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, DKK, EUR, GBP, INR, JPY, NZD, PEN, PLN, SEK, SGD, TRY, TWD, USD."
    • changedInput schema / properties / quote / description
      Previous value: -"Quote currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, DKK, EUR, GBP, INR, JPY, NZD, PEN, PLN, SEK, SGD, USD."New value: +"Quote currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, DKK, EUR, GBP, INR, JPY, NZD, PEN, PLN, SEK, SGD, TRY, TWD, USD."
  23. Changed10 schema fields changed
    • addedInput schema / properties / base / description
      Added value: +"Base currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, DKK, EUR, GBP, INR, JPY, NZD, PEN, PLN, SEK, SGD, USD."
    • addedInput schema / properties / base / examples
      Added value: +[
      +  "eur",
      +  "gbp",
      +  "aud",
      +  "usd"
      +]
    • addedInput schema / properties / end_date / description
      Added value: +"Inclusive upper bound, YYYY-MM-DD. Defaults to today."
    • addedInput schema / properties / end_date / examples
      Added value: +[
      +  "2020-01-01",
      +  "2024-06-30"
      +]
    • addedInput schema / properties / indicators / description
      Added value: +"Comma-separated technical-indicator slugs to attach to each row. Supported: bollinger_bands, ema_12, ema_26, macd, rsi_14, sma_20, sma_200, sma_50, all."
    • addedInput schema / properties / indicators / examples
      Added value: +[
      +  "sma_50,sma_200",
      +  "rsi_14",
      +  "ema_20,atr_14"
      +]
    • addedInput schema / properties / quote / description
      Added value: +"Quote currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, DKK, EUR, GBP, INR, JPY, NZD, PEN, PLN, SEK, SGD, USD."
    • addedInput schema / properties / quote / examples
      Added value: +[
      +  "usd",
      +  "jpy",
      +  "chf"
      +]
    • addedInput schema / properties / start_date / description
      Added value: +"Inclusive lower bound, YYYY-MM-DD. Defaults to ~5 years ago."
    • addedInput schema / properties / start_date / examples
      Added value: +[
      +  "2020-01-01",
      +  "2024-06-30"
      +]
  24. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already establish readOnlyHint=true and destructiveHint=false, so the description focuses on what those annotations cannot convey: the response shape ("plain-text table, raw rows"), the default window (~5 years for start_date, today for end_date), and the failure mode ("returns subscription_required with a subscribe link"). It stops short of row limits, pagination, or indicator warm-up effects on the returned window.

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

Conciseness3/5

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

The opening sentence buries the payload in a hedge of near-synonyms ("plain-text table, raw rows, exact values, or JSON-like data") that adds noise rather than precision. The later sentences on history, indicators/interval, and access are tighter and front-loaded reasonably, but the redundancy costs it.

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 an 8-parameter read tool with a full schema and an output schema, the description covers the essential extras: data provenance, default date window, indicator opt-in, and the subscription gate. It is nearly complete, missing only volume/pagination expectations and whether intraday requires both start_time and end_time.

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 explains base/quote ISO codes, date formats, intraday bounds, and the full indicator slug catalogue. The description largely restates this (comma-separated slugs, interval selects daily vs intraday) rather than adding new semantics, making the baseline 3 appropriate.

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 ("Get raw historical FX spot-rate rows for a currency pair") plus the scope ("Daily official central-bank reference rates with multi-year history"). It also explicitly contrasts itself with chart-producing siblings via "without chart metadata," so an agent can separate it from plot_visual_artifact without opening a 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?

It gives clear operating context: daily vs intraday is chosen by interval, technical series are opted into via indicators, and an API key is a prerequisite. What it lacks is an explicit exclusion or a named alternative for overlapping needs (e.g. rate_curve or plot_visual_artifact for charted output), so the routing guidance is implied rather than spelled out.

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.