CommodityPriceAPI について
CommodityPriceAPI公式のMCPサーバーで、v3 APIをMCP対応クライアントから利用できます。商品価格の確認や変動の追跡、シンボルの検索に使えます。
主な機能
- 01最新の商品価格の取得
- 02指定日の過去価格の取得
- 03期間内の日次レート取得
- 04価格変動の比較
- 05商品シンボルと分類の検索
- 06API使用量とクォータの確認
活用シーン
- 01金・銀・原油の最新価格の確認
- 02小麦や天然ガスの過去価格の調査
- 032つの日付間で金価格を比較
- 04エネルギー関連シンボルの検索とクォータ確認
MCP 対応
stdioでMCPクライアントに8つのツールを提供し、CommodityPriceAPI v3 REST APIをラップします。利用にはCommodityPriceAPIのAPIキー設定が必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @commoditypriceapi/mcpCOMMODITYPRICEAPI_KEYシークレットYour CommodityPriceAPI key (get one at https://commoditypriceapi.com/auth/signup)COMMODITYPRICEAPI_REQUEST_TIMEOUT_MSUpstream request timeout in milliseconds (default 15000)ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
8掲載時のツール一覧 · 2 日前に更新
このツールにパラメーターはありません。
詳細
CommodityPriceAPI MCP サーバー
CommodityPriceAPI の公式 MCP サーバーです。リアルタイムおよび過去のコモディティ価格(金、銀、石油、天然ガス、小麦、コーヒー、その他 140 種類以上)を取得する 8 つの MCP ツールを提供します。AI アシスタントが平易な英語で市場について問い合わせると、MCP サーバーが API 呼び出しを処理します。
Claude Desktop、Claude Code、Cursor、Windsurf、VS Code、Cline、Codex、およびその他すべての MCP 互換クライアントで動作します。
| 項目 | 値 |
|---|---|
| パッケージ | @commoditypriceapi/mcp |
| トランスポート | stdio |
| Node.js | >=18 |
クイックスタート
-
無料の CommodityPriceAPI キーを取得します。無料トライアルは 7 日間で、カード情報は不要です。リクエスト数は 2,000 回です。
-
Cursor ユーザーはワンクリックでインストールできます。
-
その他のユーザーは、MCP クライアントの設定に以下を追加します(正確なファイルパスについては、クライアント別のインストールを参照してください)。
{
"mcpServers": {
"commoditypriceapi": {
"command": "npx",
"args": ["-y", "@commoditypriceapi/mcp"],
"env": {
"COMMODITYPRICEAPI_KEY": "<YOUR_API_KEY>"
}
}
}
}
-
クライアントを再起動します。
-
動作を確認します。「現在の金の価格はいくらですか?」と尋ねてみてください。
目次
- クイックスタート
- クライアント別のインストール
- 動作確認
- ツールリファレンス
- プロンプトの例
- 回答とツール出力の例
- エラーコード
- 仕組み
- 環境変数
- ソースからのビルド
- トラブルシューティング
- 料金
- リンク
- ライセンス
クライアント別のインストール
必要条件
- Node.js 18 以降
- ターミナルで
npxを使用できること - CommodityPriceAPI キー — 無料で登録
Claude Desktop
claude_desktop_config.json に追加します(Settings → Developer → Edit Config)。
{
"mcpServers": {
"commoditypriceapi": {
"command": "npx",
"args": ["-y", "@commoditypriceapi/mcp"],
"env": {
"COMMODITYPRICEAPI_KEY": "<YOUR_API_KEY>"
}
}
}
}
保存後、Claude Desktop を再起動します。
Claude Code
claude mcp add commoditypriceapi --env COMMODITYPRICEAPI_KEY=<YOUR_API_KEY> -- npx -y @commoditypriceapi/mcp
サーバーを追加した後、新しい Claude Code セッションを開始します。
Cursor
ワンクリックでインストールします。
または、.cursor/mcp.json に手動で追加します。
{
"mcpServers": {
"commoditypriceapi": {
"command": "npx",
"args": ["-y", "@commoditypriceapi/mcp"],
"env": {
"COMMODITYPRICEAPI_KEY": "<YOUR_API_KEY>"
}
}
}
}
保存後、Cursor を再起動します。
Windsurf
~/.codeium/windsurf/mcp_config.json に追加します。
{
"mcpServers": {
"commoditypriceapi": {
"command": "npx",
"args": ["-y", "@commoditypriceapi/mcp"],
"env": {
"COMMODITYPRICEAPI_KEY": "<YOUR_API_KEY>"
}
}
}
}
保存後、Windsurf を再起動します。
VS Code / GitHub Copilot
VS Code の settings.json に追加します。
{
"mcp": {
"servers": {
"commoditypriceapi": {
"command": "npx",
"args": ["-y", "@commoditypriceapi/mcp"],
"env": {
"COMMODITYPRICEAPI_KEY": "<YOUR_API_KEY>"
}
}
}
}
}
保存後、VS Code を再起動します。
Cline
MCP Servers パネルを開き、Configure → Advanced MCP Settings を選択します。cline_mcp_settings.json に追加します。
{
"mcpServers": {
"commoditypriceapi": {
"command": "npx",
"args": ["-y", "@commoditypriceapi/mcp"],
"env": {
"COMMODITYPRICEAPI_KEY": "<YOUR_API_KEY>"
}
}
}
}
保存後、Cline を再起動します。
Codex CLI
codex mcp add commoditypriceapi --env COMMODITYPRICEAPI_KEY=<YOUR_API_KEY> -- npx -y @commoditypriceapi/mcp
codex mcp list
サーバーを追加した後、新しい Codex セッションを開始します。
その他の MCP クライアント
以下の設定を使用します。
{
"command": "npx",
"args": ["-y", "@commoditypriceapi/mcp"],
"env": {
"COMMODITYPRICEAPI_KEY": "<YOUR_API_KEY>"
}
}
動作確認
セットアップ後、次の内容を試してください。
| プロンプト | 期待されるツール |
|---|---|
| 現在の金価格はいくらですか? | get_gold_price |
| 最新の銀価格とブレント原油価格を取得してください。 | get_latest_rates with symbols=XAG,BRENTOIL-SPOT |
| 2020年1月2日の金価格はいくらでしたか? | get_historical_rates |
| 2026年8月第1週の日次金価格を表示してください。 | get_time_series |
| 2026年1月から8月にかけて、金価格はどれくらい変動しましたか? | get_fluctuation |
| 対応している商品シンボルを教えてください。 | list_symbols |
| API の利用枠はどれくらい残っていますか? | get_usage |
ツールリファレンス
8 つのツールはすべて、CommodityPriceAPI v3 の各エンドポイントに 1 対 1 で対応しています。symbols を受け取るツールには、カンマ区切りのリストを指定できます(例:XAU,XAG,XPT,BRENTOIL-SPOT)。有効なシンボルを調べるには list_symbols を使用してください。Metals、Energy、Agriculture など、245 個のシンボルがあります。
貴金属には ISO 4217 コードを使用します。XAU(金)、XAG(銀)、XPT(プラチナ)、XPD(パラジウム)です。銅は XCU です。廃止されたコード PL、PA、HG も v3 では引き続き使用でき、新しいシンボルに自動的に解決されます(下記の注を参照)。
get_latest_rates
GET /v3/rates/latest — 1 つ以上のシンボルの最新レートを取得します。プランによっては、レートの反映に最大 10 分かかることがあります。
| パラメーター | 必須 | 説明 |
|---|---|---|
symbols | はい | カンマ区切りのシンボル。例:XAU,XAG,BRENTOIL-SPOT |
quote | いいえ | 換算先通貨(例:EUR)。Premium/Plus プランのみ使用できます。省略すると、各シンボルのデフォルト通貨が使用されます。 |
metadata | いいえ | true(デフォルト)または false。false にすると、レスポンスから metadata マップ(シンボルごとの単位と換算先通貨)が省略されます。 |
unresolved に関する注:v3 では、次の 3 つのケースで、入力したシンボルをキーとする unresolved マップが追加されます。同じ動作は get_historical_rates、get_time_series、get_fluctuation にも当てはまります。
| ケース | HTTP | エントリーの内容 |
|---|---|---|
シンボルがカタログコードではないものの、一致するものが 1 つだけある場合(例:GOLD、または廃止された PL) | 200 | message + resolvedTo — レートは rates 内の resolvedTo のキーで返されます。情報提供のみで、失敗ではありません。 |
| 一部のシンボルのレートを取得できなかった場合 | 206 | message + 省略可能な suggestions(「もしかして」候補)。有効なレートは引き続き rates に含まれます。 |
| いずれのシンボルも解決されなかった場合 | 404 | ツールは同じ unresolved マップを含む SYMBOL_NOT_FOUND エラーを返します。 |
get_gold_price
GET /v3/rates/latest/xau — 最新の金(XAU)レートを取得するショートカットです。買値/売値も含まれます。
| パラメーター | 必須 | 説明 |
|---|---|---|
quote | いいえ | 換算先通貨。Premium/Plus プランのみ使用できます。 |
include | いいえ | gram、carat、または tola — オンスレートに加えて、グラムあたりのレート、24k から 8k まで各純度のグラムあたりのレート、またはトラあたりのレートを追加します。 |
metadata | いいえ | true(デフォルト)または false。false にすると、レスポンスから metadata マップ(シンボルごとの単位と換算先通貨)が省略されます。 |
get_silver_price
GET /v3/rates/latest/xag — 最新の銀(XAG)レートを取得するショートカットです。買値/売値も含まれます。
| パラメーター | 必須 | 説明 |
|---|---|---|
quote | いいえ | 換算先通貨。Premium/Plus プランのみ使用できます。 |
include | いいえ | gram、carat、または tola — オンスレートに加えて、グラムあたり、カラットあたり、またはトラあたりのレートを追加します。 |
metadata | いいえ | true(デフォルト)または false。false にすると、レスポンスから metadata マップ(シンボルごとの単位と換算先通貨)が省略されます。 |
get_historical_rates
GET /v3/rates/historical — 過去の特定の日付における、1 つ以上のシンボルの始値/高値/安値/終値を取得します。1990-01-01 までさかのぼって利用できます。その日付にレートが存在しない場合、API は最も近い利用可能な日付のレートを返します。
| パラメーター | 必須 | 説明 |
|---|---|---|
symbols | はい | カンマ区切りのシンボル |
date | はい | YYYY-MM-DD |
get_time_series
GET /v3/rates/time-series — 2 つの日付間における、1 つ以上のシンボルの日次過去レートです。最大期間:1 年。
| Parameter | Required | Description |
|---|---|---|
symbols | はい | カンマ区切りのシンボル |
startDate | はい | YYYY-MM-DD |
endDate | はい | YYYY-MM-DD |
get_fluctuation
GET /v3/rates/fluctuation — 2 つの日付間における各シンボルの変動情報です。開始レート、終了レート、絶対変動幅、変動率が含まれます。
| Parameter | Required | Description |
|---|---|---|
symbols | はい | カンマ区切りのシンボル |
startDate | はい | YYYY-MM-DD |
endDate | はい | YYYY-MM-DD |
list_symbols
GET /v3/symbols — サポートされているすべての商品シンボルを、名称、カテゴリ、表示通貨、単位、更新間隔とともに返します。パラメーターは不要です。シンボルがわからない場合は、レート取得ツールを使う前に呼び出してください。
get_usage
GET /v3/usage — 設定されている API キーの現在のプラン、クォータ、使用状況を返します。パラメーターは不要です。
プロンプトの例
ライブ価格
- 現在の金価格はいくらですか?
- 今の金の 1 グラムあたりの価格はいくらですか?
- 銀、プラチナ、銅、WTI 原油の最新価格を取得してください。
- 金は現在ユーロでいくらで取引されていますか?
過去のデータ
- 2026 年 1 月 2 日の小麦価格はいくらでしたか?
- 過去 30 日間の金と銀の価格を比較してください。
- 2026 年第 1 四半期の日次天然ガス価格を表示してください。
価格変動
- 今四半期にブレント原油はどのくらい変動しましたか?
- 年初から金の価格は上がりましたか、下がりましたか?また、どのくらい変動しましたか?
シンボルとアカウントの確認
- エネルギー関連でサポートしている商品シンボルは何ですか?
- 今月の API クォータはあとどのくらい残っていますか?
回答例とツールの出力
文章での回答は、クライアントが返す可能性のある内容を示しています。正確な表現はモデルによって異なります。JSON ブロックはツールの生の出力です。
最新の金価格
プロンプト: 現在の金価格はいくらですか?
回答例: 金(XAU)は現在、トロイオンスあたり 4,386.23 ドル(買値 4,385.93 ドル/売値 4,386.23 ドル)で取引されています。
{
"success": true,
"timestamp": 1786617187,
"rates": {
"XAU": {
"rate": 4386.23,
"bid": 4385.93,
"ask": 4386.23
}
},
"metadata": {
"XAU": {
"unit": "T.oz",
"quote": "USD"
}
}
}
過去のレート
プロンプト: 2020 年 1 月 2 日の金価格はいくらでしたか?
回答例: 2020-01-02、金はトロイオンスあたり 1,518.26 ドルで始まり、1,528.76 ドルで終わりました(高値 1,531.31 ドル、安値 1,517.15 ドル)。
{
"success": true,
"date": "2020-01-02",
"rates": {
"XAU": {
"date": "2020-01-02",
"open": 1518.26,
"high": 1531.31,
"low": 1517.15,
"close": 1528.76
}
}
}
変動
プロンプト: 2026 年 1 月 2 日から 8 月 12 日までに金はどのくらい変動しましたか?
回答例: 金はトロイオンスあたり 4,332.01 ドルから 4,400.12 ドルに上昇しました。上昇幅は 68.11 ドル、上昇率は +1.57% です。
{
"success": true,
"startDate": "2026-01-02",
"endDate": "2026-08-12",
"rates": {
"XAU": {
"startRate": 4332.01,
"endRate": 4400.12,
"change": 68.11,
"changePercent": 1.57
}
}
}
シンボルの自動解決
プロンプト: GOLD とプラチナの価格はいくらですか?
回答例: 金(XAU)は 4,386.23 ドル、プラチナ(XPT)はトロイオンスあたり 1,412.50 ドルです。注:GOLD はシンボルコードではないため、API は XAU として返しました。
{
"success": true,
"timestamp": 1786617187,
"rates": {
"XAU": 4386.23,
"XPT": 1412.5
},
"metadata": {
"XAU": { "unit": "T.oz", "quote": "USD" },
"XPT": { "unit": "T.oz", "quote": "USD" }
},
"unresolved": {
"GOLD": {
"message": "GOLD is not a symbol code used by this API. Gold is available as \"XAU\", so its rate was returned under that symbol.",
"resolvedTo": "XAU"
}
}
}
ステータスは 200 です。resolvedTo を含むエントリーがあっても、レスポンスがダウングレードされることはありません。
エラーコード
ツール呼び出しによってサーバーがクラッシュすることはありません。上流のエラーは、error、code、message、guidance フィールドを含む構造化されたツール結果として返されます。これにより、クライアントはステータスコードをそのまま返すのではなく、問題の内容を説明できます。
| Code | Meaning |
|---|---|
401 | API キーがないか無効です。クライアント設定で COMMODITYPRICEAPI_KEY を確認してください |
402 | トライアルまたはサブスクリプションの対象外のリクエストです(例:Premium プラン以外での quote 換算) |
403 | API キーの使用上限に達しました。アップグレードするか、クォータがリセットされるまでお待ちください |
404 | シンボルが見つかりません。有効なシンボルについては list_symbols を呼び出してください |
429 | レート制限に達しました。1 分待ってから再試行してください |
499 | 上流 API へのリクエストがタイムアウトしました(COMMODITYPRICEAPI_REQUEST_TIMEOUT_MS を参照) |
502 | サーバーが上流 API に接続できませんでした |
無効なシンボルに対するエラー結果の例:
{
"error": "SYMBOL_NOT_FOUND",
"code": 404,
"message": "The symbol is not supported, please visit the documentation for a list of supported symbols",
"guidance": "Call list_symbols to see valid commodity symbols."
}
動作の仕組み
これは、CommodityPriceAPI v3 REST API をラップする stdio MCP サーバーです。
実行時の流れ:
- MCP クライアントが
npxを介してサーバープロセスを起動します。 - クライアントがツールの一覧を読み込みます。
- プロンプトがツールに一致すると、クライアントがそのツールを呼び出します。
- サーバーが入力を検証し、CommodityPriceAPI を呼び出して、構造化された JSON を返します。
サーバーは API キーを x-api-key ヘッダーと apiKey クエリパラメーターの両方で CommodityPriceAPI に送信します。上流 API はどちらも受け付けるため、追加の設定は不要です。
環境変数
| 変数 | 必須 | デフォルト | 説明 |
|---|---|---|---|
COMMODITYPRICEAPI_KEY | はい | CommodityPriceAPI の API キー | |
COMMODITYPRICEAPI_REQUEST_TIMEOUT_MS | いいえ | 15000 | 上流リクエストのタイムアウト(ミリ秒) |
ソースからビルドする
git clone https://github.com/Commodity-Price-API/commoditypriceapi-mcp.git
cd commoditypriceapi-mcp
npm install
npm run build
直接実行します:
COMMODITYPRICEAPI_KEY=<YOUR_KEY> node dist/cli.js
MCP Inspector で検査します:
COMMODITYPRICEAPI_KEY=<YOUR_KEY> npx @modelcontextprotocol/inspector node dist/cli.js
トラブルシューティング
クライアントのツール一覧が更新後も古いままです: クライアントを再起動し、最新の npm バージョンが読み込まれたことを確認してください。
401 エラー: MCP クライアントの設定の env ブロックに COMMODITYPRICEAPI_KEY が設定されていることを確認してください。
複数銘柄のレスポンスで銘柄が見つかりません: 結果の unresolved マップを確認してください。エントリーに resolvedTo がある場合、見つからないわけではありません。その銘柄のレートは rates 内にあります(例:GOLD → XAU、PL → XPT)。それ以外の場合、見つからない各銘柄にはメッセージがあり、通常は suggestions も含まれます(例:OIL → WTIOIL-SPOT、BRENTOIL-SPOT、…)。候補がない場合は、list_symbols を呼び出して正しい銘柄を確認してください。
499 タイムアウト: 上流 API が時間内に応答しませんでした。COMMODITYPRICEAPI_REQUEST_TIMEOUT_MS を増やしてください(デフォルト:15000 ms)。
料金
カード登録不要の、2,000 リクエストを利用できる 7 日間の無料トライアルです。プランの詳細については、CommodityPriceAPI の料金ページをご覧ください。
リンク
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。