mcp server
exchange-rates-mcp-server
Convert currencies, get FX rates, and query historical ECB exchange rate data.
Description as published by the maintainer. Source
- version 0.2.1
- active
active — Most recent push to the repository was 2026-07-31.
What this server can do
7 functions, named and described by the server itself. Parameter names are shown because they say more about what a function does than its name usually does.
fx_convert_currency(date, amount, base_currency, quote_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. Required: base_currency, quote_currency, amount.
fx_dataframe_describe(canvas_id)- 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. Requires DataCanvas (CANVAS_PROVIDER_TYPE=duckdb) — without it this tool is not listed at all and fx_get_timeseries returns every range inline. Required: canvas_id.
fx_dataframe_query(query, canvas_id)- 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. Requires DataCanvas (CANVAS_PROVIDER_TYPE=duckdb) — without it this tool is not listed at all and fx_get_timeseries returns every range inline. Required: canvas_id, query.
fx_get_rate(date, base_currency, quote_currency)- 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. A same-currency pair returns a rate of 1, dated to the same publication day any other pair would report for that date. Use fx_convert_currency when you want the converted amount; use this tool when you only need the rate number. Required: base_currency, quote_currency.
fx_get_rates(date, symbols, base_currency)- 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. Listing the base currency itself in symbols is accepted and returns a rate of 1 for it. Required: base_currency.
fx_get_timeseries(end_date, canvas_id, start_date, base_currency, quote_currency)- 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, and no date outside the requested range is ever returned, so a range covering only non-publication days comes back with an empty rates map and a notice explaining why. A same-currency pair returns a rate of 1 on each publication day in the range. Short ranges (≤90 days by default) are returned inline as a date→rate map. When DataCanvas is enabled (CANVAS_PROVIDER_TYPE=duckdb) long ranges spill to it: 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. Without DataCanvas long ranges stay inline (spilled=false) and the notice says so. Required: base_currency, quote_currency, start_date, end_date.
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.
Last successful function declaration observed on . Source: https://exchange-rates.caseyjhand.com/mcp. We list what the server declared; we do not call any of these functions.
Endpoint status observed on . Source: https://exchange-rates.caseyjhand.com/mcp.
Signals
These are separate measurements of different things. They are deliberately not combined into one score, because a popularity number that mixes website traffic with saves and stars cannot be checked or acted on.
| Signal | Value | What it measures | Window | Observed | Source |
|---|---|---|---|---|---|
| GitHub stars | 1 | Number of GitHub accounts that bookmarked this repository since it was created. It is a bookmark count, not installs, not active users and not quality. | cumulative, all time | GitHub | |
| Last commit | 2026-07-31 | Date of the most recent push to any branch. This is the strongest cheap indicator of whether the project is still maintained. | point in time | GitHub | |
| Open issues | 0 | Open issues plus open pull requests, as GitHub counts them together. A high number can mean an active project or an abandoned one. | as of fetch | GitHub | |
| Latest published version | 0.2.1 | Latest version string the maintainer published to the registry. | as of fetch | Model Context Protocol | |
| Registry record last updated | 2026-07-31 | When the registry record was last updated by its maintainer. | point in time | Model Context Protocol | |
| License | Apache-2.0 | Licence GitHub detected in the repository. Detection can be wrong; the LICENSE file is authoritative. | as of fetch | GitHub | |
| First listed in the MCP Registry | 2026-07-31 | Date this server was first published to the official MCP Registry. Not a usage or quality measure. | point in time | Model Context Protocol | |
| repository status | active | The repository exists on GitHub and is not archived. This says nothing about how recently it was worked on. | as of fetch | GitHub | |
| mcp tools declared | 7 tools | Number of functions the server itself declared when asked to list them. This is what the server offers an agent, not a measure of how well any of them work. | as of probe | exchange-rates.caseyjhand.com | |
| mcp endpoint status | ok | The server listed 7 functions when asked. | as of probe | exchange-rates.caseyjhand.com |
Where to get it
Related, by what their authors tagged them
-
Exchange Rate API
— last commit 2026-08-03, shares currency, exchange-rates, forex
Real-time & historical exchange rates for 160+ currencies, mid-market (Reuters/Refinitiv).
-
Currency Converter API
— last commit 2026-08-06, shares currency, forex
Fiat and crypto currency conversion — ECB + CoinGecko rates. x402 micropayment.
-
io.github.cc1a2b/arabicfmt-mcp
— last commit 2026-07-24, shares currency
Arabic formatting: 22 Arab currencies (Saudi riyal U+20C1), Hijri dates, تفقيط, RTL/bidi fixes.
-
Unit & Currency Converter
— last commit 2026-06-11, shares currency
60+ units, live FX, timezones, and date arithmetic for AI agents.
-
com.apogeoapi/apogeoapi-mcp
— last commit 2026-05-11, shares exchange-rates
Geographic data API: 250+ countries, 150K+ cities, IP geolocation, 161 live FX rates.
-
Arzbin MCP Server
— last commit 2026-06-28, shares exchange-rates
Live Iran exchange rates, gold, crypto, and Toman market data for AI agents.
-
mcp-cbr-rates
— last commit 2026-07-14, shares exchange-rates
CBR exchange rates and key rates for Russia. MCP tools for finance agents.
-
Turkey Data
— last commit 2026-06-09, shares exchange-rates
Live Turkey data: gold prices, TCMB FX rates, fuel prices, prayer times, Kandilli earthquakes.
-
io.github.CryptoAPIs-io/mcp-market-data
— last commit 2026-07-30, shares exchange-rates
MCP server for cryptocurrency asset prices, exchange rates, and market metadata via Crypto APIs
-
com.datakoot/market-intel-mcp
— last commit 2026-08-02, shares forex
Live & historical FX rates for AI agents, from European Central Bank data. No API keys.
These share tags the maintainers applied themselves, such as currency, exchange-rates, forex. Common tags like "mcp" or "ai" are ignored for this: agreeing with six hundred other projects is not a similarity.
This is not a recommendation and not a test result. It is a map of what the authors said their work is about.
Also from cyanheads
-
io.github.cyanheads/anime-mcp-server
— last commit 2026-07-30
Search anime/manga, franchise watch order, schedule, characters, rankings, studio filmography.
-
io.github.cyanheads/arxiv-mcp-server
— last commit 2026-07-27
Search arXiv, fetch paper metadata, and read full-text content.
-
io.github.cyanheads/astronomy-mcp-server
— last commit 2026-07-31
Offline observational astronomy: positions, rise/set, moon phases, eclipses, and seasons.
-
io.github.cyanheads/attack-surface-mcp-server
— last commit 2026-07-30
Passive external attack-surface mapping: CT subdomains, DNS, TLS, HTTP posture, RDAP/WHOIS, Shodan.
-
io.github.cyanheads/aviation-weather-mcp-server
— last commit 2026-07-30
Fetch METARs, TAFs, PIREPs, and SIGMETs/AIRMETs from the NWS Aviation Weather Center.
-
io.github.cyanheads/biorxiv-mcp-server
— last commit 2026-07-11
Search and retrieve bioRxiv and medRxiv preprints — by DOI, date interval, or keyword — via MCP.
-
io.github.cyanheads/bls-labor-mcp-server
— last commit 2026-07-17
Fetch US Bureau of Labor Statistics data — CPI, unemployment, wages, JOLTS, and more via MCP.
-
io.github.cyanheads/bls-mcp-server
— last commit 2026-07-17
Fetch US Bureau of Labor Statistics data — CPI, unemployment, wages, JOLTS, and more via MCP.
-
io.github.cyanheads/bluesky-mcp-server
— last commit 2026-07-31
Search posts, profiles, feeds, threads, and trending topics on Bluesky.
-
io.github.cyanheads/brapi-mcp-server
— last commit 2026-07-16
Collaborative BrAPI v2.1 MCP workspace — studies, germplasm, genotypes across Breedbase, T3, more.
How the author describes it
Topics the maintainer set on GitHub: ai-agents, ai-tools, currency, cyanheads, ecb, exchange-rates, forex, frankfurter, mcp, mcp-server, model-context-protocol, typescript.
This record as data
Every field on this page, with its source and observation date, is in the catalog JSON. Fetch the whole kind at once instead of parsing this HTML.
GET /api/v1/entries/mcp_server.json