CurrencyFreaks

io.github.CurrencyFreaks由 GitHub 账号 CurrencyFreaks 发布v1.0.1更新于 Oct 29, 2026

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

已验证STDIO仅桌面金融数据与分析

概览

AI 生成的概览

CurrencyFreaks 官方 MCP 服务器,让助手查询 1000 多种货币的实时与历史汇率、换算金额并查看汇率变动。

可以做什么
  • 按代码、名称或国家检索支持的货币,可选返回数据区间等详情
  • 获取指定货币对某一基准货币的最新汇率
  • 在两种货币之间换算金额,可按最新汇率或指定历史日期
  • 查询某一历史日期的汇率,或某段日期内的每日汇率
  • 计算两种货币在两个日期之间的涨跌幅度与百分比变化
  • 根据 IP 地址判断当地货币并换算金额
适用场景
适合让助手用自然语言回答汇率问题:当前或历史汇率、货币换算、跨时间价格对比,或确认某国家使用的货币代码。除基础最新汇率外,多数工具需要付费的 CurrencyFreaks 套餐。
运行要求
通过 npx 以 stdio 在本地运行,需要 Node.js 18 或更高版本及 npx。必须在 CURRENCYFREAKS_API_KEY 环境变量中提供 CurrencyFreaks API 密钥;免费 Developer 套餐每月 1000 次请求。可选 CURRENCYFREAKS_REQUEST_TIMEOUT_MS 设置请求超时(默认 15000 毫秒)。需要能访问 CurrencyFreaks API 的网络。
安装前请注意
API 密钥在每次调用时作为查询参数发送给 CurrencyFreaks,即会与该第三方共享,请勿写入共享配置。换算、历史汇率、时间序列、涨跌幅、IP 转货币及自定义基准货币等工具需要付费套餐,否则返回 402 错误;配额用尽会返回 429。IP 转货币工具会把 IP 地址发送给服务商。所有工具均为只读。

安装

在 SourceWeft 中

  1. 打开 控制台中的 CurrencyFreaks,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

CurrencyFreaks MCP Server

[npm version] [GitHub] [Node.js] [License]

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:

    [Add to Cursor]

  3. Everyone else: add this to your MCP client config (see Install by Client for the exact file path):

json
{  "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):

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

Restart Claude Desktop after saving.

Claude Code

bash
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:

[Add to Cursor]

Or add to .cursor/mcp.json manually:

json
{  "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:

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:

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:

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

Restart Cline after saving.

Codex CLI

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

Start a new Codex session after adding the server.

Any Other MCP Client

Use this config:

json
{  "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.

json
{  "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.

json
{  "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%).

json
{  "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.

json
{  "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:

json
{  "error": "Invalid Api Access Exception",  "code": 401,  "message": "Provided API key is invalid. [Contact tech. support for assistance at [email protected]]",  "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

bash
git clone https://github.com/CurrencyFreaks/currencyfreaks-mcp.gitcd currencyfreaks-mcpnpm installnpm run build

Run it directly:

bash
CURRENCYFREAKS_API_KEY=<YOUR_KEY> node dist/cli.js

Inspect with the MCP Inspector:

bash
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.

Links

License

MIT

来源:README.md,提交 a4b66a1

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.0.1最新Oct 29, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分