mcpField
C
CommodityPriceAPI

CommodityPriceAPI

ローカル
commoditypriceapi.com金融データ03 日前に更新

CommodityPriceAPI について

CommodityPriceAPI公式のMCPサーバーで、v3 APIをMCP対応クライアントから利用できます。商品価格の確認や変動の追跡、シンボルの検索に使えます。

主な機能

  1. 01最新の商品価格の取得
  2. 02指定日の過去価格の取得
  3. 03期間内の日次レート取得
  4. 04価格変動の比較
  5. 05商品シンボルと分類の検索
  6. 06API使用量とクォータの確認

活用シーン

  1. 01金・銀・原油の最新価格の確認
  2. 02小麦や天然ガスの過去価格の調査
  3. 032つの日付間で金価格を比較
  4. 04エネルギー関連シンボルの検索とクォータ確認

MCP 対応

stdioでMCPクライアントに8つのツールを提供し、CommodityPriceAPI v3 REST APIをラップします。利用にはCommodityPriceAPIのAPIキー設定が必要です。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"commodity-price-api-commoditypriceapi": {
"command": "npx",
"args": [
"-y",
"@commoditypriceapi/mcp"
],
"env": {
"COMMODITYPRICEAPI_KEY": "<COMMODITYPRICEAPI_KEY>",
"COMMODITYPRICEAPI_REQUEST_TIMEOUT_MS": "<COMMODITYPRICEAPI_REQUEST_TIMEOUT_MS>"
}
}
}
}
起動コマンドnpx -y @commoditypriceapi/mcp
設定が必要な環境変数
COMMODITYPRICEAPI_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 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@commoditypriceapi/mcp1.2.3

ツール

8

掲載時のツール一覧 · 2 日前に更新

このツールにパラメーターはありません。

詳細

CommodityPriceAPI MCP サーバー

npm version GitHub Node.js License

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

クイックスタート

  1. 無料の CommodityPriceAPI キーを取得します。無料トライアルは 7 日間で、カード情報は不要です。リクエスト数は 2,000 回です。

  2. Cursor ユーザーはワンクリックでインストールできます。

    Cursor に追加

  3. その他のユーザーは、MCP クライアントの設定に以下を追加します(正確なファイルパスについては、クライアント別のインストールを参照してください)。

{
  "mcpServers": {
    "commoditypriceapi": {
      "command": "npx",
      "args": ["-y", "@commoditypriceapi/mcp"],
      "env": {
        "COMMODITYPRICEAPI_KEY": "<YOUR_API_KEY>"
      }
    }
  }
}
  1. クライアントを再起動します。

  2. 動作を確認します。「現在の金の価格はいくらですか?」と尋ねてみてください。

目次

クライアント別のインストール

必要条件
  • 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 に追加

または、.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)200message + resolvedTo — レートは rates 内の resolvedTo のキーで返されます。情報提供のみで、失敗ではありません。
一部のシンボルのレートを取得できなかった場合206message + 省略可能な 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 年。

ParameterRequiredDescription
symbolsはいカンマ区切りのシンボル
startDateはいYYYY-MM-DD
endDateはいYYYY-MM-DD
get_fluctuation

GET /v3/rates/fluctuation — 2 つの日付間における各シンボルの変動情報です。開始レート、終了レート、絶対変動幅、変動率が含まれます。

ParameterRequiredDescription
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 フィールドを含む構造化されたツール結果として返されます。これにより、クライアントはステータスコードをそのまま返すのではなく、問題の内容を説明できます。

CodeMeaning
401API キーがないか無効です。クライアント設定で COMMODITYPRICEAPI_KEY を確認してください
402トライアルまたはサブスクリプションの対象外のリクエストです(例:Premium プラン以外での quote 換算)
403API キーの使用上限に達しました。アップグレードするか、クォータがリセットされるまでお待ちください
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 サーバーです。

実行時の流れ:

  1. MCP クライアントが npx を介してサーバープロセスを起動します。
  2. クライアントがツールの一覧を読み込みます。
  3. プロンプトがツールに一致すると、クライアントがそのツールを呼び出します。
  4. サーバーが入力を検証し、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 の料金ページをご覧ください。

リンク

ライセンス

MIT

コメント

MCP は初めてですか?

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

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