Read-only MCP server to monitor MetaTrader 5 accounts on remote Windows VPS via SSH
Project description
mt5-remote-reader-mcp
Read-only MCP server to monitor MetaTrader 5 accounts on remote Windows VPS via SSH.
Never executes trading operations — pure monitoring only.
What it does
mt5-remote-reader-mcp lets any MCP-compatible AI agent (Claude, Cursor, Windsurf, etc.) connect to a Windows VPS running MetaTrader 5 and answer questions about your trading accounts — all via SSH, with no permanent connection and no risk of accidental trades.
Example prompt:
"Use mt5-remote-reader-mcp, connect to VPS 107.x.x.x with password XXXX and tell me what positions are currently open"
The AI will:
- Connect to your VPS via SSH
- Query MetaTrader 5
- Return the data in natural language
Installation
pip install mt5-remote-reader-mcp
Quick Start
1. Set up your VPS (one time only)
On your Mac/Linux, run:
python setup_vps.py YOUR_VPS_IP YOUR_VPS_PASSWORD
This installs Python, required libraries, and mt5_tool.py on the VPS automatically.
2. Configure your MCP client
Add to your MCP client config (e.g. claude_desktop_config.json):
{
"mcpServers": {
"mt5-remote-reader": {
"command": "mt5-remote-reader-mcp"
}
}
}
3. Talk to your AI
"Connect to my VPS at 1.2.3.4 with password XXXX and show me open positions"
"What trades did mt5_5 close in the last 7 days?"
"Is the expert advisor on axi_mt5_5_terminal logging any errors?"
Available Tools
| Tool | Description | Parameters |
|---|---|---|
list_terminals |
List all active MT5 terminals on the VPS | ip, password |
get_open_positions |
Get currently open positions | ip, password, terminal |
get_trade_history |
Get closed trades history | ip, password, terminal, days (default: 30) |
get_expert_log |
Get Expert Advisor log entries | ip, password, terminal, lines (default: 100) |
get_symbols |
List all available trading symbols | ip, password, terminal |
get_symbol_info |
Get detailed info for a specific symbol | ip, password, terminal, symbol |
Recommended flow
Always start with list_terminals to discover what terminals are available, then use the short terminal name (e.g. mt5_5) for all subsequent calls.
Environment Variables (optional)
| Variable | Default | Description |
|---|---|---|
MT5_TOOL_PATH |
C:\Users\Administrator\Desktop\mt5_tool.py |
Path to mt5_tool.py on the VPS |
VPS_USER |
Administrator |
SSH username for the VPS |
Example with custom path:
MT5_TOOL_PATH="C:\trade_monitor\mt5_tool.py" mt5-remote-reader-mcp
VPS Requirements
- Windows Server 2012 R2 or later
- MetaTrader 5 installed and logged in
- Python 3.8+ installed and in PATH
- OpenSSH Server active with password authentication
mt5_tool.pydeployed on the VPS (handled bysetup_vps.py)
Architecture
AI Agent
↓
mt5-remote-reader-mcp (MCP stdio, runs on your local machine)
↓
SSH + password (paramiko, no pre-configured keys needed)
↓
Windows VPS
↓
mt5_tool.py + MetaTrader5 Python library
↓
JSON → natural language response
Why stdio?
No background process needed. The MCP server launches on demand, completes the request, and exits. SSH is fast and stateless — there's nothing to keep alive between calls.
Why paramiko?
Pure Python SSH library — works on any Mac, Linux, or Windows without system-level SSH dependencies.
Security
- Read-only by design — no trading operations are ever executed
- Credentials are passed per-call and never stored to disk
- SSH connection opens and closes for each request
- Works over standard SSH port 22 — no custom firewall rules needed
Troubleshooting
"Authentication failed"
→ Check the IP and password. Make sure OpenSSH is running on the VPS (net start sshd).
"No output from VPS"
→ Make sure mt5_tool.py is at the expected path. Run setup_vps.py again to redeploy it.
"MT5 terminal not found"
→ Make sure MetaTrader 5 is open and logged in on the VPS before querying.
"Module MetaTrader5 not found"
→ Run setup_vps.py again — it will reinstall the required Python libraries.
License
MIT — see LICENSE
Related Projects
- mt5_tool.py — the core VPS-side script
- setup_vps.py — automated VPS setup from your local machine
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mt5_remote_reader_mcp-0.5.7.tar.gz.
File metadata
- Download URL: mt5_remote_reader_mcp-0.5.7.tar.gz
- Upload date:
- Size: 25.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
86eeccd3e44f4db58f7221c322481d646cbdb2ac737c0d660b3ca541573c64fb
|
|
| MD5 |
cb9da59821eaf6c296209682547f69cd
|
|
| BLAKE2b-256 |
a526416737eb8632e7dd161812ba69681b00820f0c7a091db1ec675e5e97e627
|
File details
Details for the file mt5_remote_reader_mcp-0.5.7-py3-none-any.whl.
File metadata
- Download URL: mt5_remote_reader_mcp-0.5.7-py3-none-any.whl
- Upload date:
- Size: 22.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7099300d66a4cfe854dd550a3839bc5a9088af0634fed651c2c1e38ec546a2a3
|
|
| MD5 |
00d8e8264a06bf361785a287f5925e4f
|
|
| BLAKE2b-256 |
777f8e337c9d376fe86d1cb82a3e26661d4916ac24d9c7a573a1d596675de833
|