AI 클라이언트가 MetaTrader 4, MetaTrader 5, cTrader의 잔액, 포지션, 거래 내역 및 가격 견적을 포함한 계좌 데이터를 읽을 수 있도록 합니다.
다른 이름 fxsocket-com/FxSocket-MCP, fxsocket-mcp
- 스타
- 0
- Tools
- 8
- 다운로드, 30일
- —
- 최신 버전
- 1.0.1
- 마지막 커밋
- 2026년 11월 11일
- 라이선스
- MIT
FxSocket MCP란?
FxSocket은(는) MCP server입니다. 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 key를 사용하여 원격 엔드포인트로 메시지를 전달하는 방식으로 작동하며, 로컬 리소스 사용을 최소화하면서 실시간 시장 정보에 접근할 수 있도록 보장합니다.
사용자는 list_accounts, get_open_positions, get_trade_history와 같은 특정 도구를 사용하여 계좌를 상호작용하고 성과를 분석할 수 있습니다. 또한 get_quotes, get_symbol_info, get_price_history를 통해 시장 데이터를 제공합니다. 엄격한 읽기 전용 방식이므로 에이전트는 잔액, 포지션 및 심볼 사양을 확인할 수 있지만 거래를 실행하거나 수정할 수는 없습니다. 이 서비스는 사용자당 분당 최대 60개의 요청을 지원하며, 보안 접속을 위해 fxs_ro_로 시작하는 읽기 전용 API key가 필요합니다.
활용 사례
- 1거래 성과 분석AI에게 종료된 거래 내역을 검토하여 현재 승률과 손익을 확인하도록 요청합니다.
- 2실시간 시장 데이터 모니터링특정 통화 심볼 목록에 대한 실시간 매수(bid), 매도(ask) 및 스프레드 정보를 요청합니다.
- 3계좌 상태 확인에이전트가 사용 가능한 모든 계좌와 현재 자산(equity) 및 총 잔액을 나열하도록 합니다.
- 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를 열고 mcpServers 아래에 서버를 추가합니다. 위 설치 섹션에 표시된 Cursor 구성을 사용합니다.
FxSocket MCP는 어떤 도구를 제공하나요?
8개 도구를 제공합니다. 예: list_accounts, get_account, get_open_positions, get_trade_history, search_symbols.
이 서버로 거래를 체결하거나 수정할 수 있나요?
아니요, 이 서버는 읽기 전용이며 주문을 체결, 수정 또는 종료할 수 없습니다.
어떤 종류의 계좌 데이터에 접근할 수 있나요?
잔액, 오픈 포지션, 승률 및 손익(P/L)이 포함된 종료된 거래, 견적, 심볼 사양 및 가격 내역에 접근할 수 있습니다.
분당 요청 횟수 제한이 있나요?
FxSocket은 사용자당 분당 최대 60개의 MCP 요청을 허용합니다.