Cross-platform integration with MetaTrader 4 trading platform over network.
MCP MetaTrader 4 Server
A Model Context Protocol (MCP) server that provides cross-platform integration with MetaTrader 4 trading platform over network.
Author: 8nite (8nite@qmlab.io)
Features
- Account Information: Get real-time account details (balance, equity, margin, etc.)
- Market Data: Retrieve current market prices for trading symbols
- Order Management: Place market and pending orders
- Position Management: View and close open positions
- Trading History: Access historical trading data
- Backtesting: Run backtests on Expert Advisors with detailed configuration
- Expert Advisor Management: List and manage available EAs
- File-Based Fallback: Robust status and results tracking when API endpoints fail
- EA Development: Remote EA creation, editing, sync, and compilation with error reporting
- Cross-Platform: Linux MCP server connects to Windows MT4 via HTTP
Architecture
The integration uses HTTP communication between the MCP server and MT4:
- MCP Server (Linux - Node.js/TypeScript) - Provides tools for Claude Code
- HTTP Bridge (Windows - Node.js) - Converts HTTP requests to file I/O
- MT4 Expert Advisor (Windows - MQL4) - Handles trading operations
- Network Communication - JSON-based data exchange via HTTP API
Setup
1. Install MCP Server (Linux Machine - 192.168.50.X)
npm install
npm run build
2. Install HTTP Bridge (Windows Machine - 192.168.50.161)
- Copy the
windows-server/folder to your Windows machine - Install Node.js on Windows if not already installed
- Navigate to the
windows-serverfolder and run:
npm install
npm start
- The HTTP bridge will start on port 8080
3. Install MT4 Expert Advisor (Windows Machine)
Option A: Ultimate MCP EA (Recommended)
- Copy
mcp/MCP_Ultimate.mq4to your MT4MQL4/Experts/folder - Compile the Expert Advisor in MetaEditor
- Attach the Expert Advisor to any chart in MT4
- Configure EA inputs:
EnableFileReporting: true (for enhanced reporting)EnableBacktestTracking: true (for backtest monitoring)EnableVisualMode: true (for on-chart status indicators)- Configure market data tracking options as needed
- Ensure "Allow DLL imports" is enabled in MT4 settings
Option B: Unified EA (Legacy)
- Copy
MT4_Files/MCPBridge_Unified.mq4to your MT4MQL4/Experts/folder - Follow same compilation and attachment process
- Enhanced functionality but not as comprehensive as Ultimate version
Option C: Basic EA (Legacy)
- Copy
MT4_Files/MCPBridge.mq4to your MT4MQL4/Experts/folder - Follow same compilation and attachment process
- Limited to basic MCP functionality without enhanced reporting
4. Configure Claude Code (Linux Machine)
Add the MCP server to your Claude Code configuration:
claude mcp add mt4-server npm run start
Or configure manually with custom IP:
MT4_HOST=192.168.50.161 MT4_PORT=8080 claude mcp add mt4-server npm run start
Or in your MCP settings:
{
"mcpServers": {
"mt4-server": {
"command": "node",
"args": ["dist/index.js"],
"env": {
"MT4_HOST": "192.168.50.161",
"MT4_PORT": "8080"
}
}
}
}
Usage
Once configured, you can use these tools in Claude Code:
Get Account Information
Use the get_account_info tool to see my MT4 account details
Get Market Data
Get current market data for EURUSD using get_market_data
Place Orders
Place a BUY order for 0.1 lots of EURUSD with stop loss at 1.0850 and take profit at 1.0950
View Positions
Show me all my open positions using get_positions
Close Position
Close position with ticket number 12345
Run Backtest
Run a backtest on MACD Sample Expert Advisor for EURUSD H1 from 2024-01-01 to 2024-12-31 with initial deposit 10000
List Expert Advisors
Show me all available Expert Advisors for backtesting
Get Backtest Results
Get the results from the last backtest with detailed information
Monitor Backtest Status
Check the current status of a running backtest
EA Development Workflow
List Local EAs
Show me all EAs in the active development folder
Sync EA to MT4
Upload MyStrategy EA to MetaTrader for compilation
Compile EA
Compile MyStrategy EA and show any errors or warnings
Create New EA from Template
cd ea-strategies
./develop.sh new MyNewStrategy SimpleMA_Template.mq4
./develop.sh edit MyNewStrategy
File Structure
├── src/
│ └── index.ts # MCP server implementation
├── mcp/ # MCP infrastructure files
│ └── MCP_Ultimate.mq4 # Ultimate unified MCP Bridge with all features
├── strategies/ # User trading strategies (git ignored)
│ └── [User strategy EAs] # Custom trading strategies for pe
Tools (6)
get_account_infoRetrieve real-time account details including balance, equity, and margin.get_market_dataRetrieve current market prices for specified trading symbols.place_orderPlace market or pending orders on the trading platform.get_positionsView all currently open trading positions.close_positionClose an open position using its ticket number.run_backtestExecute a backtest on an Expert Advisor with specific configuration.Environment Variables
MT4_HOSTrequiredThe IP address of the Windows machine running the MT4 HTTP bridge.MT4_PORTrequiredThe port number for the MT4 HTTP bridge.Configuration
{"mcpServers": {"mt4-server": {"command": "node", "args": ["dist/index.js"], "env": {"MT4_HOST": "192.168.50.161", "MT4_PORT": "8080"}}}}