Let an AI agent read and trade a MetaTrader 5 account over MCP, behind a human-approval gate.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Let an AI agent manage your MetaTrader 5 account over Model Context Protocol - with configurable human approval gate.

A Hermes agent placing then closing a real 0.01-lot trade on a demo account, end-to-end over MCP on Linux.

Not a mock-up - the same round-trip in MetaTrader 5's own History tab; the tickets and balance match the recording.
β οΈ This software places real trades through your MetaTrader 5 terminal with real orders and irreversible fills. Read DISCLAIMER.md and SECURITY.md before connecting it to a live account. Always test using your demo account first.
Runs locally - in the same process tree as your agent, no cloud, no telemetry. Windows (native) or Linux (via Docker); Python 3.10+.
π The story behind this: this project is built step by step in Wiring AI agent into MetaTrader 5, Part 1 of the Trade with AI agent series on the Fintrix engineering blog.
mt5-mcp lets an AI agent read your MetaTrader 5 account and place trades
through it, over the Model Context Protocol.
place_order, modify_order, cancel_order,
close_position, each behind a preflight + human-consent + idempotency +
audit layer.account://, positions://, and
quotes://{symbol} snapshots that push change notifications..claude/skills/:
mt5-market-data and mt5-trading teach an agent how to read the account and
run the consent flow safely.Full catalogue and the consent flow: docs/tools.md.
place_order as a live
attack surface and says so plainly - the MCP is explicitly not the security
boundary (see SECURITY.md).rpyc version-matching).python -m mt5_mcp doctor: expect
[INFO] backend: native and [PASS] lines.python -m mt5_mcp serve.Wire it to OpenClaw in one command (registers the mcp.servers entry):
The MT5 terminal + the MCP run headless in an all-in-one image; your agent talks MCP over HTTP. No host Python, no bridge.
Log the terminal in once via the KasmVNC web UI at http://127.0.0.1:3001
(File -> Login to Trade Account; persists across restarts), then point your
agent at http://127.0.0.1:8765/mcp. Wire it to OpenClaw in one command:
Full walkthrough: docs/installation.md.
get_chart_screenshot(symbol, timeframe, annotations?) returns a PNG of the
native MT5 chart, optionally annotated, so an LLM can read it visually
(candles, support/resistance, patterns). Because the MetaTrader5 Python API
cannot capture charts, this uses a small MQL5 Expert Advisor that runs inside
a GUI terminal and calls ChartScreenShot().
See Chart annotations for marking up support/resistance lines, trendlines and notes before capture.
Setup (one time):
AgentScreenshot EA - see mql5/README.md.[screenshot] template = "agent.tpl" in your config, or leave it unset
for the default chart.Config knobs ([screenshot] section): width (default 1600), height
(default 900), template (default none), timeout_s (default 10).
Not available on the headless Linux/Docker deployment: it needs a GUI
terminal. Off Windows the tool returns SCREENSHOT_NOT_SUPPORTED.
If you've been handed this repository to install and run, follow the runbook in docs/agents.md. It covers platform detection, install, verification, registering the server, and the hard safety rules for trades - read it before calling any mutating tool.
| Guide | What's in it |
|---|---|
| Installation & setup | Requirements, Windows + Linux/Docker setup, wiring to an agent. |
| For AI agents | Step-by-step runbook for an agent installing and running the server. |
| Configuration | config.toml schema, storage paths, hot-reload. |
| Tools & resources | Read tools, mutating tools + consent flow, subscribable resources. |
| MCP client setup | Per-client config snippets and Claude Code usage. |
| Transports & deployment | stdio/HTTP transports and Windows VPS patterns. |
| Contributing | How to contribute and run the tests. |
| Changelog | Release history and known limitations. |
mt5-mcp is not the security boundary, the broker's MT5 server enforces
the hard limits (margin, max-lot, symbol permissions). Pre-flight checks in the
policy engine are UX guardrails to catch agent mistakes early, not security
controls.
The human-consent gate is opt-in and off by default: auto_approve_notional
defaults to 0, so mutating calls auto-execute (full-open) - intended for trusted
or unattended agents. Arm the gate by setting auto_approve_notional > 0:
orders/closes whose notional is at or above it then return an ApprovalPreview
you must confirm, and modifying a stop to widen or remove it also requires
approval. The pre-flight limits (max_*) and symbol allow/deny lists are likewise
opt-in (0 / empty = off). Every mutating call is recorded in an append-only audit
JSONL log regardless. For vulnerability disclosure, see
SECURITY.md.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/metatrader-5-mcp-bridge)<a href="https://allmcps.com/mcp/metatrader-5-mcp-bridge"><img src="https://allmcps.com/api/badge/metatrader-5-mcp-bridge?style=directory" alt="MetaTrader 5 MCP Bridge on AllMCPs" /></a>