mcpField
C
Currency Exchange & Crypto Rates

Currency Exchange & Crypto Rates

リモート
github.com/Ruddxxy金融データ036 週間前に更新
リポジトリ

Currency Exchange & Crypto Rates について

Currency Exchange & Crypto Ratesは、法定通貨の為替レートや暗号資産価格を必要とするクライアント向けのMCPサーバーです。一括換算、法定通貨の過去レート、通貨名の解決、データソースの自動切り替えに対応します。

主な機能

  1. 01法定通貨と暗号資産の換算
  2. 02最大50通貨への一括換算
  3. 03現在の為替レート取得
  4. 04過去レートと期間指定の取得
  5. 05コードと自然言語名の解決
  6. 06データソース間の自動切り替え

活用シーン

  1. 01金額を複数通貨に換算
  2. 02指定日や期間の法定通貨レートを確認
  3. 03暗号資産と法定通貨または別の暗号資産を換算

MCP 対応

MCP経由で、レート照会、通貨換算、一括換算、過去レートのツールを提供します。上流データソースにAPIキーは不要ですが、デプロイしたActorにはApify API tokenが必要です。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://vector384--currency-exchange-mcp.apify.actor/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

すべてのエンドポイント
Streamable HTTPhttps://vector384--currency-exchange-mcp.apify.actor/mcp認証が必要

ツール

詳細

通貨交換・暗号資産レート MCP サーバー

GitHub stars License: ISC Node.js >= 20 CI

Model Context Protocol を通じて、リアルタイムの外国為替レートと暗号資産価格を取得する通貨交換 MCP サーバーです。60 種類以上の法定通貨と 30 種類以上の暗号資産を相互に交換できます。複数ソースのフェイルオーバー、スマートな通貨解決、一括換算、過去のレート照会に対応しています。上流データソースの API キーは不要です。

ツール

convert_currency

対応する法定通貨または暗号資産のペア間で金額を換算します。

入力:

{ "amount": 100, "from": "USD", "to": "INR" }

出力:

{
  "amount": 100,
  "from": "USD",
  "to": "INR",
  "result": 8312,
  "rate": 83.12,
  "inverseRate": 0.012031,
  "timestamp": "2026-02-14T12:00:00.000Z",
  "source": "exchangerate-api",
  "cached": false
}

自然言語でも利用できます:

{ "amount": 1, "from": "bitcoin", "to": "rupees" }
batch_convert

1 回の呼び出しで、ある通貨の金額を複数の通貨に換算します。個別に複数回換算するより効率的です。

入力:

{ "amount": 1000, "from": "USD", "to": ["EUR", "GBP", "INR", "JPY", "BTC"] }

出力:

{
  "amount": 1000,
  "from": "USD",
  "conversions": [
    { "to": "EUR", "result": 920, "rate": 0.92, "inverseRate": 1.086957, "source": "exchangerate-api", "cached": false },
    { "to": "GBP", "result": 790, "rate": 0.79, "inverseRate": 1.265823, "source": "exchangerate-api", "cached": false },
    { "to": "INR", "result": 83120, "rate": 83.12, "inverseRate": 0.012031, "source": "exchangerate-api", "cached": false },
    { "to": "JPY", "result": 149500, "rate": 149.5, "inverseRate": 0.006689, "source": "exchangerate-api", "cached": false },
    { "to": "BTC", "result": 0.02, "rate": 0.00002, "inverseRate": 50000, "source": "coinbase", "cached": false }
  ],
  "timestamp": "2026-02-14T12:00:00.000Z"
}

1 回の呼び出しで最大 50 件の換算先に対応します。重複する通貨と換算元と同じ通貨は自動的に除外されます。

get_exchange_rates

基準通貨に対する複数の換算先通貨の現在の為替レートを取得します。

入力:

{ "base": "USD" }

デフォルトでは、上位 20 通貨(USD、EUR、GBP、JPY、INR、AED、CAD、AUD、CHF、CNY、SGD、HKD、KRW、BRL、MXN、ZAR、TRY、THB、SAR、BTC)のレートを返します。換算先を指定することもできます:

{ "base": "BTC", "targets": ["USD", "EUR", "INR", "GBP"] }

出力:

{
  "base": "BTC",
  "rates": {
    "USD": 51234.56,
    "EUR": 47345.12,
    "INR": 4258567.12,
    "GBP": 40567.89
  },
  "timestamp": "2026-02-14T12:00:00.000Z",
  "source": "coinbase",
  "cached": false
}
get_historical_rate

単一の日付または日付範囲(最大 365 日)の過去の為替レートを取得します。

単一の日付:

{ "base": "USD", "target": "INR", "date": "2025-01-15" }

出力:

{
  "base": "USD",
  "target": "INR",
  "date": "2025-01-15",
  "rate": 86.45,
  "source": "frankfurter",
  "cached": false
}

日付範囲:

{ "base": "USD", "target": "EUR", "startDate": "2025-01-01", "endDate": "2025-01-31" }

出力:

{
  "base": "USD",
  "target": "EUR",
  "period": { "startDate": "2025-01-01", "endDate": "2025-01-31" },
  "rates": [
    { "date": "2025-01-02", "rate": 0.9234 },
    { "date": "2025-01-03", "rate": 0.9241 }
  ],
  "change": {
    "high": 0.9312,
    "low": 0.9189,
    "average": 0.9248,
    "changePct": 0.94
  },
  "source": "frankfurter",
  "cached": false
}

対応通貨

法定通貨(60 種類以上)
主な通貨湾岸・中東アジア太平洋南北アメリカヨーロッパアフリカ
USDAEDINRBRLEURZAR
EURSARJPYMXNGBPNGN
GBPKWDCNYARSCHFKES
JPYQARSGDCLPSEKEGP
AUDBHDHKDCOPNOKGHS
CADOMRKRWPENDKKMAD
CHFJODTWDUYUPLNTND
CNYILSTHBCZK
INREGPMYRHUF
IQDPHPRON
IRRIDRBGN
LBPVNDISK
BDTRUB
PKRUAH
LKRHRK
暗号資産(30 種類)
シンボル名前シンボル名前
BTCBitcoinXRPRipple
ETHEthereumLTCLitecoin
SOLSolanaBCHBitcoin Cash
DOGEDogecoinATOMCosmos
ADACardanoNEARNEAR Protocol
DOTPolkadotAPTAptos
AVAXAvalancheARBArbitrum
MATICPolygonOPOptimism
LINKChainlinkSHIBShiba Inu
UNIUniswapUSDTTether
BNBBNBUSDCUSD Coin
XLMStellarALGOAlgorand
FILFilecoinAAVEAave
CROCronosPEPEPepe
SUISuiTRXTron
スマートな通貨解決

ISO 4217 コード、暗号資産シンボル、自然言語を受け付けます:

入力解決結果
USD、dollars、bucksUSD
EUR、euro、eurosEUR
GBP、pounds、sterlingGBP
INR、rupees、rupeeINR
JPY、yenJPY
CNY、yuan、renminbi、rmbCNY
AED、dirham、dirhamsAED
SAR、riyal、riyalsSAR
BTC、bitcoinBTC
ETH、ethereum、etherETH
SOL、solanaSOL
DOGE、dogecoinDOGE

データソース

データプライマリフォールバック
法定通貨レート(現在)ExchangeRate-API(160 通貨、毎日更新)fawazahmed0/exchange-api(CDN、150 以上の通貨)
暗号資産レート(現在)Coinbase Public API(200 以上のコイン、リアルタイム)CoinGecko(10K 以上のコイン、API キー不要)
過去のレートFrankfurter.app(ECB データ、33 通貨、1999 年まで遡及)fawazahmed0 の日付エンドポイント

すべての上流 API は認証不要です(API キーは必要ありません)。

機能

  • 複数ソースのフォールバック — プロバイダー間で自動的にフェイルオーバーします
  • 法定通貨から法定通貨、暗号資産から法定通貨、法定通貨から暗号資産、暗号資産から暗号資産への換算
  • USD クロスレートによる暗号資産間の換算(例:BTC から ETH)
  • 一括換算 — 1 回の呼び出しで最大 50 通貨に換算できます
  • スマートな通貨解決 — 自然言語、ISO コード、暗号資産のシンボルに対応
  • 時系列データと変動統計(高値、安値、平均、変動率)を含む過去のレート
  • TTL を段階的に設定した LRU キャッシュ — 法定通貨は 30 分、暗号資産は 2 分、過去のレートは 24 時間
  • ドメインごとのレート制限(同じ上流 API へのリクエスト間隔は 1.5 秒)
  • すべてのツール入力を Zod スキーマで検証
  • 日付検証 — 将来の日付、無効な形式、365 日を超える範囲を拒否します

料金

イベント説明価格(USD)
currency-convert1 通貨ペアの換算$0.003
batch-convert一度に最大 50 通貨に換算$0.008
exchange-rates為替レートの照会$0.003
historical-rate過去のレートの照会$0.008

制限事項

  • 暗号資産の過去のレート:未対応です — Frankfurter と fawazahmed0 が扱うのは法定通貨のみです
  • Frankfurter の対象範囲:ECB の約 33 通貨のみです — 湾岸諸国の通貨(AED、SAR、KWD、QAR)の過去のレートには、fawazahmed0 のフォールバックを使用します
  • 法定通貨レートの鮮度:ExchangeRate-API は毎日更新され、リアルタイムではありません
  • 暗号資産レートの鮮度:上流 API の制限を守るため、2 分間キャッシュされます
  • 時系列データ:Frankfurter が対応する(ECB)通貨のみ利用できます
  • 上流 API のレート制限:API キー不要の CoinGecko は約 10 リクエスト/分、Coinbase は約 10 リクエスト/秒です
  • リクエストごとのレスポンスサイズ上限は 1MB です
  • 上流ドメインごとに 1.5 秒あたり 1 リクエストに制限されます

使用方法

MCP エンドポイント: POST /mcp

# Convert 100 USD to INR
curl -X POST https://your-actor.apify.actor/mcp \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_APIFY_API_TOKEN" \
  -d '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"convert_currency","arguments":{"amount":100,"from":"USD","to":"INR"}},"id":1}'

# Get BTC exchange rates
curl -X POST https://your-actor.apify.actor/mcp \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_APIFY_API_TOKEN" \
  -d '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"get_exchange_rates","arguments":{"base":"BTC","targets":["USD","EUR","INR"]}},"id":2}'

# Historical rate for a specific date
curl -X POST https://your-actor.apify.actor/mcp \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_APIFY_API_TOKEN" \
  -d '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"get_historical_rate","arguments":{"base":"USD","target":"INR","date":"2025-01-15"}},"id":3}'

ローカルでの実行

npm install
npm run start:dev

サーバーは http://localhost:3000/mcp で起動します。

AI クライアントへの接続

MCP クライアントの設定(Claude Desktop、Cline、Cursor など)に以下を追加します。

{
  "mcpServers": {
    "currency-exchange": {
      "url": "https://vector384--currency-exchange-mcp.apify.actor/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_APIFY_API_TOKEN"
      }
    }
  }
}

YOUR_APIFY_API_TOKEN をお使いの Apify API トークンに置き換えてください。

デプロイ

apify login
apify push

プッシュ後、Apify プラットフォームでスタンバイモードを設定してください。

FAQ

上流の為替レートプロバイダーを利用するのに API キーは必要ですか? いいえ。5 つすべてのデータソース(ExchangeRate-API、fawazahmed0、Frankfurter、Coinbase、CoinGecko)は公開されており、無料です。デプロイした Actor には Apify API トークンのみ必要です。

複数ソースのフェイルオーバーはどのように機能しますか? 各リクエストでは、まずプライマリプロバイダーを試します。失敗するかタイムアウトすると、サーバーは自動的にフォールバックプロバイダーで再試行します。法定通貨:ExchangeRate-API → fawazahmed0。暗号資産:Coinbase → CoinGecko。過去のレート:Frankfurter → fawazahmed0。

2 種類の暗号資産(例:BTC と ETH)間で換算できますか? はい。暗号資産間の換算では、USD クロスレートを自動的に使用します。

レートはどのくらい新しいですか? 法定通貨レートは毎日更新されます。暗号資産レートは 2 分間キャッシュされます。過去のレートは 24 時間キャッシュされます。

暗号資産の過去のレートには対応していますか? いいえ。過去のデータソース(Frankfurter/ECB と fawazahmed0)が対象としているのは法定通貨のみです。

ローカルで実行するにはどうすればよいですか? npm install && npm run start:dev を実行すると、MCP エンドポイントを http://localhost:3000/mcp で利用できます。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。