exchange-rates-mcp-server
Convert currencies, get FX rates, and query historical ECB exchange rate data.
Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inGlobalFreeRead-only
What it can do
- Fx List Currencies: List all supported ISO 4217 currency codes with their full names. Call this before converting to disambiguate "dollars" (USD vs AUD vs CAD vs HKD vs SGD) or to validate a user-supp
- Fx Get Rates: Get all available exchange rates for one base currency in a single snapshot. Useful for bulk comparison and seeding downstream tools. Returns a map of quote currency → rate plus the snap
- Fx Get Rate: Get the exchange rate for a currency pair on a given date (default: latest). Returns the rate, the actual rate date (which may differ from the requested date on weekends/holidays — ECB pu
What data it sees
Do you need an account
No: the server works without sign-in
Convert currencies, get FX rates, and query historical ECB exchange rate data.
Server tool list (7)
Raw names from tools/list. Only developers need these.
| fx_list_currencies | List all supported ISO 4217 currency codes with their full names. Call this before converting to disambiguate "dollars" (USD vs AUD vs CAD vs HKD vs SGD) or to validate a user-supplied currency code. Covers the ~30 ECB reference currencies. |
| fx_get_rates | Get all available exchange rates for one base currency in a single snapshot. Useful for bulk comparison and seeding downstream tools. Returns a map of quote currency → rate plus the snapshot date. Optionally filter to a subset of quote currencies via symbols. |
| fx_get_rate | Get the exchange rate for a currency pair on a given date (default: latest). Returns the rate, the actual rate date (which may differ from the requested date on weekends/holidays — ECB publishes business days only), and source provenance. Cross-rates are triangulated through EUR automatically. Use fx_convert_currency when you want the converted amount; use this tool when you only need the rate number. |
| fx_convert_currency | Convert an amount between any two currencies at the latest or a historical rate. Returns the converted amount, the rate used, the actual rate date, and whether the date was snapped from a weekend/holiday to the prior business day. Cross-rates are triangulated through EUR automatically. |
| fx_get_timeseries | Get historical daily exchange rates for a currency pair over a date range. ECB publishes on business days only — weekends and holidays produce no entry (not snapped). Short ranges (≤90 days by default) are returned inline as a date→rate map. Long ranges spill to DataCanvas: the response carries spilled=true, a canvas_id, and a table_name. Call fx_dataframe_describe to inspect the staged table, then fx_dataframe_query to run SQL against it. |
| fx_dataframe_describe | List tables and columns staged on a DataCanvas from a prior fx_get_timeseries call. Required first step before fx_dataframe_query — use it to discover table names and column schemas. |
| fx_dataframe_query | Run a read-only SQL SELECT against DataCanvas tables staged by fx_get_timeseries. Supports aggregations, GROUP BY, window functions, and JOINs across multiple registered tables. Run fx_dataframe_describe first to discover table names and column schemas. |