CurrencyCore
Server Details
Live FX rates, conversion, IMF PPP, and historical currency analytics.
- Status
- Healthy
- Uptime
- 43.3% over the last 24 hours
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 14 tools
The seven analyze_* tools all operate on currency time series but compute clearly different statistics (correlation, drawdown, history, mean reversion, PPP, safe haven, volatility), and descriptions cross-reference alternatives. Minor overlap remains between get_rates and get_rates_by_base, and between get_history and analyze_history, though the descriptions make the intended use clear.
All tool names use consistent snake_case with a predictable verb-first pattern: analyze_* for statistics, get_* for raw retrieval, list_* for catalogues, and convert for the single conversion operation. The naming is highly predictable and readable.
With 14 tools, the set is well within the ideal 3–15 range and each tool has a distinct role in the currency analytics domain. No tool appears redundant enough to remove, and the surface does not feel bloated.
The surface covers conversion, rate snapshots, historical series, PPP data, and a broad set of analytics, plus reference catalogues for currencies and countries. Minor gaps exist, such as batch raw history for multiple currencies or a data-coverage/date-range discovery tool, but core workflows are fully supported.
Available Tools
14 toolsanalyze_correlationCorrelation analysisARead-onlyIdempotentInspect
Return the Pearson correlation of each currency's daily returns with base over a window (−1..1), plus the number of overlapping observations. Use for diversification or co-movement questions such as "does CHF track EUR?". currencies is required and comma-separated; a non-USD base is usually more meaningful. Use analyze_volatility for dispersion and analyze_history for raw change. Defaults: 365-day window ending today. Returns { base, from, to, results[] }; correlation is null when it is undefined for the window. Requires a signed-in connection and the Growth plan or higher; each successful call bills 1 API request.
Inputs: currencies (required), to, base, from. Returns: to, base, from, results
analyze_drawdownDrawdown analysisARead-onlyIdempotentInspect
Return the worst peak-to-trough decline of each currency vs base, with peak, trough, and recovery dates/days. Use for "how far did it fall and did it recover" questions or to rank the deepest drawdowns. Omit currency to rank the universe (sort deepest or recovery); provide one currency or a list to compare. Use analyze_volatility for dispersion and analyze_safe_haven for crisis behaviour. Defaults: 365-day window, base USD, sort deepest, universe liquid, limit 10. Returns { base, from, to, mode, results[] }; peak/trough dates are omitted and recovery fields are null when there is no drawdown or recovery in the window. Requires a signed-in connection and the Growth plan or higher; each successful call bills 1 API request.
Inputs: to, base, from, sort, +3 more. Returns: to, base, from, mode, +3 more
analyze_historyHistory analysis (change, trend, movers)ARead-onlyIdempotentInspect
Summarise how currencies moved against base over a window: start/end rate, change %, strengthened % (positive = stronger vs base), and optional min/max/avg. Use for questions like "how did EUR do over 10 years" and for movers rankings. Omit currencies to rank the universe (movers mode); provide them to compare specific ones. Use get_history for raw points, and the other analyze_* tools for volatility, correlation, drawdown, safe-haven, or mean-reversion questions. Defaults: 20-year window, base USD, sort strengthened, assetClass fiat, limit 10, stats true. Returns { base, from, to, mode, sort?, assetClass?, stats, results[] }. A 404 means no rate data at the window edges. Requires a signed-in connection and the Growth plan or higher; each successful call bills 1 API request.
Inputs: to, base, from, sort, +6 more. Returns: to, base, from, mode, +5 more
analyze_mean_reversionMean-reversion analysisARead-onlyIdempotentInspect
Rank currencies by how strongly they revert to their historical mean, using a composite 0–100 score (crossing frequency + reversion half-life), plus current deviation and half-life in days. Use for questions like "does EUR snap back to its average". Provide currencies to score specific codes, or omit to rank the liquid set. Use analyze_history for raw change and analyze_volatility for dispersion. Defaults: roughly a 2-year window, base USD, limit 10. Returns { base, from, to, results[] }; score and halfLifeDays are null when there is not enough reverting data. Requires a signed-in connection and the Growth plan or higher; each successful call bills 1 API request.
Inputs: to, base, from, limit, +1 more. Returns: to, base, from, results, +1 more
analyze_pppPPP analysis (change, compare, movers)ARead-onlyIdempotentInspect
Measure how a country's IMF PPP conversion factor changed over a year window: start/end year and factor, % change, and optional min/max/avg. Use for purchasing-power trends and cross-country PPP rankings. Omit countries to rank all countries (movers); provide ISO alpha-3 codes to compare specific ones. Use get_ppp_factor for a single country/year value, and convert with ppp=true to price an amount. Defaults: 10-year window, sort increased, limit 10, stats true. Returns { from, to, mode, stats, results[] }, with projected: true marking an IMF projection. Returns an error when no PPP data exists in the window. Requires a signed-in connection and the Growth plan or higher; each successful call bills 1 API request.
Inputs: to, from, sort, limit, +3 more. Returns: to, from, mode, sort, +2 more
analyze_safe_havenSafe-haven analysisARead-onlyIdempotentInspect
Rank currencies by a 0–100 safe-haven score that combines low volatility, shallow drawdown, and 2008-crisis resilience. Use for "which currency holds up in a crisis" questions. Provide currencies to score specific codes, or omit to rank the liquid-fiat pool. Precious metals are not supported. Use analyze_volatility for pure dispersion and analyze_drawdown for peak-to-trough loss. Defaults: window from 2007-01-01 (or 20 years before to), base USD, limit 10. Returns { base, from, to, crisis, results[] }. Returns an error when no rate data is available for the window. Requires a signed-in connection and the Growth plan or higher; each successful call bills 1 API request.
Inputs: to, base, from, limit, +1 more. Returns: to, base, from, crisis, +2 more
analyze_volatilityVolatility analysisARead-onlyIdempotentInspect
Return annualized volatility (%) for each currency against base, with the number of daily returns used. Use to rank stability or find the most volatile currency or pair. Omit currency to rank the universe (sort stable or volatile); provide one currency or a comma-separated list to compare. Use analyze_drawdown for worst peak-to-trough loss and analyze_safe_haven for crisis resilience. Defaults: 365-day window, base USD, sort stable, universe liquid, limit 10. Returns { base, from, to, mode, basis, results[] }; volatility is null when there is too little data. Requires a signed-in connection and the Growth plan or higher; each successful call bills 1 API request.
Inputs: to, base, from, sort, +3 more. Returns: to, base, from, mode, +4 more
convertConvert currencyARead-onlyIdempotentInspect
Convert an amount from one currency to one or more targets at the reference rate for date, optionally PPP-adjusted. Use for any single-pair or amount conversion (for example "100 USD to EUR"). Use get_rates/get_rates_by_base for a full rate table, get_history for a series, and the analyze_* tools for statistics. amount defaults to 1 (each result then equals the rate); ppp=true applies purchasing-power parity and needs CUR:COUNTRY when a currency is used in more than one country; date must be today or earlier and defaults to the latest rate date. Returns { from, amount, date, results[] }, each result carrying result, rate, and an optional ppp block. Invalid codes or dates return a 4xx error; no rate for the date is a 404. Requires a signed-in connection; each successful call bills 1 API request.
Inputs: to (required), from (required), ppp, date, +1 more. Returns: asOf, date, from, amount, +4 more
get_historyCurrency rate historyARead-onlyIdempotentInspect
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.
Inputs: currency (required), to, base, from, +1 more. Returns: to, base, from, rates, +2 more
get_ppp_factorPPP conversion factorARead-onlyIdempotentInspect
Return the IMF World Economic Outlook PPP conversion factor for one country and year: local currency units per international dollar. Use when the user needs the raw multiplier for one country/year, for example a cost-of-living comparison. Use convert with ppp=true to price an amount, and analyze_ppp for change over time or a cross-country ranking. year defaults to the latest configured PPP year (2024). Returns { year, countryCode, pppFactor, projected }; projected: true marks an IMF projection rather than observed data. An unknown country or year is a 404. Requires a signed-in connection; each successful call bills 1 API request.
Inputs: country (required), year. Returns: year, pppFactor, projected, countryCode
get_ratesExchange rates (USD base)ARead-onlyIdempotentInspect
Return the full USD-based exchange-rate snapshot for one date: rates maps every supported currency to units per 1 USD. Use when the user wants a multi-currency table in USD (for example "today's rates"). Use get_rates_by_base for a non-USD base, convert for one pair or amount, and get_history for a time series. Omitting date returns the latest available snapshot, which is not necessarily today. Returns { base: "USD", date, rates }; a date with no snapshot is a 404. Requires a signed-in connection; each successful call bills 1 API request.
Inputs: date. Returns: asOf, base, date, rates, +1 more
get_rates_by_baseExchange rates by base currencyARead-onlyIdempotentInspect
Return the daily FX snapshot re-based to base: every supported currency quoted as units per 1 unit of base, with base itself at 1. Use when the user wants a multi-currency table in a non-USD base (for example "rates in EUR"). Use get_rates for the USD table, convert for one pair or amount, and get_history for a time series. Omitting date returns the latest available snapshot, which is not necessarily today. Returns { base, date, rates }; an unsupported base or a date with no snapshot is a 404. Requires a signed-in connection; each successful call bills 1 API request.
Inputs: base (required), date. Returns: ppp, asOf, base, date, +2 more
list_countriesCountry referenceARead-onlyIdempotentInspect
Return the supported countries and their official currencies as an array of { code, name, currencies }. Use to resolve a country name to its ISO alpha-3 code before get_ppp_factor or analyze_ppp, or to check which countries are covered. Use list_currencies for currency codes. Returns the full list in one call and takes no parameters. Public tool: no sign-in and no API request billed.
Inputs: no named parameters.
list_currenciesCurrency referenceARead-onlyIdempotentInspect
Return the full ISO 4217 currency catalogue as an array of { code, numeric, name, symbol }. Use to resolve a currency name or symbol to its code, or to confirm a currency is supported before calling another tool, so a typo fails at selection rather than silently. Use list_countries for country codes. Non-ISO codes CNH, GGP, IMP, and JEP have an empty numeric. Returns the full list in one call and takes no parameters. Public tool: no sign-in and no API request billed.
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceRemote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.MIT
- AlicenseCqualityCmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs112 npm29 PyPIMIT
- AlicenseAqualityDmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.169 npm1MIT

industrylens-mcpofficial
AlicenseNot gradedqualityCmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.