MetaTrader5 MCP Server
Uses .env files for configuration management, allowing secure storage of MetaTrader5 broker credentials through environment variables.
Leverages pandas_ta library to provide technical indicators (SMA, EMA, RSI, MACD, Stochastic, Bollinger Bands) for market data analysis and charting.
Provides access to MetaTrader5 terminal functionality including market data retrieval, historical rates, tick data, symbol information, and real-time market streaming through Python integration.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MetaTrader5 MCP Serverget hourly EURUSD data for the last 24 hours"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mtdata
Turn MetaTrader 5 into a research lab you can script, query from AI agents, or browse in a local web UI.
mtdata is a Windows-first toolkit that sits on top of a running MT5 terminal. It gives you 90+ tools for market data, forecasting, regime detection, patterns, risk, and trading through the command line and an optional AI-assistant plug (MCP), plus a local website and HTTP API.
It is a toolkit for exploration and automation, not a trading strategy or financial advice.
Why mtdata?
Strength | What that means for you |
One stack, three surfaces | Full tool surface through |
Research depth | Classical, ML, and foundation forecasting; regimes; barriers; patterns; 100+ indicators; denoising |
MT5-native | Candles, ticks, market scans, account/positions, and real order flow against your broker terminal |
Agent-friendly | Designed for tool-calling workflows: structured outputs, async training, dry-run trading |
Safety-aware | Demo-first guidance, optional trade guardrails, and dry-run previews on trading commands |
Guided learning | Sample trade workflows, a glossary, and docs that go from “first candle fetch” to advanced playbooks |
If you already live in MT5 and want repeatable analysis — or you want an assistant to pull data and run forecasts without reinventing the glue — this repo is built for that.
Related MCP server: MetaTrader 5 MCP Server
Who is this for?
Learners & discretionary traders — Follow guided workflows without a quant background. Start with candles, a simple forecast, and the sample trade guide.
Systematic / quant-curious traders — Prototype ideas, backtest, optimize barriers, and automate via CLI or MCP.
Builders & data folks — Pull MT5 data into pipelines, agents, or a local web stack with a consistent output contract.
Platform notes
Requirement | Detail |
Windows | Required to run MetaTrader 5 (and therefore mtdata against MT5) |
macOS / Linux | Run mtdata on a Windows machine or VM; connect remotely via MCP or Web API |
Python | 3.14 is the supported runtime for the packaged dependency set |
Safety first
trade_* tools can place, modify, and close real orders on the account logged into MT5.
Prefer a demo account until you know the tools and your broker behavior.
There is no separate paper-trading mode inside mtdata — use an MT5 demo account for simulated execution.
When a command supports
--dry-run true, use it to preview before anything hits the broker.For research only, stick to
data_*,forecast_*,regime_*,patterns_*, andreport_*.
Optional guardrails (allowed symbols, max volume, max risk % of equity) are documented in docs/ENV_VARS.md and docs/TRADING_SAFETY.md.
What you can do
Area | Highlights | Example tools |
Data | Candles, ticks, depth (optional), market scans |
|
Forecasting | Theta → ARIMA/ML → Chronos-class foundation models; async train & model cache |
|
Volatility & barriers | Movement estimates; TP/SL hit probabilities via simulation |
|
Regimes | Trending / ranging / stress-style market states |
|
Patterns & levels | Candlesticks, chart patterns, Elliott/fractals; pivots & confluence |
|
Indicators & denoise | 100+ technicals; smooth noise to see structure |
|
Multi-asset & diagnostics | Correlation, cointegration, stationarity, outliers, seasonality |
|
Strategy & risk | Simple rule backtests; VaR/CVaR, stress, position sizing |
|
Trade ideas | One preview-only research idea: forecast, barriers, size, dry-run |
|
Trading | Place/manage orders with guardrails when you opt in |
|
News & fundamentals | Ranked news/calendar; Finviz equity screens |
|
Options | Chains + QuantLib barrier pricing |
|
Reports |
|
Notes
market_depth_fetchrequiresMTDATA_ENABLE_MARKET_DEPTH_FETCH=1and broker Level 2/DOM data.Options chains default to Yahoo Finance; Tradier is available with env config. Pure QuantLib pricing does not need a chain provider.
For method-level detail, see docs/FORECAST.md and docs/forecast/METHODS.md.
Three ways to use it
┌─────────────────┐
│ MetaTrader 5 │
│ (Windows) │
└────────┬────────┘
│
┌──────▼──────┐
│ mtdata │
└──────┬──────┘
┌─────────────────┼─────────────────┐
▼ ▼ ▼
mtdata-cli MCP server Web API
(scripts, REPL) (AI assistants) (+ React UI)Surface | Entry point | Good for |
CLI |
| Scripts, exploration, copy-paste workflows |
MCP |
| Agent tool use (Claude, Cursor, custom clients) |
Web UI + API |
| Chart workspace at |
All three are first-class delivery surfaces. Pick CLI, MCP, or Web UI for the same research stack.
Quick start
Prerequisites: Windows + Python 3.14 + MetaTrader 5 installed and running (demo account recommended). That is enough for the first candle fetch.
Optional compiler note (you can skip this on day one): the full research stack may need Visual Studio Build Tools 2022 with Desktop development with C++ because some packages source-build on Python 3.14. Details live in Setup.
# Optional: isolate the environment
conda create -n mtdata python=3.14 -y
conda activate mtdata
# Lean core (data, indicators, core analysis)
pip install -e .
# Confirm MetaTrader 5 sees your terminal (read-only)
mtdata-cli symbols_list --limit 5
# Pull candles (one bar per hour, last 50 hours)
mtdata-cli data_fetch_candles EURUSD --timeframe H1 --limit 50
# A simple baseline forecast — an estimate, not a guarantee
mtdata-cli forecast_generate EURUSD --timeframe H1 --horizon 12 --method thetaPrefer a website? Jump to Web UI. Prefer an assistant? See MCP.md.
Web UI (chart workspace)
One path: build the SPA once, start the API, open the UI.
# Web extra if you installed lean core only
pip install -e ".[web]"
# Production frontend (once per checkout / after UI changes)
cd webui && npm install && npm run build && cd ..
# Start API + UI
mtdata-webapi
# → open http://127.0.0.1:8000/app/If webui/dist is missing, the API still starts and /app returns a clear enablement page (build steps above). Live UI development: cd webui && npm run dev (proxies /api to :8000). User tour: Web UI. HTTP reference: Web API · Setup.
Keep the first session read-only unless you are on a demo account and intentionally testing trading.
Install flavors (summary)
Goal | Command |
Lean core |
|
Full docs-aligned stack |
|
Web only |
|
Classical / foundation forecast extras |
|
TimesFM / Git-manual add-ons | See docs/SETUP.md |
Dependency caveats (NeuralForecast optional installs, Python 3.14 exclusions, optional native accelerators) live in Setup so this page stays focused on getting you productive.
Documentation
Suggested path: Setup → Glossary → pick a surface (Web UI · CLI · AI assistant) → Sample trade or the same flow in the UI.
Start here | Then explore |
Full map, tagged User / Operator / Contributor |
Configuration
Create a .env in the project root (never commit credentials):
MT5_LOGIN=12345678
MT5_PASSWORD=your_password
MT5_SERVER=your_broker_server
MT5_SERVER_TZ=Europe/Athens # optional broker session/calendar timezone
# Optional trade guardrails
MTDATA_TRADE_GUARDRAILS_ENABLED=1
MTDATA_TRADE_ALLOWED_SYMBOLS=EURUSD,BTCUSD,XAUUSD
MTDATA_TRADE_MAX_VOLUME_BY_SYMBOL=EURUSD:0.50,BTCUSD:0.03
MTDATA_TRADE_MAX_RISK_PCT_OF_EQUITY=1.5Full reference: docs/ENV_VARS.md.
Project layout
mtdata/
├── src/mtdata/
│ ├── bootstrap/ # Runtime init, settings, tool loading
│ ├── core/ # CLI, MCP/server, trading, regime, report tools
│ ├── forecast/ # Engines, methods, model store, async tasks
│ ├── patterns/ # Chart / candlestick / structure detection
│ ├── services/ # MT5 gateway, Finviz, options, news
│ ├── shared/ # Schemas and shared constants
│ └── utils/ # Indicators, denoising, helpers
├── webui/ # React + Vite frontend
├── docs/ # User guides and references
└── tests/ # Pytest suiteLicense
MIT
This server cannot be installed
Maintenance
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with the MetaTrader 5 trading platform for market data analysis, placing trades, and managing trading positions. Provides comprehensive access to forex and financial market operations through the Model Context Protocol.1
- AlicenseNot gradedqualityBmaintenanceProvides read-only access to MetaTrader 5 market data, trading history, and technical analysis through Python execution. Supports querying price data, calculating indicators, creating charts, and generating forecasts with Prophet and ML models.3MIT
- AlicenseNot gradedqualityCmaintenanceEnables comprehensive access to the MetaTrader 5 trading platform for retrieving market data, managing accounts, and executing trading operations. It provides 32 specialized tools for interacting with MT5 functionalities, including historical OHLCV data access, real-time position monitoring, and automated order management.1MIT
- FlicenseNot gradedqualityAmaintenanceEnables AI assistants to connect to MetaTrader 5 for trading, market data access, and account management through the Model Context Protocol.209
Related MCP Connectors
Connect any MCP client to MetaTrader 4/5 to read prices, manage positions, and place trades.
Real-time & historical market data: forex, stocks, crypto, indices, metals, K-line, quotes
Live financial data MCP: FX, crypto, stocks, news, URL reader. x402 on Base: $0.001/call.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/emerzon/mt-data-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server