FxSocket について
FxSocket MCPは、FxSocket経由でMetaTrader 4および5の口座データをAIアシスタントに読み取り専用で提供します。残高、ポジション、取引履歴、市場データを参照できますが、注文の発注・変更・決済はできません。
主な機能
- 01アクセス可能な口座の一覧
- 02口座残高と状態の参照
- 03ポジションと指値注文の確認
- 04決済済み取引と成績の確認
- 05レートと銘柄仕様の検索
- 06価格履歴のローソク足取得
活用シーン
- 01口座残高と有効証拠金の確認
- 02ポジションと含み損益の確認
- 03期間別の決済済み取引の分析
- 04レートと過去のローソク足の確認
MCP 対応
FxSocketはMCPクライアントに口座・市場データ用ツールを提供します。X-API-Keyヘッダー付きのリモートMCPエンドポイント、またはローカルのstdioリレーで接続でき、すべて読み取り専用です。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.fxsocket.com/mcpclaude mcp add --transport http com-fxsocket https://mcp.fxsocket.com/mcp{"mcpServers":{"com-fxsocket":{"type":"http","url":"https://mcp.fxsocket.com/mcp"}}}Cursor で開く{"servers":{"com-fxsocket":{"type":"http","url":"https://mcp.fxsocket.com/mcp"}}}VS Code で開く{"mcpServers":{"com-fxsocket":{"type":"http","url":"https://mcp.fxsocket.com/mcp"}}}{"mcpServers":{"com-fxsocket":{"serverUrl":"https://mcp.fxsocket.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://mcp.fxsocket.com/mcp認証が必要ツール
詳細
FxSocket MCP
Claude、Cursor、VS Code などの MCP クライアントから、FxSocket 上の MetaTrader 4 および 5 のアカウント情報(残高、保有中のポジション、勝率と損益を含む決済済み取引、レート、銘柄仕様、価格履歴)を読み取れるようにします。**読み取り専用です。**注文の発注、変更、決済はできません。
このイメージは、サーバーを自分で起動するクライアント(Claude Desktop、Docker の MCP Toolkit、または command を使って設定したもの)向けに、FxSocket の MCP サーバーをローカルの stdio サーバーとして実行します。API キーを使って、各メッセージを https://mcp.fxsocket.com/mcp に中継します。ツールは、アカウントが接続されている端末のそばにある FxSocket 上で実行されるため、このイメージは小さく、ツールが変更されても更新は不要です。
リモートサーバーの URL とヘッダーを指定できるクライアントなら、イメージは不要です。X-API-Key ヘッダーにキーを設定し、https://mcp.fxsocket.com/mcp を指定してください。
1. API キーを取得する
app.fxsocket.com/dashboard/api-key で読み取り専用キー(fxs_ro_...)を作成します。一部のアカウントに限定した名前付きキーを使用すると、エージェントがアクセスできるアカウントをその範囲のみに制限できます。完全な fxs_live_... キーも使えますが、エージェントにそのようなキーは必要ありません。
2. クライアントに追加する
Claude Desktop(設定、開発者、設定を編集の順に選択してから再起動します):
{
"mcpServers": {
"fxsocket": {
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "FXSOCKET_API_KEY", "fxsocket/mcp"],
"env": { "FXSOCKET_API_KEY": "fxs_ro_..." }
}
}
}
Claude Code:
claude mcp add fxsocket -e FXSOCKET_API_KEY=fxs_ro_... -- docker run -i --rm -e FXSOCKET_API_KEY fxsocket/mcp
Cursor(~/.cursor/mcp.json):
{
"mcpServers": {
"fxsocket": {
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "FXSOCKET_API_KEY", "fxsocket/mcp"],
"env": { "FXSOCKET_API_KEY": "fxs_ro_..." }
}
}
}
VS Code(.vscode/mcp.json。キーの入力は一度だけ求められます):
{
"inputs": [
{ "type": "promptString", "id": "fxsocket-key", "description": "FxSocket API key", "password": true }
],
"servers": {
"fxsocket": {
"type": "stdio",
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "FXSOCKET_API_KEY", "fxsocket/mcp"],
"env": { "FXSOCKET_API_KEY": "${input:fxsocket-key}" }
}
}
}
値を指定せずに -e FXSOCKET_API_KEY を使うと、クライアントの env から変数が引き継がれるため、キーがプロセス一覧に表示されることはありません。
**Docker を使わない場合:**中継プログラムは依存関係のない単一ファイルです。fxsocket_mcp.py をダウンロードし、ファイルのパスを引数として python3(3.10 以降)をコマンドに指定し、同じ env を使ってください。
ツール
| ツール | 取得できる情報 |
|---|---|
list_accounts | キーから参照できるすべてのアカウント。オプションで通貨ごとの残高、純資産、合計も取得できます。最初に呼び出してください。 |
get_account | 1 つのアカウントの全情報:概要、ブローカー情報、端末の状態。 |
get_open_positions | アカウント全体の保有中のポジションと未決注文。含み損益とスワップも取得できます。 |
get_trade_history | 指定期間の決済済み取引。勝ち数、負け数、勝率、純損益、銘柄ごとの内訳を取得できます。 |
search_symbols | ブローカーで使われている正確な銘柄名を検索します(EURUSD、EURUSD.sd、EURUSDm など)。 |
get_quotes | 最大 20 銘柄のリアルタイムのビッド/アスクとスプレッド。 |
get_symbol_info | 契約仕様:小数桁数、契約サイズ、取引量の制限、スワップ、取引時間。 |
get_price_history | 銘柄と時間足を指定して OHLC ローソク足を取得します。 |
金額は各アカウントの入金通貨で表示され、通貨をまたいで合算されることはありません。時刻はブローカーのサーバー時刻です。
設定
| 変数 | デフォルト | |
|---|---|---|
FXSOCKET_API_KEY | (必須) | FxSocket API キーです。 |
FXSOCKET_MCP_URL | https://mcp.fxsocket.com/mcp | 中継先のサーバーです。平文の http は localhost に対してのみ許可されます。 |
FXSOCKET_MCP_TIMEOUT | 120 | 1 回の応答を待つ秒数です。 |
FXSOCKET_MCP_LOG | info | error、warning、info、debug のいずれかです。ログは stderr に出力されます。 |
FxSocket では、ユーザーごとに 1 分あたり 60 件の MCP リクエストが許可されています。
仕組み
クライアントは、コンテナーの標準入力に改行区切りの JSON-RPC を書き込みます。 リレーは、維持された HTTPS 接続を介して各メッセージを MCP エンドポイントに POST し、 API キーとプロトコルで必要なヘッダーを追加して、応答を標準出力に書き込みます。 次の 2 つのプロトコル世代に対応しています。
- 2026-07-28: プロトコルのバージョンは各リクエストの
_metaに含まれ、 リレーはこれをMCP-Protocol-Version、Mcp-Method、Mcp-Nameヘッダー(およびx-mcp-headerツールパラメーター)に反映します。 - 2025-03-26 から 2025-11-25: クライアントは
initializeで接続を開始し、 それ以降、リレーはネゴシエートされたバージョンをMCP-Protocol-Versionとして送信します。
FxSocket がキーを拒否した場合でも、リレーはサーバーの公開カード
(https://mcp.fxsocket.com/.well-known/mcp/server-card.json)から
initialize と tools/list に応答するため、プレースホルダーキーを指定して起動するディレクトリやインスペクターでも
ツールを確認できます。各ツール呼び出しには引き続き有効なキーが必要であり、無効な場合は拒否の応答が返されます。
リクエストは並行して処理されます。クライアントからの notifications/cancelled により、
そのリクエストの接続が閉じられます。これが Streamable HTTP でキャンセルする方法です。
HTTP エラー(無効なキー、レート制限、ネットワーク)は、クライアントがハングするのではなく、
修正方法を説明する一文を含む JSON-RPC エラーとして返されます。
開発
python3 -m unittest discover -s tests
docker build -t fxsocket/mcp:dev .
テストでは、ローカルのスタブサーバーを相手にリレーをサブプロセスとして起動し、 実際の標準入出力経路と HTTP 経路を検証します。
リリースするには、fxsocket_mcp.py の __version__ を更新し、一致するタグをプッシュします
(git tag v1.0.1 && git push --tags)。publish ワークフローは
linux/amd64 と linux/arm64 をビルドし、fxsocket/mcp:<version>、
:<major>.<minor>、:latest をプッシュします。また、dockerhub-overview ワークフローは
この README を Docker Hub のページにコピーします。
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。