MT5 MCP Server
Add trading capabilities to your AI model.This service lets an AI model — Claude, or any other MCP-compatible client — read live prices from your MT5 account and place trades on your behalf, while your broker login never leaves your own computer.
You rent the EA on the MQL5 Market and run it in your own MT5 terminal. It quietly checks in with our server every second or two. When your AI model asks for something — a price chart, an account status, a trade — that request is handed to your EA the next time it checks in, your EA carries it out locally in your terminal, and the result is sent back. Your broker password is never sent to us; the EA already has it because it's running inside your own logged-in terminal.
The EA itself is distributed through the MQL5 Market, not from this site — this keeps signing up here completely free. Renting gets you a copy of the EA that runs for as long as your rental is active; MQL5 handles billing and licensing entirely on their end.
Separately from renting the EA, sign up here (free) to connect it to an AI model. Your dashboard shows two values:
These are separate on purpose: your AI client never needs to see your EA Key, and your terminal never needs to see your MCP Token. Neither has anything to do with your MQL5 rental — that's a completely separate system that only controls whether the EA runs at all.
EAKey to the value from your dashboard.Once running, you can confirm it's working by asking your AI model something simple — see the example below.
Where you paste your MCP Token and this server's
MCP URL (https://mcp-server-1-dqq2.onrender.com/mcp)
depends on which client you use:
If you're building your own client rather than using an existing one,
here's a minimal working example using the official
mcp Python package:
import asyncio
from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client
MCP_URL = "https://mcp-server-1-dqq2.onrender.com/mcp"
MCP_TOKEN = "your-mcp-token-from-the-dashboard"
async def main():
headers = {"Authorization": f"Bearer {MCP_TOKEN}"}
async with streamablehttp_client(MCP_URL, headers=headers) as (read, write, _):
async with ClientSession(read, write) as session:
await session.initialize()
tools = await session.list_tools()
print("Available tools:", [t.name for t in tools.tools])
result = await session.call_tool(
"get_price_series",
{"symbol": "EURUSD", "timeframe": "M15", "count": 5},
)
for block in result.content:
print(getattr(block, "text", block))
asyncio.run(main())
Requires pip install mcp.
Claude Code (command line):
claude mcp add --transport http -s user mt5 https://mcp-server-1-dqq2.onrender.com/mcp \ --header "Authorization: Bearer YOUR_MCP_TOKEN"
Claude (claude.ai) and Claude Desktop:
Go to Settings → Connectors → Add custom connector, enter
the MCP URL, then look for a "Request headers" section to add
Authorization: Bearer YOUR_MCP_TOKEN. Note: this header
field is a newer, gradually-rolling-out feature — if you don't see it
yet, Claude Code (above) is the reliable path in the meantime.
You can also create your trading bot without coding - just configure it and connect it with OpenRouter.
Other MCP clients (Cursor, etc.):
Most support pasting a server URL and a Bearer token directly in their connection settings — look for wherever the client lets you add a remote/custom MCP server.
Once connected, you can ask your AI model things like:
The model calls the appropriate tool, which queues a command for your EA. As long as your MT5 terminal is running with the EA attached, you should see a response within a couple of seconds.
Commands simply wait for your EA to check in. If your terminal isn't running at all, requests will time out after a short wait with a clear message — nothing gets silently lost or run against the wrong account.