{"serverInfo":{"name":"currencycore","title":"CurrencyCore","version":"1.0.0","websiteUrl":"https://currency-core.com","description":"Live FX rates, any-pair conversion, IMF PPP factors, historical trend/volatility/correlation/drawdown/safe-haven analysis, and country/currency reference data.","icons":[{"src":"https://currency-core.com/logo.png","mimeType":"image/png"}]},"authentication":{"required":true,"schemes":["oauth2"]},"tools":[{"name":"list_countries","title":"Countries","description":"The supported countries and their official currencies. Public, no key needed.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"list_currencies","title":"Currencies","description":"The full list of supported ISO 4217 currencies. Use it to resolve a name or symbol to its code, or to check whether a currency is supported (so a missing one fails clearly, not silently). Public, no key needed.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"convert","title":"Convert","description":"Convert an amount between currencies, optionally PPP-adjusted.","inputSchema":{"type":"object","properties":{"from":{"type":"string","description":"Source currency (ISO 4217), e.g. USD. For PPP (ppp=true), pass CUR:COUNTRY (e.g. USD:USA) when the currency is used in more than one country; common currencies are resolved automatically."},"to":{"type":"string","description":"One or more target currencies, comma-separated, e.g. EUR,INR (max 25). For PPP, pass CUR:COUNTRY pairs (e.g. EUR:DEU,INR:IND) when a currency is used in more than one country; common currencies are resolved automatically."},"amount":{"type":"number","description":"Amount to convert. Optional, defaults to 1 (so each result equals the rate). When provided it must be a finite positive number."},"ppp":{"type":"boolean","description":"When true, apply a PPP adjustment. Pass CUR:COUNTRY for currencies used in more than one country; common currencies (USD, EUR, INR and others) resolve automatically."},"date":{"type":"string","description":"Rate date in YYYY-MM-DD (UTC). Must not be in the future. Defaults to latest."}},"required":["from","to"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"get_rates","title":"Rates","description":"The full exchange-rate snapshot for a date (USD base).","inputSchema":{"type":"object","properties":{"date":{"type":"string","description":"YYYY-MM-DD. Defaults to the latest available date."}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"get_rates_by_base","title":"Rates by base","description":"The same snapshot re-expressed against any base currency.","inputSchema":{"type":"object","properties":{"base":{"type":"string","description":"Base currency (3-letter ISO 4217), e.g. EUR."},"date":{"type":"string","description":"YYYY-MM-DD. Defaults to the latest available date."}},"required":["base"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"get_history","title":"History","description":"A single currency's daily rate time series over a date range. Free: last 30 days; Starter and above: full history.","inputSchema":{"type":"object","properties":{"currency":{"type":"string","description":"The currency whose history to fetch (3-letter ISO 4217), e.g. INR. One currency per call."},"from":{"type":"string","description":"Start date YYYY-MM-DD (UTC). Defaults to 7 days before `to`."},"to":{"type":"string","description":"End date YYYY-MM-DD (UTC). Defaults to today; a future date clamps to today."},"base":{"type":"string","description":"Base currency the rates are expressed against (3-letter ISO 4217). Defaults to USD."},"interval":{"type":"string","description":"Aggregation: daily (default), weekly, monthly, or yearly. Coarser intervals average the daily rates per bucket (weekly key = the week's Monday, monthly = YYYY-MM, yearly = YYYY)."}},"required":["currency"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"analyze_history","title":"History analysis","description":"Trends, comparisons & 'movers': % change, strength, and min/max/avg over a window. Growth plan or higher.","inputSchema":{"type":"object","properties":{"base":{"type":"string","description":"Currency everything is measured against (3-letter ISO 4217). Defaults to USD."},"currencies":{"type":"string","description":"Comma-separated currencies to compare, e.g. GBP,EUR,AED. OMIT to rank ALL currencies vs base ('movers' mode)."},"from":{"type":"string","description":"Window start YYYY-MM-DD (UTC). Defaults to 20 years (2 decades) before `to`. See `period` for a shorthand."},"to":{"type":"string","description":"Window end YYYY-MM-DD (UTC). Defaults to today; a future date clamps to today."},"period":{"type":"string","description":"Relative window shorthand for `from`: e.g. 10y, 6m, 30d, ytd, max. Ignored if `from` is given."},"sort":{"type":"string","description":"Movers ranking: strengthened (default) or weakened."},"assetClass":{"type":"string","description":"Movers universe: fiat (default, the liquid tradeable currencies), metals (XAU/XAG/XPT/XPD), or all (every currency incl. illiquid/frontier). fiat excludes metals/synthetics + illiquid frontier codes; redenomination artifacts are always dropped."},"limit":{"type":"number","description":"Movers: how many top results to return (default 10, max 200)."},"interval":{"type":"string","description":"Attach a trend series per named currency: weekly, monthly, or yearly (compare mode only)."},"stats":{"type":"boolean","description":"Include min/max/avg over the window per currency. Defaults to true; pass false to skip."}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"get_ppp_factor","title":"PPP factor","description":"A single country's purchasing-power-parity conversion factor for a year (IMF World Economic Outlook).","inputSchema":{"type":"object","properties":{"country":{"type":"string","description":"Country as an ISO 3166-1 alpha-3 code (e.g. IND)."},"year":{"type":"number","description":"Four-digit year. Defaults to the configured current PPP year (2024)."}},"required":["country"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"analyze_ppp","title":"PPP analysis","description":"PPP over time: how a country's purchasing-power-parity factor changed, comparing countries, or 'movers'. Growth plan or higher.","inputSchema":{"type":"object","properties":{"countries":{"type":"string","description":"Comma-separated ISO 3166-1 alpha-3 country codes to compare, e.g. IND,DEU,USA. OMIT to rank ALL countries by PPP-factor change ('movers' mode)."},"from":{"type":"string","description":"Window start YEAR (e.g. 2015). Defaults to 10 years before `to`. See `period` for a shorthand."},"to":{"type":"string","description":"Window end YEAR (e.g. 2024). Defaults to the current year."},"period":{"type":"string","description":"Relative window shorthand for `from`: e.g. 10y, 20y, max. Ignored if `from` is given."},"sort":{"type":"string","description":"Movers ranking: increased (PPP factor rose most, default) or decreased."},"limit":{"type":"number","description":"Movers: how many top results to return (default 10, max 200)."},"stats":{"type":"boolean","description":"Include min/max/avg of the PPP factor over the window per country. Defaults to true; pass false to skip."}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"analyze_volatility","title":"Volatility","description":"Annualized volatility of a currency vs a base, or a stability ranking of the liquid currencies. Growth plan or higher.","inputSchema":{"type":"object","properties":{"currency":{"type":"string","description":"Currency to measure (3-letter ISO 4217), or a comma-separated list to compare. OMIT to RANK the liquid-currency set by stability."},"base":{"type":"string","description":"Base currency to measure against (3-letter ISO 4217). Defaults to USD."},"from":{"type":"string","description":"Window start YYYY-MM-DD (UTC). Defaults to 365 days before `to`."},"to":{"type":"string","description":"Window end YYYY-MM-DD (UTC). Defaults to today; a future date clamps to today."},"sort":{"type":"string","description":"Ranking direction: stable (least volatile first, default) or volatile."},"universe":{"type":"string","description":"Ranking universe: liquid (default, broad set) or majors (USD/EUR/GBP/JPY/CHF/CAD/AUD/NZD). Use majors for 'most volatile major pair'."},"limit":{"type":"number","description":"Ranking: how many to return (default 10, max 50)."}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"analyze_correlation","title":"Correlation","description":"Correlation of each currency's daily returns with a base currency's, over a window. Growth plan or higher.","inputSchema":{"type":"object","properties":{"base":{"type":"string","description":"Reference currency to correlate against (3-letter ISO 4217). Defaults to USD (a non-USD base is more meaningful)."},"currencies":{"type":"string","description":"Comma-separated currencies to correlate with `base`, e.g. GBP,CHF,SEK."},"from":{"type":"string","description":"Window start YYYY-MM-DD (UTC). Defaults to 365 days before `to`."},"to":{"type":"string","description":"Window end YYYY-MM-DD (UTC). Defaults to today."}},"required":["currencies"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"analyze_drawdown","title":"Drawdown","description":"Maximum peak-to-trough decline vs a base (with peak/trough/recovery), or a drawdown ranking. Growth plan or higher.","inputSchema":{"type":"object","properties":{"currency":{"type":"string","description":"Currency to measure (3-letter ISO 4217), or a comma-separated list. OMIT to RANK the liquid set by drawdown."},"base":{"type":"string","description":"Base currency to measure against (3-letter ISO 4217). Defaults to USD."},"from":{"type":"string","description":"Window start YYYY-MM-DD (UTC). Defaults to 365 days before `to`."},"to":{"type":"string","description":"Window end YYYY-MM-DD (UTC). Defaults to today."},"sort":{"type":"string","description":"Ranking direction: deepest (largest decline first, default) or recovery (fastest recovery first)."},"universe":{"type":"string","description":"Ranking universe: liquid (default) or majors."},"limit":{"type":"number","description":"Ranking: how many to return (default 10, max 50)."}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"analyze_safe_haven","title":"Safe haven","description":"Ranks currencies by a composite safe-haven score (low volatility + shallow drawdown + 2008-crisis resilience). Growth plan or higher.","inputSchema":{"type":"object","properties":{"currencies":{"type":"string","description":"Comma-separated currencies to score, e.g. CHF,JPY. OMIT to rank the liquid-fiat safe-haven pool (precious metals are not supported)."},"base":{"type":"string","description":"Base currency to measure against (3-letter ISO 4217). Defaults to USD."},"from":{"type":"string","description":"Window start YYYY-MM-DD (UTC). Defaults to 2007-01-01 (spans the 2008 crisis + COVID), or to 20 years before `to` when that is later."},"to":{"type":"string","description":"Window end YYYY-MM-DD (UTC). Defaults to today."},"limit":{"type":"number","description":"How many to return (default 10, max 50)."}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"analyze_mean_reversion","title":"Mean reversion","description":"Ranks currencies by how strongly they revert to their mean (crossing frequency + reversion half-life). Growth plan or higher.","inputSchema":{"type":"object","properties":{"currencies":{"type":"string","description":"Comma-separated currencies to score, e.g. EUR,GBP. OMIT to rank the liquid set."},"base":{"type":"string","description":"Base currency to measure against (3-letter ISO 4217). Defaults to USD."},"from":{"type":"string","description":"Window start YYYY-MM-DD (UTC). Defaults to ~2 years before `to`."},"to":{"type":"string","description":"Window end YYYY-MM-DD (UTC). Defaults to today."},"limit":{"type":"number","description":"How many to return (default 10, max 50)."}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}}],"resources":[{"uri":"mcp://docs/ai-credits","name":"AI Credits and Metering","description":"CurrencyCore API docs — AI Credits and Metering","mimeType":"text/markdown"},{"uri":"mcp://docs/ai-endpoint","name":"/ai Endpoint","description":"CurrencyCore API docs — /ai Endpoint","mimeType":"text/markdown"},{"uri":"mcp://docs/ai-errors","name":"AI Errors and Retries","description":"CurrencyCore API docs — AI Errors and Retries","mimeType":"text/markdown"},{"uri":"mcp://docs/ai-grounding","name":"AI Grounding and Verification","description":"CurrencyCore API docs — AI Grounding and Verification","mimeType":"text/markdown"},{"uri":"mcp://docs/ai-prompt-guide","name":"AI Prompt Guide","description":"CurrencyCore API docs — AI Prompt Guide","mimeType":"text/markdown"},{"uri":"mcp://docs/ai-quickstart","name":"AI Quickstart","description":"CurrencyCore API docs — AI Quickstart","mimeType":"text/markdown"},{"uri":"mcp://docs/ai-response-schema","name":"AI Response Schema","description":"CurrencyCore API docs — AI Response Schema","mimeType":"text/markdown"},{"uri":"mcp://docs/authentication","name":"\"API Authentication: Keys, Headers and Troubleshooting\"","description":"CurrencyCore API docs — \"API Authentication: Keys, Headers and Troubleshooting\"","mimeType":"text/markdown"},{"uri":"mcp://docs/billing","name":"Billing, Invoices and Plan Changes","description":"CurrencyCore API docs — Billing, Invoices and Plan Changes","mimeType":"text/markdown"},{"uri":"mcp://docs/byok","name":"\"BYOK: Bring Your Own AI Keys\"","description":"CurrencyCore API docs — \"BYOK: Bring Your Own AI Keys\"","mimeType":"text/markdown"},{"uri":"mcp://docs/code-examples","name":"\"Client Setup, Errors, and Retries\"","description":"CurrencyCore API docs — \"Client Setup, Errors, and Retries\"","mimeType":"text/markdown"},{"uri":"mcp://docs/convert-endpoint","name":"/convert Endpoint","description":"CurrencyCore API docs — /convert Endpoint","mimeType":"text/markdown"},{"uri":"mcp://docs/correlation-endpoint","name":"/correlation Endpoint","description":"CurrencyCore API docs — /correlation Endpoint","mimeType":"text/markdown"},{"uri":"mcp://docs/countries","name":"/countries Endpoint","description":"CurrencyCore API docs — /countries Endpoint","mimeType":"text/markdown"},{"uri":"mcp://docs/currencies","name":"/currencies Endpoint","description":"CurrencyCore API docs — /currencies Endpoint","mimeType":"text/markdown"},{"uri":"mcp://docs/drawdown-endpoint","name":"/drawdown Endpoint","description":"CurrencyCore API docs — /drawdown Endpoint","mimeType":"text/markdown"},{"uri":"mcp://docs/errors","name":"\"API Error Codes and How to Fix Them\"","description":"CurrencyCore API docs — \"API Error Codes and How to Fix Them\"","mimeType":"text/markdown"},{"uri":"mcp://docs/getting-started","name":"\"Getting Started with the Currency API\"","description":"CurrencyCore API docs — \"Getting Started with the Currency API\"","mimeType":"text/markdown"},{"uri":"mcp://docs/guides","name":"\"Developer Guides\"","description":"CurrencyCore API docs — \"Developer Guides\"","mimeType":"text/markdown"},{"uri":"mcp://docs/history-analysis-endpoint","name":"/history/analysis Endpoint","description":"CurrencyCore API docs — /history/analysis Endpoint","mimeType":"text/markdown"},{"uri":"mcp://docs/history-endpoint","name":"/history Endpoint","description":"CurrencyCore API docs — /history Endpoint","mimeType":"text/markdown"},{"uri":"mcp://docs/mcp","name":"MCP Server Documentation","description":"CurrencyCore API docs — MCP Server Documentation","mimeType":"text/markdown"},{"uri":"mcp://docs/mcp-chatgpt","name":"MCP for ChatGPT","description":"CurrencyCore API docs — MCP for ChatGPT","mimeType":"text/markdown"},{"uri":"mcp://docs/mcp-claude","name":"MCP for Claude","description":"CurrencyCore API docs — MCP for Claude","mimeType":"text/markdown"},{"uri":"mcp://docs/mcp-oauth","name":"MCP OAuth and Access","description":"CurrencyCore API docs — MCP OAuth and Access","mimeType":"text/markdown"},{"uri":"mcp://docs/mcp-tools","name":"MCP Tools","description":"CurrencyCore API docs — MCP Tools","mimeType":"text/markdown"},{"uri":"mcp://docs/mcp-troubleshooting","name":"MCP Troubleshooting","description":"CurrencyCore API docs — MCP Troubleshooting","mimeType":"text/markdown"},{"uri":"mcp://docs/mcp-vs-rest","name":"MCP vs REST","description":"CurrencyCore API docs — MCP vs REST","mimeType":"text/markdown"},{"uri":"mcp://docs/mcp-vscode","name":"MCP for VS Code","description":"CurrencyCore API docs — MCP for VS Code","mimeType":"text/markdown"},{"uri":"mcp://docs/mean-reversion-endpoint","name":"/mean-reversion Endpoint","description":"CurrencyCore API docs — /mean-reversion Endpoint","mimeType":"text/markdown"},{"uri":"mcp://docs/openapi","name":"\"OpenAPI Specification & Generated Clients\"","description":"CurrencyCore API docs — \"OpenAPI Specification & Generated Clients\"","mimeType":"text/markdown"},{"uri":"mcp://docs/ppp-analysis-endpoint","name":"/ppp/analysis Endpoint","description":"CurrencyCore API docs — /ppp/analysis Endpoint","mimeType":"text/markdown"},{"uri":"mcp://docs/ppp-endpoint","name":"/ppp Endpoint","description":"CurrencyCore API docs — /ppp Endpoint","mimeType":"text/markdown"},{"uri":"mcp://docs/rate-limits","name":"Rate Limits and Plan Quotas","description":"CurrencyCore API docs — Rate Limits and Plan Quotas","mimeType":"text/markdown"},{"uri":"mcp://docs/rates-endpoint","name":"/rates Endpoint","description":"CurrencyCore API docs — /rates Endpoint","mimeType":"text/markdown"},{"uri":"mcp://docs/safe-haven-endpoint","name":"/safe-haven Endpoint","description":"CurrencyCore API docs — /safe-haven Endpoint","mimeType":"text/markdown"},{"uri":"mcp://docs/sdks","name":"Official SDKs","description":"CurrencyCore API docs — Official SDKs","mimeType":"text/markdown"},{"uri":"mcp://docs/spreadsheets","name":"Spreadsheets","description":"CurrencyCore API docs — Spreadsheets","mimeType":"text/markdown"},{"uri":"mcp://docs/sso","name":"Single Sign-On (SSO)","description":"CurrencyCore API docs — Single Sign-On (SSO)","mimeType":"text/markdown"},{"uri":"mcp://docs/volatility-endpoint","name":"/volatility Endpoint","description":"CurrencyCore API docs — /volatility Endpoint","mimeType":"text/markdown"},{"uri":"currencycore://openapi.json","name":"CurrencyCore OpenAPI","description":"The full OpenAPI 3.1 specification for the public REST API.","mimeType":"application/json"}],"prompts":[{"name":"convert_with_ppp","description":"Convert an amount between two currencies with a PPP adjustment.","arguments":[{"name":"amount","description":"Amount in the source currency","required":true},{"name":"from","description":"Source currency:country, e.g. USD:USA","required":true},{"name":"to","description":"Target currency:country, e.g. INR:IND","required":true}]},{"name":"compare_cost_of_living","description":"Compare the price level between two countries using PPP.","arguments":[{"name":"countryA","description":"First country (alpha-3), e.g. USA","required":true},{"name":"countryB","description":"Second country (alpha-3), e.g. IND","required":true}]},{"name":"build_rate_table","description":"Build a conversion table from one base currency to several targets.","arguments":[{"name":"from","description":"Base currency, e.g. USD","required":true},{"name":"targets","description":"Comma-separated currencies, e.g. EUR,INR,JPY","required":true},{"name":"amount","description":"Amount to convert (optional, default 1)","required":false}]},{"name":"explain_error","description":"Explain a CurrencyCore API error and how to fix it.","arguments":[{"name":"error","description":"The error message or code","required":true}]}]}