UniRate MCP について
UniRate MCPは、170種類以上の法定通貨と主要な暗号資産の換算・為替レートを提供するMCP サーバーです。型付きツールを備え、ローカルのstdioとリモートのHTTP/SSEに対応します。
主な機能
- 01170種類以上の通貨換算
- 02最新為替レートの照会
- 03過去の為替レートの取得
- 04対応通貨コードの一覧
- 05stdioとStreamable HTTP/SSE対応
活用シーン
- 01通貨間の金額換算
- 02指定日の為替レート確認
- 03通貨コードの取得と検証
MCP 対応
通貨換算、最新レート、過去レート、通貨一覧のツールをMCP クライアントに公開します。stdioとStreamable HTTP/SSEに対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
4掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| to | string | はい | 換算先の通貨コード(例:'EUR') |
| from | string | はい | 換算元の通貨コード(例:'USD') |
| amount | number | はい | 換算元通貨での金額 |
詳細
UniRate MCP サーバー
UniRate API 用の Model Context Protocol サーバーです。Claude、Cursor、Continue など、MCP 互換のあらゆる AI アシスタントから、通貨換算と為替レートに直接アクセスできます。
- 🔄 170 以上の通貨(法定通貨+主要な暗号資産)をリアルタイムで換算
- 📈 1999 年までさかのぼる過去のレート(Pro プラン)
- 🆓 無料プラン。クレジットカード不要です。unirateapi.com で API キーを取得できます。
- 🧩 4 つのツール、完全に型付けされた入力(Zod スキーマ)、構造化された出力
- 🌐 stdio と Streamable HTTP/SSE トランスポート。ローカルで実行することも、リモート MCP エンドポイントとしてホストすることもできます。
- ⚡ Node 18 以降のみで動作し、依存関係は
@modelcontextprotocol/sdkのみです。
このプロジェクトの目的
現在の「AI 向け通貨」ワークフローの多くは、カスタムツールに独自の fetch ラッパーを実装するか、モデルに生の JSON を渡す汎用 HTTP MCP サーバーを使っています。このサーバーは、モデルが通貨を扱うための、型付けされた使いやすいツールを提供します。「2020-03-15 時点で 100 USD は何 EUR でしたか?」と尋ねると、整形された回答と、ほかのツール呼び出しにつなげられる構造化ペイロードが返されます。
クイックスタート
1. インストール
npm install -g @unirate/mcp
または、npx @unirate/mcp で必要なときに実行できます(インストール不要)。
2. UniRate API キーを取得する
無料プランでは convert、latest_rate、list_currencies を利用できます。unirateapi.com に登録してください。クレジットカードは不要です。
3. MCP クライアントに接続する
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json(macOS)または %APPDATA%\Claude\claude_desktop_config.json(Windows)を編集します。
{
"mcpServers": {
"unirate": {
"command": "npx",
"args": ["-y", "@unirate/mcp"],
"env": {
"UNIRATE_API_KEY": "your-api-key-here"
}
}
}
}
Claude Desktop を再起動します。4 つの UniRate ツールがツール選択画面に表示されます。
Cursor / Continue / Cline
MCP 設定(.cursor/mcp.json、~/.continue/config.json など)に追加します。
{
"mcpServers": {
"unirate": {
"command": "npx",
"args": ["-y", "@unirate/mcp"],
"env": { "UNIRATE_API_KEY": "your-api-key-here" }
}
}
}
ソースから実行する場合
git clone https://github.com/UniRate-API/unirate-mcp.git
cd unirate-mcp
npm install && npm run build
UNIRATE_API_KEY=your-key node dist/index.js
4. リモートエンドポイントとして実行する(Streamable HTTP / SSE)
デフォルトでは、このサーバーはstdioを使用します。Claude Desktop やほとんどの MCP クライアントでは、この方式が求められます。共有利用、マルチユーザーでのデプロイ、ブラウザーベースのクライアントなどのために、代わりにリモートエンドポイントとしてホストするには、HTTP モードで起動します。
UNIRATE_API_KEY=your-key unirate-mcp --http 3001
# or via env:
UNIRATE_API_KEY=your-key UNIRATE_MCP_HTTP_PORT=3001 unirate-mcp
次のエンドポイントが公開されます。
POST /mcp— Streamable HTTP エンドポイント(SSE 対応)。ステートレスです。リクエストごとに新しいサーバーが構築されるため、同じプロセスで多数のクライアントに同時に対応できます。GET /healthz— JSON の稼働確認エンドポイント({ "status": "ok", "server": "unirate-mcp", "version": "..." })。
Streamable HTTP に対応した MCP クライアント(リモートサーバーに対応した Claude Desktop、Cursor のリモート MCP など)から http://your-host:3001/mcp に接続します。本番環境では、リバースプロキシと TLS の背後に配置してください。
Docker
マルチアーキテクチャイメージ(linux/amd64、linux/arm64)は、
GitHub Container Registry
(ghcr.io/unirate-api/unirate-mcp)と Docker Hub
(unirate/unirate-mcp)の両方に公開されています。お好みのレジストリをご利用ください。
# stdio mode (for local AI clients — pipe stdin/stdout)
docker run --rm -i -e UNIRATE_API_KEY="your-key" \
ghcr.io/unirate-api/unirate-mcp:latest
# ...or from Docker Hub:
# docker run --rm -i -e UNIRATE_API_KEY="your-key" unirate/unirate-mcp:latest
# HTTP/SSE mode (hosted endpoint on :3001)
docker run --rm -p 3001:3001 -e UNIRATE_API_KEY="your-key" \
ghcr.io/unirate-api/unirate-mcp:latest --http 3001
Streamable HTTP トランスポートを使用するには、MCP クライアントから http://your-host:3001/mcp に接続します。
プログラムから利用する場合/エッジランタイム(Cloudflare Workers、Deno、Bun)
このパッケージは buildServer(client) をエクスポートしているため、利用するランタイムに適したトランスポートに接続できます。Workers、Deno、Bun では、エクスポートされた buildServer インスタンスと SDK の webStandardStreamableHttp トランスポートを使用します。
import { UnirateClient } from "@unirate/mcp/dist/client.js";
import { buildServer } from "@unirate/mcp";
// → connect to your runtime's preferred transport
ツール
convert
最新の為替レートで金額を別の通貨に換算します。
| Param | Type | Required | Notes |
|---|---|---|---|
from | string | yes | ISO 4217 コード(例:USD) |
to | string | yes | ISO 4217 コード(例:EUR) |
amount | number | yes | from 通貨での正の金額 |
呼び出し例:
{ "name": "convert", "arguments": { "from": "USD", "to": "EUR", "amount": 100 } }
レスポンス: 人間が読みやすいテキストと、構造化された { from, to, amount, result } を返します。
latest_rate
現在の為替レートを取得します。
| Param | Type | Required | Notes |
|---|---|---|---|
from | string | yes | 基準通貨 |
to | string | no | 対象通貨。すべての通貨のレートを取得するには省略します |
historical_rate (Pro plan)
特定の日付に適用されていた為替レートを取得します。主要な法定通貨ペアについて、1999-01-04 まで遡って対応しています。
| Param | Type | Required | Notes |
|---|---|---|---|
date | string | yes | YYYY-MM-DD(例:2020-03-15) |
from | string | yes | 変換元の通貨 |
to | string | yes | 変換先の通貨 |
amount | number | no | 既定値は 1 |
Free-tier の API キーでは、アップグレード先として unirateapi.com を案内する明確なエラーが返されます。
list_currencies
パラメーターなしで、対応している通貨コード(170 以上)の配列を返します。オートコンプリートやユーザーが入力したコードの検証に便利です。
エラー
UniRate API のすべてのエラーは、わかりやすいツールエラーに変換されます。
| HTTP | Error class | What the model sees |
|---|---|---|
| 400 | InvalidRequestError | 「リクエストパラメーターが無効です」 |
| 401 | AuthenticationError | 「API キーがないか、無効です」 |
| 403 | ProPlanRequiredError | 「…には Pro が必要です… https://unirateapi.com でアップグレードしてください」 |
| 404 | InvalidCurrencyError | 「通貨が見つからないか、データがありません」 |
| 429 | RateLimitError | 「レート制限を超過しました」 |
| 503 | APIError | 「サービスを利用できません」 |
ネットワークエラーやタイムアウトエラーは UnirateError でラップされます。ツール呼び出しは、プロトコルレベルのエラーをスローするのではなく、常に isError: true を含むレスポンスオブジェクトを返すため、モデルは適切に復旧できます。
開発
npm install
npm run build # compile TypeScript to dist/
npm test # 24 mock tests
UNIRATE_LIVE=1 UNIRATE_API_KEY=... npm run test:live # +4 live free-tier tests
UniRate エコシステム
UniRate は、UniRate-API 組織のもとで保守されている、40 以上のエコシステム向け公式インテグレーションを提供しています。
コアクライアント(9 言語) Python · Node.js / TypeScript · Go · Rust · Java · Ruby · PHP · .NET · Swift
JavaScript / TypeScript React · Next.js · Remix · SvelteKit · Vue · Angular · Nuxt · NestJS · tRPC
静的サイトジェネレーター Astro · Eleventy · Hugo · Jekyll
CMS と e コマース Wagtail · WordPress · WooCommerce · Drupal · Strapi · Medusa · Symfony · Laravel · Directus
データ、AI、バックエンド LangChain (Python) · LangChain.js · FastAPI · Flask · Django REST Framework · Apache Airflow · dbt
プラットフォームとツール MCP サーバー · コマンドライン · Cloudflare Workers · Home Assistant · n8n · Google Sheets · VS Code · Obsidian
マネーライブラリ連携 money gem (Ruby) · NodaMoney (.NET)
unirateapi.com で無料の API キーを取得できます。
ライセンス
MIT — LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。