Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Read-only MetaTrader 4 and 5 accounts: balances, positions, trade history, quotes and candles.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
FXSOCKET_API_KEY, X-API-KeyValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"fxsocket": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"FXSOCKET_API_KEY",
"docker.io/fxsocket/mcp:1.0.1"
],
"env": {
"FXSOCKET_API_KEY": "your-value"
}
}
}
}Run this in your terminal
claude mcp add --transport http fxsocket https://mcp.fxsocket.com/mcp --header 'X-API-Key: your-value'claude mcp add fxsocket --env FXSOCKET_API_KEY=your-value -- docker run -i --rm -e FXSOCKET_API_KEY docker.io/fxsocket/mcp:1.0.1Fill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"fxsocket": {
"url": "https://mcp.fxsocket.com/mcp",
"headers": {
"X-API-Key": "your-value"
}
}
}
}Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"fxsocket": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"FXSOCKET_API_KEY",
"docker.io/fxsocket/mcp:1.0.1"
],
"env": {
"FXSOCKET_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"fxsocket": {
"type": "http",
"url": "https://mcp.fxsocket.com/mcp",
"headers": {
"X-API-Key": "your-value"
}
}
}
}Paste into .vscode/mcp.json in your project
{
"servers": {
"fxsocket": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"FXSOCKET_API_KEY",
"docker.io/fxsocket/mcp:1.0.1"
],
"env": {
"FXSOCKET_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Your choice stays on this device in a cookie; no account needed.
X-API-Key secret required HTTP headerThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
We have not read this server’s tool list yet; we check endpoints in rotation.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The registry name was verified against the domain fxsocket.com (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Not checked yet; we check endpoints in rotation
Not checked yet; we check endpoints in rotation
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: FXSOCKET_API_KEY, X-API-Key
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed –, and the latest version (1.0.1) reached the registry 19 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, Symantec Cloud DLP AIops
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Governed Symantec Cloud DLP — 14 MCP tools, read-only with audit.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Lets Claude, Cursor, VS Code and other MCP clients read your MetaTrader 4 and 5 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.
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.
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.
| 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.
| 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.
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:
_meta, and the relay mirrors it into the MCP-Protocol-Version, Mcp-Method and Mcp-Name headers (plus any x-mcp-header tool parameters).initialize, and the relay sends the negotiated version as MCP-Protocol-Version from 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.
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: , : . and :latest, and the dockerhub-overview workflow copies this README to the Docker Hub page.
MIT