AIクライアントがMetaTrader 4、MetaTrader 5、およびcTraderのアカウントデータ(残高、ポジション、取引履歴、価格クオートなど)を読み取れるようにします。
別名 fxsocket-com/FxSocket-MCP, fxsocket-mcp
- スター
- 0
- ツール
- 8
- ダウンロード数(30日間)
- —
- 最新バージョン
- 1.0.1
- 最終コミット
- 2026年11月11日
- ライセンス
- MIT
FxSocket MCPとは
FxSocketはMCPサーバーです。 AIクライアントがMetaTrader 4、MetaTrader 5、およびcTraderのアカウントデータ(残高、ポジション、取引履歴、価格クオートなど)を読み取れるようにします。. 8個のツールを提供しており、list_accounts, get_account, get_open_positionsなどがあります。
プロジェクトのREADMEから生成された概要
FxSocket MCP server について
FxSocketは、AIクライアントとMetaTrader 4、MetaTrader 5、cTraderの取引アカウントとの間に読み取り専用のブリッジを提供します。Claude Desktop、Cursor、VS Code、またはClaude Codeを使用している開発者は、ローカルのstdioサーバーを介して、エージェントをライブの金融データに接続できます。このシステムは、APIキーを使用してリモートエンドポイントにメッセージを中継することで動作し、ローカルの負荷を抑えつつ、リアルタイムの市場情報へのアクセスを実現します。
ユーザーは、list_accounts、get_open_positions、get_trade_historyなどの特定のツールを使用してアカウントを操作し、パフォーマンスを分析できます。また、get_quotes、get_symbol_info、get_price_historyを通じて市場データも提供します。厳格な読み取り専用であるため、エージェントは残高、ポジション、銘柄詳細を表示できますが、取引の実行や変更は一切できません。本サービスはユーザーごとに1分間に最大60リクエストをサポートしており、安全なアクセスのために fxs_ro_ で始まる読み取り専用APIキーが必要です。
できること
- 1取引パフォーマンスの分析AIに決済済み取引をレビューさせ、現在の勝率や損益を確認します。
- 2ライブ市場データのモニタリング特定の通貨ペアリストに対して、リアルタイムのBid、Ask、スプレッド情報をリクエストします。
- 3アカウントステータスの確認エージェントに、利用可能なすべてのアカウントと、それぞれの現在の有効証拠金および総残高をリストアップさせます。
- 4銘柄詳細のリサーチ銘柄のコントラクトサイズ、ボリューム制限、取引セッションなどの技術的な詳細を取得します。
プロジェクトの README から作成されています。すべてのユースケースは、その引用と照らし合わせて確認されています。
FxSocket MCPのインストール方法
フォーマット検証日 2026年11月10日Claude CodeにFxSocket MCPをインストール
$ claude mcp add --env FXSOCKET_API_KEY=<YOUR_FXSOCKET_API_KEY> fxsocket-mcp -- docker run -i --rm docker.io/fxsocket/mcp:1.0.1CursorにFxSocket MCPをインストール
~/.cursor/mcp.json
{
"mcpServers": {
"fxsocket-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"docker.io/fxsocket/mcp:1.0.1"
],
"env": {
"FXSOCKET_API_KEY": "<YOUR_FXSOCKET_API_KEY>"
}
}
}
}VS CodeにFxSocket MCPをインストール
.vscode/mcp.json
{
"servers": {
"fxsocket-mcp": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"docker.io/fxsocket/mcp:1.0.1"
],
"env": {
"FXSOCKET_API_KEY": "<YOUR_FXSOCKET_API_KEY>"
}
}
}
}Claude DesktopにFxSocket MCPをインストール
claude_desktop_config.json
{
"mcpServers": {
"fxsocket-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"docker.io/fxsocket/mcp:1.0.1"
],
"env": {
"FXSOCKET_API_KEY": "<YOUR_FXSOCKET_API_KEY>"
}
}
}
}CodexにFxSocket MCPをインストール
~/.codex/config.toml
[mcp_servers.fxsocket-mcp] command = "docker" args = ["run", "-i", "--rm", "docker.io/fxsocket/mcp:1.0.1"] [mcp_servers.fxsocket-mcp.env] FXSOCKET_API_KEY = "<YOUR_FXSOCKET_API_KEY>"
Gemini CLIにFxSocket MCPをインストール
~/.gemini/settings.json
{
"mcpServers": {
"fxsocket-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"docker.io/fxsocket/mcp:1.0.1"
],
"env": {
"FXSOCKET_API_KEY": "<YOUR_FXSOCKET_API_KEY>"
}
}
}
}FxSocket MCPツール 8
READMEから検出list_accountsget_accountget_open_positionsget_trade_historysearch_symbolsget_quotesget_symbol_infoget_price_history
| list_accounts | — | |
| get_account | — | |
| get_open_positions | — | |
| get_trade_history | — | |
| search_symbols | — | |
| get_quotes | — | |
| get_symbol_info | — | |
| get_price_history | — |
設定
FXSOCKET_API_KEY必須シークレットFxSocket API key. A read-only key (fxs_ro_...) is enough: https://app.fxsocket.com/dashboard/api-key
| 名前 | 説明 | 種類 |
|---|---|---|
| FXSOCKET_API_KEY | FxSocket API key. A read-only key (fxs_ro_...) is enough: https://app.fxsocket.com/dashboard/api-key | 必須シークレット |
自動チェック
実行日 2026年11月12日詳細レポート →自動チェックに合格しました。これはセキュリティ監査ではありません。コードを読み、サーバーに必要最小限のアクセス権を与えてください。 チェックの仕組み
- ソースリポジトリがリンクされており、アクセス可能合格
- オープンソースライセンス (OSI)合格
- 過去1年以内にコミットまたはリリースあり合格
- パッケージ名が有名なパッケージに酷似していない未チェック
- リモートエンドポイントがHTTPSを使用合格
- 破壊的なツールがラベル付けされている合格
- モデルへの隠れた指示がない合格
- パッケージと依存関係に重大なアドバイザリがない未チェック
README
GitHubで見るFxSocket MCP
Lets Claude, Cursor, VS Code and other MCP clients read your MetaTrader 4, MetaTrader 5 and cTrader accounts on FxSocket: balances, open positions, closed trades with win rate and P/L, quotes, symbol specifications and price history. It is read-only. It cannot place, modify or close orders.
This image runs FxSocket's MCP server as a local stdio server, for
clients that start their servers themselves (Claude Desktop, Docker's MCP
Toolkit, or anything configured with a command). It relays each message
to https://mcp.fxsocket.com/mcp with your API key. The tools run on
FxSocket, next to the terminals your accounts are connected to, so the
image stays tiny and never needs updating when tools change.
If your client takes a remote server URL plus a header, you can skip the
image: point it at https://mcp.fxsocket.com/mcp with your key in an
X-API-Key header.
1. Get an API key
Create a read-only key (fxs_ro_...) at
app.fxsocket.com/dashboard/api-key.
A named key scoped to some of your accounts limits the agent to exactly
those. A full fxs_live_... key works too, but an agent has no use for one.
2. Add it to your client
Claude Desktop (Settings, Developer, Edit Config, then restart):
{
"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, prompts for the key once):
{
"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 without a value passes the variable through from the
client's env, so the key never appears in the process list.
Without Docker: the relay is one file with no dependencies. Download
fxsocket_mcp.py and use python3 (3.10 or newer) as
the command with the file's path as the argument, keeping the same env.
Tools
| Tool | What it answers |
|---|---|
list_accounts |
Every account the key can see, optionally with balance, equity and totals per currency. Call first. |
get_account |
One account in full: summary, broker info and terminal status. |
get_open_positions |
Open positions and pending orders across accounts, with floating P/L and swap. |
get_trade_history |
Closed trades for a period, with wins, losses, win rate, net P/L and a per-symbol breakdown. |
search_symbols |
Find the broker's exact symbol name (EURUSD, EURUSD.sd, EURUSDm...). |
get_quotes |
Live bid/ask and spread for up to 20 symbols. |
get_symbol_info |
Contract specification: digits, contract size, volume limits, swaps, sessions. |
get_price_history |
OHLC candles for a symbol and timeframe. |
Amounts are in each account's deposit currency and are never summed across currencies. Times are broker server time.
Configuration
| Variable | Default | |
|---|---|---|
FXSOCKET_API_KEY |
(required) | Your FxSocket API key. |
FXSOCKET_MCP_URL |
https://mcp.fxsocket.com/mcp |
The server to relay to. Plain http is only allowed to localhost. |
FXSOCKET_MCP_TIMEOUT |
120 |
Seconds to wait for one reply. |
FXSOCKET_MCP_LOG |
info |
error, warning, info or debug. Logs go to stderr. |
FxSocket allows 60 MCP requests a minute per user.
How it works
The client writes newline-delimited JSON-RPC to the container's stdin. The relay POSTs each message to the MCP endpoint over a kept-alive HTTPS connection, adds the API key and the headers the protocol requires, and writes the replies to stdout. It handles both protocol eras:
- 2026-07-28: the protocol version travels in each request's
_meta, and the relay mirrors it into theMCP-Protocol-Version,Mcp-MethodandMcp-Nameheaders (plus anyx-mcp-headertool parameters). - 2025-03-26 to 2025-11-25: the client opens with
initialize, and the relay sends the negotiated version asMCP-Protocol-Versionfrom then on.
If FxSocket rejects the key, the relay still answers initialize and
tools/list from the server's public card
(https://mcp.fxsocket.com/.well-known/mcp/server-card.json), so
directories and inspectors that start it with a placeholder key can see
the tools. Every tool call still needs a valid key and otherwise returns
the rejection.
Requests run concurrently. A notifications/cancelled from the client
closes that request's connection, which is how Streamable HTTP cancels.
HTTP failures (bad key, rate limit, network) come back as JSON-RPC errors
with a sentence saying what to fix, rather than a hung client.
Development
python3 -m unittest discover -s tests
docker build -t fxsocket/mcp:dev .
The tests start the relay as a subprocess against a local stub server, so they cover the real stdio and HTTP paths.
To release, bump __version__ in fxsocket_mcp.py, then push a matching
tag (git tag v1.0.1 && git push --tags). The publish workflow builds
linux/amd64 and linux/arm64 and pushes fxsocket/mcp:<version>,
:<major>.<minor> and :latest, and the dockerhub-overview workflow
copies this README to the Docker Hub page.
License
FxSocket MCPのよくある質問
FxSocket MCPをClaude Codeに追加するには
ターミナルでclaude mcp add --env FXSOCKET_API_KEY=<YOUR_FXSOCKET_API_KEY> fxsocket-mcp -- docker run -i --rm docker.io/fxsocket/mcp:1.0.1を実行します。すべてのプロジェクトで利用するには--scope userを追加します。
FxSocket MCPをCursorに追加するには
~/.cursor/mcp.jsonを開き、上記のインストールセクションに示すCursor設定を使ってmcpServersの下にサーバーを追加します。
FxSocket MCPが提供するツールは
8個のツールを提供しており、list_accounts, get_account, get_open_positions, get_trade_history, search_symbolsなどがあります。
このサーバーで注文を出したり、注文を変更したりすることはできますか?
いいえ、このサーバーは読み取り専用であり、注文の発注、変更、または決済を行うことはできません。
どのようなアカウントデータにアクセスできますか?
残高、保有ポジション、勝率や損益を含む決済済み取引、クオート、銘柄詳細、および価格履歴にアクセスできます。
1分間に何回リクエストできますか?
FxSocketでは、ユーザーごとに1分間に最大60回のMCPリクエストが可能です。