Capital.com MCP Server について
Capital.com MCP Serverは、Capital.comの市場データと取引操作をMCPクライアントに提供するセルフホスト可能なPythonサーバーです。取引はプレビューと確認の二段階で、デフォルトでは無効化され、許可リストや上限で制御できます。
主な機能
- 01市場データと口座ツール
- 02二段階の取引実行
- 03許可リストと取引規模の制限
- 04ウォッチリストとリアルタイム配信ツール
- 05リソースとガイド付きプロンプト
活用シーン
- 01銘柄の価格や市場情報の確認
- 02デモ口座での取引のプレビューと確認
- 03ウォッチリスト、価格、ポートフォリオ状況の監視
MCP 対応
stdioまたはHTTP経由で、MCPクライアントに42のツール、4つのリソース、7つのプロンプトを提供します。変更操作には確認が必要で、取引はプレビュー後に実行する方式です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx capitalcom-mcpCAP_ENV_FILEPath to a .env file holding credentials (alternative to inline secrets).CAP_API_KEYシークレットCapital.com API key (use a DEMO key first).CAP_IDENTIFIERシークレットCapital.com account identifier (email).CAP_API_PASSWORDシークレットCapital.com API password.CAP_ENVEnvironment: demo or live (default: demo).CAP_ALLOW_TRADINGSet true to enable order execution (off by default).CAP_ALLOWED_EPICSComma-separated EPIC allowlist for trading, or ALL.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
42掲載時のツール一覧 · 3 週間前に更新
このツールにパラメーターはありません。
詳細
Capital.com MCP サーバー
FastMCP 上で Python を使って構築された、Capital.com Open
API 向けのセルフホスト可能な Model Context Protocol(MCP) サーバーです。stdio または HTTP 経由で、あらゆる MCP クライアントに 安全性を考慮した、ガード機能付きの取引・市場データ用ツールを42個 提供します。二段階の実行、許可リスト、デモ優先に対応しています。テスト済みの capitalcom-cli
ブローカーエンジン(SDK)を基盤としています。
対応クライアント:Claude Desktop · Claude Code · Cursor · VS Code(Copilot)· Windsurf · ChatGPT — あらゆる MCP クライアント。
⚠️ 非公式・教育目的です。 Capital.com とは提携していません。取引にはリスクが伴い、これは金融アドバイスではありません。取引はデフォルトで無効になっています。すべての取引は、許可リストとサイズ・レート制限を備えた二段階方式(プレビュー → 確認 → 実行)です。まずはデモ口座でお試しください。Apache-2.0 ライセンスです。
インストール
リポジトリのクローンは不要です。uvx が隔離された使い捨て環境で実行し、テスト済みの最新リリースを常に取得します。
uvx capitalcom-mcp --help # smoke test
または、pipx で永続的なコマンドをインストールします。
pipx install capitalcom-mcp
本番環境/実資金利用向けのバージョン固定
uvx capitalcom-mcp は常に公開済みの最新リリースを実行します。お試しには問題ありませんが、本番環境や実資金で利用する場合は、予期しないアップデートでツールの動作が変わらないよう、正確なバージョンを固定してください。
{
"mcpServers": {
"capitalcom": {
"command": "uvx",
"args": ["capitalcom-mcp==0.3.4"],
"env": { "CAP_ENV_FILE": "/Users/you/.config/capital-mcp/.env" }
}
}
}
CLI 形式は uvx capitalcom-mcp==0.3.4 run … です。確認済みのバージョンに固定し、変更履歴を読んだうえで、意図的にバージョンを上げてください。
1. 認証情報を追加する(一度だけ)
Capital.com アプリで API キーを取得します。Settings → API integrations を開き、まずデモキーを作成してください。その後、ウィザードを実行します。ウィザードは 0600 のファイルを書き込み、クライアント設定用の正確なスニペットを表示します。
uvx capitalcom-mcp init
~/.config/capital-mcp/.env に書き込まれます。いつでも確認できます(シークレットは表示されません)。
uvx capitalcom-mcp doctor
有効な設定全体を(値を伏せてオフラインで)確認するか、認証情報で実際に認証できることを確認できます。
uvx capitalcom-mcp config # effective settings + credential source
uvx capitalcom-mcp doctor --login # verify authentication against the API
シークレットマネージャーを使う場合は、CAP_API_KEY_CMD/CAP_IDENTIFIER_CMD/
CAP_API_PASSWORD_CMD に、シークレットを出力するコマンド(例:
op read op://vault/...、pass ...)を設定します。シークレットは起動時に取得され、ディスクにもクライアント設定にも書き込まれません。
2. サーバーをクライアントに追加する
すべてのクライアントで、同じ command/args/env の形式を使用します。"CAP_ENV_FILE": "<path from init>" を貼り付けると、シークレットをクライアント設定ファイルに含めずに済みます。または、CAP_API_KEY/CAP_IDENTIFIER/CAP_API_PASSWORD を env に直接設定します。
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json(macOS)/
%APPDATA%\Claude\claude_desktop_config.json(Windows):
{
"mcpServers": {
"capitalcom": {
"command": "uvx",
"args": ["capitalcom-mcp"],
"env": { "CAP_ENV_FILE": "/Users/you/.config/capital-mcp/.env" }
}
}
}
Claude Code
claude mcp add --transport stdio \
--env CAP_ENV_FILE=/Users/you/.config/capital-mcp/.env \
capitalcom -- uvx capitalcom-mcp
Cursor
~/.cursor/mcp.json(グローバル)または .cursor/mcp.json(プロジェクト):
{
"mcpServers": {
"capitalcom": {
"command": "uvx",
"args": ["capitalcom-mcp"],
"env": { "CAP_ENV_FILE": "/Users/you/.config/capital-mcp/.env" }
}
}
}
VS Code (Copilot)
.vscode/mcp.json — ルートキーは servers で、type: "stdio" である点に注意してください。
{
"servers": {
"capitalcom": {
"type": "stdio",
"command": "uvx",
"args": ["capitalcom-mcp"],
"env": { "CAP_ENV_FILE": "/Users/you/.config/capital-mcp/.env" }
}
}
}
Windsurf
~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"capitalcom": {
"command": "uvx",
"args": ["capitalcom-mcp"],
"env": { "CAP_ENV_FILE": "/Users/you/.config/capital-mcp/.env" }
}
}
}
ChatGPT
ChatGPT では リモートサーバーが必要です(stdio はサポートされていません)。詳しくは
リモート/VPS ホスティングを参照してください。サーバーに HTTPS 経由でアクセスできるようになったら、
開発者モード(Settings → Connectors → Advanced)を有効にし、末尾が /mcp のサーバー URL を追加します。ChatGPT の Deep Research コネクターは、このサーバーが実装する読み取り専用ツール search と fetch を呼び出します。すべてのカスタムツールを使用するには、開発者モードが必要です。
リモート/VPS ホスティング
stdio の代わりに streamable-HTTP を使用して実行します。
CAP_ENV_FILE=/home/you/.config/capital-mcp/.env \
capitalcom-mcp run --transport http --host 0.0.0.0 --port 8000
# endpoint: http://<host>:8000/mcp
または、環境変数を使用します(systemd で便利です):CAP_MCP_TRANSPORT=http、CAP_MCP_HOST、CAP_MCP_PORT。一般公開する場合は、TLS を終端するリバースプロキシの背後に配置してください。
内容 — ツール、リソース、プロンプト
このサーバーは 42 個のツール、4 個のリソース、7 個のガイド付きプロンプトを公開します。ChatGPT Deep Research 用の 2 つのアダプター(search、fetch)を除き、すべてのツール名には cap_ が付いています。変更を伴うツールには confirm=true が必要です。取引は 2 段階で実行されます。すべての機能は安定した契約として提供されています。詳しくはAPI の安定性を参照してください。
セッションとアカウント
| ツール | 内容 |
|---|---|
cap_session_status | 現在のログイン/セッション状態。 |
cap_session_login | 認証します(force=true を指定することもできます)。 |
cap_session_ping | キープアライブ/生存確認。 |
cap_session_logout | セッションを終了します。 |
cap_session_switch_account | アクティブな取引アカウントを切り替えます。 |
cap_account_list | アカウントとアクティブなアカウント ID の一覧。 |
cap_account_preferences_get | アカウント設定を読み取ります(例:ヘッジモード)。 |
cap_account_preferences_set | 設定を更新します(confirm が必要です)。 |
cap_account_history_activity | アカウントのアクティビティ履歴。 |
cap_account_history_transactions | 取引履歴。 |
cap_account_demo_topup | デモ残高を追加します(confirm が必要です)。 |
マーケットデータ
| ツール | 内容 |
|---|---|
cap_market_search | 用語から金融商品を検索します。 |
cap_market_get | EPIC の詳細なマーケット情報とスナップショット。 |
cap_market_navigation_root | マーケットナビゲーションの最上位ノード。 |
cap_market_navigation_node | ナビゲーションノードを掘り下げます。 |
cap_market_prices | 過去の OHLC ローソク足。 |
cap_market_sentiment | クライアントのロング/ショートポジション比率。 |
取引(読み取り → プレビュー → 実行 → 管理)
| ツール | 内容 |
|---|---|
cap_trade_positions_list | オープンポジション。 |
cap_trade_positions_get | deal ID で指定した 1 件のポジション。 |
cap_trade_orders_list | 有効な(未約定の)注文。 |
cap_trade_confirm_get | 参照情報から取引確認を取得します。 |
cap_trade_confirm_wait | 取引が確定する(またはタイムアウトする)までポーリングします。 |
cap_trade_preview_position | フェーズ 1:成行ポジションを検証します(実行はしません)。 |
cap_trade_preview_working_order | フェーズ 1:有効注文を検証します。 |
cap_trade_execute_position | フェーズ 2:プレビュー済みのポジションを実行します(confirm)。 |
cap_trade_execute_working_order | フェーズ 2:プレビュー済みの有効注文を発注します(confirm)。 |
cap_trade_positions_close | ポジションを決済します(confirm)。 |
cap_trade_orders_cancel | 有効注文をキャンセルします(confirm)。 |
cap_trade_positions_amend | ポジションのストップ/リミットを変更します(confirm)。 |
cap_trade_orders_amend | 有効注文を変更します(confirm)。 |
ウォッチリスト
| ツール | 内容 |
|---|---|
cap_watchlists_list | ウォッチリストの一覧。 |
cap_watchlists_get | 1 つのウォッチリストに含まれるマーケットを取得します。 |
cap_watchlists_create | ウォッチリストを作成します(confirm)。 |
cap_watchlists_add_market | EPIC を追加します(confirm)。 |
cap_watchlists_remove_market | EPIC を削除します(confirm)。 |
cap_watchlists_delete | ウォッチリストを削除します(confirm)。 |
ストリーミング(WebSocket。CAP_WS_ENABLED=true が必要)
| ツール | 内容 |
|---|---|
cap_stream_prices | EPIC のリアルタイムの買値/売値更新。 |
cap_stream_candles | OHLC ローソク足のリアルタイム更新。 |
cap_stream_alerts | 価格のしきい値アラート。 |
cap_stream_portfolio | ポジション/損益のリアルタイム更新。 |
ChatGPT Deep Research アダプター
| ツール | 機能 |
|---|---|
search | 読み取り専用の商品検索(ChatGPT コネクターの仕様)。 |
fetch | ID を指定した読み取り専用の商品取得(ChatGPT コネクターの仕様)。 |
リソース
| URI | 返される内容 |
|---|---|
cap://status | セッション/接続のステータススナップショット。 |
cap://risk-policy | 有効なリスクポリシー(取引フラグ、上限)。 |
cap://allowed-epics | 取引可能な EPIC の許可リスト。 |
cap://market-cache/{epic} | EPIC のキャッシュ済み市場スナップショット。 |
ガイド付きプロンプト
プロンプトは、クライアントが名前で起動できる再利用可能なワークフローです。上記のツールを連携させる手順ごとのガイダンスを出力しますが、単独で取引を行うことはありません。
| プロンプト | 目的 |
|---|---|
market_scan | ウォッチリストをスキャンして機会を探します(価格+センチメント)。 |
trade_proposal | リスクに応じた取引を設計し、プレビューで検証します。 |
execute_trade | 事前にプレビューした取引を安全に実行します。 |
position_review | オープンポジションと有効な注文を確認します。 |
live_price_monitor | 価格をストリーミングし、しきい値を超える動きを検出します。 |
real_time_alerts | ライブ価格アラートを設定して監視します。 |
live_portfolio_monitor | しきい値を設定して、ポートフォリオの損益をライブでストリーミングします。 |
安全性モデル
CAP_ALLOW_TRADING=trueかつ EPIC がCAP_ALLOWED_EPICS(またはALL)に含まれていない限り、取引は無効です。- 2 段階の実行方式です。変更操作には
confirm=trueが必要です。 - サイズ、オープンポジション、1 日あたりの注文数に上限があります。
CAP_DRY_RUN=trueの場合、すべての実行がブロックされます。TIMEOUTの確認結果は不確定です。状態を照合し、むやみに再試行しないでください。
開発
make install # editable MCP + capitalcom-cli SDK from PyPI
make check # ruff + mypy + pytest (offline; no network/credentials)
エンドツーエンドテストでは、MCP を介してすべてのツールをデモ API で実行します(読み取り、ウォッチリスト、アカウント切り替え、プレビュー/実行/変更/クローズ/キャンセル、ストリーミング)。
実際のデモ注文を行い、後処理も行うため、取引とストリーミングを有効にしたデモ用 .env を使用してください。
# demo .env: CAP_ALLOW_TRADING=true, CAP_ALLOWED_EPICS=GOLD, CAP_WS_ENABLED=true
CAP_MCP_E2E=1 pytest -m e2e -v
貢献
貢献を歓迎します。これはコミュニティプロジェクトです。まずは CONTRIBUTING.md を確認し、 good first issues をご覧ください。今後の方向性については roadmap をご確認ください。アーキテクチャと「ツールを追加する」手順の実例は docs/extending.md にあります。
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。