Free, source-labeled FX rates: 10,296 pairs across 144 currencies, all update ~60s intraday.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Convert an amount from one currency to another at the current rate. Indicative developer-grade reference rates (live market data + public reference rates), not for settlement or trading.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Convert an amount from one currency to another at the current rate. Indicative developer-grade reference rates (live market data + public reference rates), not for settlement or trading.
| Argument | Type | Description |
|---|---|---|
| to* | string | |
| from* | string | |
| amount* | any |
{
"type": "object",
"required": [
"from",
"to",
"amount"
],
"properties": {
"to": {
"type": "string"
},
"from": {
"type": "string"
},
"amount": {
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"
}
]
}
},
"additionalProperties": false
}Get the exchange rate a government authority published for a date (tax, customs, central bank), with the period it is valid for. These are the published values, not market rates. Every plan gets the rate valid today; a past date needs a paid plan. Pairs the authority does not publish are refused.
| Argument | Type | Description |
|---|---|---|
| base* | string | |
| date | any | |
| quote* | string | |
| country* | string | |
| direction | any | |
| rate_type* | string |
{
"type": "object",
"required": [
"country",
"rate_type",
"base",
"quote"
],
"properties": {
"base": {
"type": "string"
},
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"quote": {
"type": "string"
},
"country": {
"type": "string"
},
"direction": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"rate_type": {
"type": "string"
}
},
"additionalProperties": false
}Get a daily time-series of exchange rates over a date range (business days). Capped at 366 rows per call; when has_more is true, pass next_cursor as the cursor parameter to fetch the next page. Indicative developer-grade reference rates (live market data + public reference rates), not for settlement or trading.
| Argument | Type | Description |
|---|---|---|
| base* | string | |
| cursor | any | |
| symbols* | string | |
| end_date* | string | |
| start_date* | string |
{
"type": "object",
"required": [
"base",
"symbols",
"start_date",
"end_date"
],
"properties": {
"base": {
"type": "string"
},
"cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"symbols": {
"type": "string"
},
"end_date": {
"type": "string"
},
"start_date": {
"type": "string"
}
},
"additionalProperties": false
}Get the current (or, with date, historical) exchange rate from one currency to another. Indicative developer-grade reference rates (live market data + public reference rates), not for settlement or trading. Rates update ~60s for real-time currencies through the trading week when the live feed is active; the source field on every response is the authoritative freshness indicator (live | ecb_daily | market_daily); rates fall back to official daily reference data during market closures or data-source unavailability. market_session on every response indicates open, weekend, or interbank_closed.
| Argument | Type | Description |
|---|---|---|
| base* | string | |
| date | any | |
| quote* | string |
{
"type": "object",
"required": [
"base",
"quote"
],
"properties": {
"base": {
"type": "string"
},
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"quote": {
"type": "string"
}
},
"additionalProperties": false
}Get the latest independently calculated USD index. dxy-reconstructed uses the published six-currency basket formula but is not the official index. usd-strength is the versioned exchangerate.dev equal-weight 13-currency index, with 2026-01-02 = 100. Both require a complete, time-aligned basket.
| Argument | Type | Description |
|---|---|---|
| index* | string |
{
"type": "object",
"required": [
"index"
],
"properties": {
"index": {
"enum": [
"dxy-reconstructed",
"usd-strength"
],
"type": "string"
}
},
"additionalProperties": false
}List all supported currencies with name, decimal precision, minor units, and whether the pair is derived (triangulated). Use this before other tools to discover valid currency codes.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}List the countries and rate types with government-published exchange rates (for example IDN tax, GBR customs, USA government-reporting). Country codes are ISO 3166-1 alpha-3; use them with get_official_rate.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Search the exchangerate.dev FAQ corpus via BM25. Returns the top-K matching questions and answers with relevance scores. Use before answering how-to / pricing / data-sourcing questions so you cite the canonical text instead of guessing from training data.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| query* | string |
{
"type": "object",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"default": 5
},
"query": {
"type": "string"
}
},
"additionalProperties": false
}Open a billing URL for an explicitly selected eligible plan. After human confirmation, a Free account without a subscription receives a one-hour Stripe Checkout URL; an existing subscriber receives Stripe billing management instead. Plans not offered to the account are refused. Cancellation creates nothing and account identifiers are never accepted from the model.
| Argument | Type | Description |
|---|---|---|
| plan* | string |
{
"type": "object",
"required": [
"plan"
],
"properties": {
"plan": {
"enum": [
"basic",
"plus",
"pro"
],
"type": "string"
}
},
"additionalProperties": false
}