CurrencyFreaks

Official registry Other

Real-time and historical exchange rates and currency conversion for 1000+ currencies.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

NPM package @currencyfreaks/mcp
Claude Code
claude mcp add currencyfreaks -e 'CURRENCYFREAKS_API_KEY=<your currencyfreaks_api_key>' -e 'CURRENCYFREAKS_REQUEST_TIMEOUT_MS=<CURRENCYFREAKS_REQUEST_TIMEOUT_MS>' -- npx -y @currencyfreaks/mcp@1.0.1
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "currencyfreaks": {
            "command": "npx",
            "args": [
                "-y",
                "@currencyfreaks/mcp@1.0.1"
            ],
            "env": {
                "CURRENCYFREAKS_API_KEY": "<your currencyfreaks_api_key>",
                "CURRENCYFREAKS_REQUEST_TIMEOUT_MS": "<CURRENCYFREAKS_REQUEST_TIMEOUT_MS>"
            }
        }
    }
}

Environment variables

  • CURRENCYFREAKS_API_KEY required secret Your CurrencyFreaks API key (get one at https://currencyfreaks.com)
  • CURRENCYFREAKS_REQUEST_TIMEOUT_MS Request timeout in milliseconds (default 15000)

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. CurrencyFreaks MCP Server
  2. Quick Start
  3. Table of Contents
  4. Install by Client
  5. Verify It Works
  6. Tool Reference
  7. Plan Requirements
  8. Prompt Examples
  9. Example Answers and Tool Output
  10. Error Codes
  11. How It Works
  12. Environment Variables
  13. Building from Source
  14. Troubleshooting
  15. Pricing
  16. Links
  17. License

CurrencyFreaks MCP Server

Official MCP server for CurrencyFreaks. Exposes 7 MCP tools for real-time and historical exchange rates and currency conversion across 1000+ fiat currencies, cryptocurrencies, and precious metals. Your AI assistant asks for rates in plain English; the MCP server handles the API calls.

Works with Claude Desktop, Claude Code, Cursor, Windsurf, VS Code, Cline, Codex, and any other MCP-compatible client.

ItemValue
Package@currencyfreaks/mcp
Transportstdio
Node.js>=18

Quick Start

  1. Get a free CurrencyFreaks API key — 1,000 requests a month, no card required.
  2. Cursor users can install in one click:

  3. Everyone else: add this to your MCP client config (see Install by Client for the exact file path):
{
  "mcpServers": {
    "currencyfreaks": {
      "command": "npx",
      "args": ["-y", "@currencyfreaks/mcp"],
      "env": {
        "CURRENCYFREAKS_API_KEY": "<YOUR_API_KEY>"
      }
    }
  }
}
  1. Restart your client.
  2. Test it: ask "What's the current EUR to USD exchange rate?"

Table of Contents

Install by Client

Requirements
  • Node.js 18 or later
  • npx available in your terminal
  • A CurrencyFreaks API key — sign up free
Claude Desktop

Add to claude_desktop_config.json (Settings → Developer → Edit Config):

{
  "mcpServers": {
    "currencyfreaks": {
      "command": "npx",
      "args": ["-y", "@currencyfreaks/mcp"],
      "env": {
        "CURRENCYFREAKS_API_KEY": "<YOUR_API_KEY>"
      }
    }
  }
}

Restart Claude Desktop after saving.

Claude Code
claude mcp add currencyfreaks --env CURRENCYFREAKS_API_KEY=<YOUR_API_KEY> -- npx -y @currencyfreaks/mcp

Start a new Claude Code session after adding the server.

Cursor

One-click install:

Or add to .cursor/mcp.json manually:

{
  "mcpServers": {
    "currencyfreaks": {
      "command": "npx",
      "args": ["-y", "@currencyfreaks/mcp"],
      "env": {
        "CURRENCYFREAKS_API_KEY": "<YOUR_API_KEY>"
      }
    }
  }
}

Restart Cursor after saving.

Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "currencyfreaks": {
      "command": "npx",
      "args": ["-y", "@currencyfreaks/mcp"],
      "env": {
        "CURRENCYFREAKS_API_KEY": "<YOUR_API_KEY>"
      }
    }
  }
}

Restart Windsurf after saving.

VS Code / GitHub Copilot

Add to your VS Code settings.json:

{
  "mcp": {
    "servers": {
      "currencyfreaks": {
        "command": "npx",
        "args": ["-y", "@currencyfreaks/mcp"],
        "env": {
          "CURRENCYFREAKS_API_KEY": "<YOUR_API_KEY>"
        }
      }
    }
  }
}

Restart VS Code after saving.

Cline

Open MCP Servers panel → Configure → Advanced MCP Settings. Add to cline_mcp_settings.json:

{
  "mcpServers": {
    "currencyfreaks": {
      "command": "npx",
      "args": ["-y", "@currencyfreaks/mcp"],
      "env": {
        "CURRENCYFREAKS_API_KEY": "<YOUR_API_KEY>"
      }
    }
  }
}

Restart Cline after saving.

Codex CLI
codex mcp add currencyfreaks --env CURRENCYFREAKS_API_KEY=<YOUR_API_KEY> -- npx -y @currencyfreaks/mcp
codex mcp list

Start a new Codex session after adding the server.

Any Other MCP Client

Use this config:

{
  "command": "npx",
  "args": ["-y", "@currencyfreaks/mcp"],
  "env": {
    "CURRENCYFREAKS_API_KEY": "<YOUR_API_KEY>"
  }
}

Verify It Works

Try these after setup:

PromptExpected tool
What's the current EUR to USD exchange rate?get_latest_rates with symbols=EUR
Convert 500 USD to PKR.convert_currency
What was 1,000 GBP worth in JPY on 2026-01-15?convert_currency with date
What was the EUR/USD rate on January 2nd, 2020?get_historical_rates
Show daily USD to INR rates for the first week of August 2026.get_time_series
How much has the yen moved against the dollar since June 1st?get_fluctuation
What's the currency code for the Nepalese rupee?list_currencies with search=nepal
What's 50 USD in the local currency of IP 182.186.18.9?ip_to_currency

Tool Reference

All 7 tools wrap the CurrencyFreaks v2.0 REST API. Tools that take symbols accept a comma-separated list of currency codes (e.g. EUR,GBP,PKR), case-insensitive. Use list_currencies to look up a code — there are 1000+ across fiat, crypto, and metals.

Precious metals use ISO 4217 codes: XAU (gold), XAG (silver), XPT (platinum), XPD (palladium). The API returns all rates and amounts as strings to preserve precision.

list_currencies

GET /v2.0/currency-symbols (compact) or GET /v2.0/supported-currencies (detailed) — the supported currency catalogue. No API key required.

ParameterRequiredDescription
searchNoCase-insensitive substring matched against code, name, or (with detailed) country name, e.g. rupee, PK, bitcoin
detailedNotrue returns country, status (AVAILABLE/DEPRECATED), the availableFrom/availableUntil historical data range, and flag icon per currency. Default false. Combine with search; the full detailed catalogue is ~270 KB.
get_latest_rates

GET /v2.0/rates/latest — latest rates for one or more currencies against a base. Refresh frequency depends on plan: daily on Developer (free), hourly on Starter, every 10 minutes on Growth, every 60 seconds on Professional and above.

ParameterRequiredDescription
symbolsNoComma-separated currency codes. Omit for all 1000+ currencies.
baseNoBase currency code. Default USD. Paid plans only.
convert_currency

GET /v2.0/convert/latest, or GET /v2.0/convert/historical when date is given — convert an amount between two currencies. Paid plans only.

ParameterRequiredDescription
fromYesCurrency code to convert from
toYesCurrency code to convert to
amountNoAmount to convert, greater than 0. Default 1.0.
dateNoYYYY-MM-DD. Converts at that day's rate instead of the latest.
get_historical_rates

GET /v2.0/rates/historical — rates on a specific past date. Major fiat currencies go back to 1984-11-28; newer currencies and crypto start from their own listing date. Paid plans only.

ParameterRequiredDescription
dateYesYYYY-MM-DD
symbolsNoComma-separated currency codes. Omit for all.
baseNoBase currency code. Default USD.
get_time_series

GET /v2.0/timeseries — daily rates between two dates, one entry per day. Professional plan and above.

ParameterRequiredDescription
startDateYesYYYY-MM-DD
endDateYesYYYY-MM-DD
symbolsNoComma-separated currency codes
baseNoBase currency code. Default USD.
get_fluctuation

GET /v2.0/fluctuation — how each currency moved between two dates: start rate, end rate, absolute change, and percent change. Professional plan and above.

Sign convention: change is startRate - endRate. A positive change means the rate fell (the symbol currency strengthened against the base); a negative change means the rate rose (the symbol currency weakened).

ParameterRequiredDescription
startDateYesYYYY-MM-DD
endDateNoYYYY-MM-DD. Defaults to the day before today.
symbolsNoComma-separated currency codes
baseNoBase currency code. Default USD.
ip_to_currency

GET /v2.0/iptocurrency — resolves the local currency from an IP address's geolocation and converts an amount into it. The target currency comes back in the to field. Growth plan and above.

ParameterRequiredDescription
fromYesCurrency code to convert from
ipNoIPv4 or IPv6 address. Omit to use the caller's own IP.
amountNoAmount to convert. Default 1.0.

Plan Requirements

FeatureMinimum plan
list_currenciesNone (no API key needed)
get_latest_rates with default USD baseDeveloper (free)
base parameter on any toolStarter
convert_currencyStarter
get_historical_ratesStarter
ip_to_currencyGrowth
get_time_seriesProfessional
get_fluctuationProfessional

Calls that exceed the plan return a 402 error with guidance (see Error Codes).

Prompt Examples

Live rates
  • What's the current EUR to USD exchange rate?
  • Give me the latest rates for GBP, JPY, and CHF against the euro.
  • What's bitcoin worth in USD right now?
  • What's the gold price in euros?
Conversion
  • Convert 250 USD to Indian rupees.
  • How many yen is 1,200 euros?
  • What was 500 GBP worth in USD on 2025-12-31?
Historical data
  • What was the USD to PKR rate on January 2nd, 2020?
  • Show me daily EUR/USD rates for Q1 2026.
  • Compare the pound and the euro against the dollar over the last 30 days.
Price changes
  • How much has the Turkish lira dropped against the dollar since January 1st?
  • Did ETH go up or down versus USD this month, and by how much?
Discovery
  • What's the currency code for the Kazakhstani tenge?
  • Which currencies does CurrencyFreaks support for Africa?
  • How far back does historical data go for the Nigerian naira?

Example Answers and Tool Output

The text answers show what a client might say; exact wording depends on the model. JSON blocks are raw tool output.

Latest rates

Prompt: What are the latest EUR, GBP, and PKR rates against the dollar?

Example answer: As of 2026-08-25 13:26 UTC, 1 USD buys 0.9279 EUR, 0.8173 GBP, or 281.62 PKR.

{
  "date": "2026-08-25 13:26:00+00",
  "base": "USD",
  "rates": {
    "EUR": "0.9278605451274349",
    "GBP": "0.8172754173817152",
    "PKR": "281.6212943333344",
    "USD": "1.0"
  }
}
Conversion

Prompt: Convert 500 USD to PKR.

Example answer: 500 USD is 140,841.48 PKR at a rate of 281.683.

{
  "date": "2026-08-25 15:22:00+00",
  "from": "USD",
  "to": "PKR",
  "rate": "281.683",
  "givenAmount": "500.0",
  "convertedAmount": "140841.475"
}
Fluctuation

Prompt: How did the Pakistani rupee move against the pound between June 1st and June 15th, 2026?

Example answer: PKR strengthened against the pound, going from 254.331 to 243.874 per GBP, a move of 10.457 (4.11%).

{
  "startDate": "2026-06-01",
  "endDate": "2026-06-15",
  "base": "GBP",
  "rateFluctuations": {
    "PKR": {
      "startRate": "254.331",
      "endRate": "243.874",
      "change": "10.457",
      "percentChange": "4.11"
    }
  }
}
Currency lookup

Prompt: What's the currency code for the Nepalese rupee?

Example answer: The Nepalese rupee is NPR.

{
  "count": 6,
  "currencies": {
    "SCR": "Seychellois Rupee",
    "MUR": "Mauritius Rupee",
    "INR": "Indian Rupee",
    "PKR": "Pakistani Rupee",
    "LKR": "Sri Lankan Rupee",
    "NPR": "Nepalese Rupee"
  }
}

Error Codes

Tool calls never crash the server. Upstream errors are returned as structured tool results with error, code, message, and a guidance field so the client can explain what went wrong instead of echoing a status code.

CodeMeaning
400Missing API key, or invalid parameters (bad currency code, date format, amount, or IP address)
401API key is invalid or inactive — check CURRENCYFREAKS_API_KEY in your client config
402Feature not included in the current plan — see Plan Requirements
404Rates not found for the requested currency, date, or interval
429Monthly request quota exhausted — upgrade or wait for the reset
499Request to the upstream API timed out (see CURRENCYFREAKS_REQUEST_TIMEOUT_MS)
502Server could not reach the upstream API

Example error result for an invalid key:

{
  "error": "Invalid Api Access Exception",
  "code": 401,
  "message": "Provided API key is invalid. [Contact tech. support for assistance at support@currencyfreaks.com]",
  "guidance": "The API key is invalid or inactive. Check CURRENCYFREAKS_API_KEY in your MCP client config and confirm the key is active on the CurrencyFreaks dashboard."
}

How It Works

This is a stdio MCP server that wraps the CurrencyFreaks v2.0 REST API.

At runtime:

  1. Your MCP client starts the server process via npx.
  2. The client reads the tool list.
  3. When a prompt matches a tool, the client calls it.
  4. The server validates inputs, calls CurrencyFreaks, and returns structured JSON.

The API key is read from the environment on each call and sent as the apikey query parameter. The catalogue endpoints behind list_currencies are public, so that tool works even before a key is configured.

Environment Variables

VariableRequiredDefaultDescription
CURRENCYFREAKS_API_KEYYesYour CurrencyFreaks API key
CURRENCYFREAKS_REQUEST_TIMEOUT_MSNo15000Upstream request timeout in ms

Building from Source

git clone https://github.com/CurrencyFreaks/currencyfreaks-mcp.git
cd currencyfreaks-mcp
npm install
npm run build

Run it directly:

CURRENCYFREAKS_API_KEY=<YOUR_KEY> node dist/cli.js

Inspect with the MCP Inspector:

CURRENCYFREAKS_API_KEY=<YOUR_KEY> npx @modelcontextprotocol/inspector node dist/cli.js

Troubleshooting

Client uses an old tool list after updating: Restart the client and confirm it loaded the latest npm version.

400 "Please provide API Key": CURRENCYFREAKS_API_KEY is not set in your MCP client config's env block.

401 errors: The key is wrong or inactive. Copy it again from the CurrencyFreaks dashboard.

402 errors: The tool needs a higher plan. See Plan Requirements. On the Developer (free) plan only get_latest_rates with the default USD base and list_currencies work.

404 "Rates of provided currency X are available from A to B": The date is outside that currency's data range. Call list_currencies with search=X and detailed=true to see availableFrom and availableUntil.

Huge responses: Always pass symbols to the rate tools and search to list_currencies. Without them the API returns all 1000+ currencies.

499 timeouts: The upstream API did not respond in time. Increase CURRENCYFREAKS_REQUEST_TIMEOUT_MS (default: 15000 ms).

Pricing

Developer plan is free with 1,000 requests a month, no card required. Paid plans add base currency selection, conversion, historical data, time series, fluctuation, and IP-to-currency, with faster refresh rates. See the CurrencyFreaks pricing page.

License

MIT

Frequently asked questions

What is CurrencyFreaks?

Real-time and historical exchange rates and currency conversion for 1000+ currencies.

How do I install CurrencyFreaks?

It runs on your machine. In Claude Code: claude mcp add currencyfreaks -e 'CURRENCYFREAKS_API_KEY=<your currencyfreaks_api_key>' -e 'CURRENCYFREAKS_REQUEST_TIMEOUT_MS=<CURRENCYFREAKS_REQUEST_TIMEOUT_MS>' -- npx -y @currencyfreaks/mcp@1.0.1. For other clients, paste the JSON configuration from this page into their MCP settings.

Does CurrencyFreaks need an API key?

Yes. It expects CURRENCYFREAKS_API_KEY, which you set in its configuration.

Is CurrencyFreaks open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains CurrencyFreaks?

It is published by CurrencyFreaks. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.