# exchange-rates-mcp-server MCP server

Convert currencies, get FX rates, and query historical ECB exchange rate data.

## Links
- Registry page: https://www.getdrio.com/mcp/io-github-cyanheads-exchange-rates-mcp-server
- Repository: https://github.com/cyanheads/exchange-rates-mcp-server

## Install
- Command: `npx -y @cyanheads/exchange-rates-mcp-server`
- Endpoint: https://exchange-rates.caseyjhand.com/mcp
- Auth: Not captured

## Setup notes
- Package: Npm @cyanheads/exchange-rates-mcp-server v0.1.2
- Environment variable: FRANKFURTER_BASE_URL (default https://api.frankfurter.dev/v1)
- Environment variable: FX_TIMESERIES_CANVAS_THRESHOLD_DAYS (default 90)
- Environment variable: MCP_LOG_LEVEL (default info)
- Package: Npm @cyanheads/exchange-rates-mcp-server v0.1.2
- Environment variable: FRANKFURTER_BASE_URL (default https://api.frankfurter.dev/v1)
- Environment variable: FX_TIMESERIES_CANVAS_THRESHOLD_DAYS (default 90)
- Environment variable: MCP_HTTP_HOST (default 127.0.0.1)
- Environment variable: MCP_HTTP_PORT (default 3010)
- Environment variable: MCP_HTTP_ENDPOINT_PATH (default /mcp)
- Environment variable: MCP_AUTH_MODE (default none)
- Environment variable: MCP_LOG_LEVEL (default info)
- Remote endpoint: https://exchange-rates.caseyjhand.com/mcp

## Tools
- fx_list_currencies (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. Endpoint: https://exchange-rates.caseyjhand.com/mcp
- fx_get_rates (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. Endpoint: https://exchange-rates.caseyjhand.com/mcp
- fx_get_rate (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. Endpoint: https://exchange-rates.caseyjhand.com/mcp
- fx_convert_currency (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. Endpoint: https://exchange-rates.caseyjhand.com/mcp
- fx_get_timeseries (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. Endpoint: https://exchange-rates.caseyjhand.com/mcp
- fx_dataframe_describe (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. Endpoint: https://exchange-rates.caseyjhand.com/mcp
- fx_dataframe_query (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. Endpoint: https://exchange-rates.caseyjhand.com/mcp

## Resources
- fx://currencies - fx-currencies All supported ISO 4217 currency codes with full names. Covers the ~30 ECB reference currencies. MIME type: application/json
- fx://rates/latest/EUR - fx-rates-latest Latest exchange rates snapshot for a base currency as a stable URI. Returns all available quote currencies at the most recent ECB business-day fix. MIME type: application/json
- fx://rates/latest/USD - fx-rates-latest Latest exchange rates snapshot for a base currency as a stable URI. Returns all available quote currencies at the most recent ECB business-day fix. MIME type: application/json
- fx://rates/latest/GBP - fx-rates-latest Latest exchange rates snapshot for a base currency as a stable URI. Returns all available quote currencies at the most recent ECB business-day fix. MIME type: application/json
- fx://rates/latest/JPY - fx-rates-latest Latest exchange rates snapshot for a base currency as a stable URI. Returns all available quote currencies at the most recent ECB business-day fix. MIME type: application/json

## Prompts
Not captured

## Metadata
- Owner: io.github.cyanheads
- Version: 0.1.2
- Runtime: Npm
- Transports: STDIO, HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: Jun 6, 2026
- Source: https://registry.modelcontextprotocol.io
