trading-platform/apps/mcp-mt4-connector/README.md
rckrdmrd c1b5081208 feat(ml): Complete FASE 11 - BTCUSD update and comprehensive documentation alignment
ML Engine Updates:
- Updated BTCUSD with Polygon API data (2024-2025): 215,699 new records
- Re-trained all ML models: Attention (R²: 0.223), Base, Metamodel (87.3% confidence)
- Backtest results: +176.71R profit with aggressive_filter strategy

Documentation Consolidation:
- Created docs/99-analisis/_MAP.md index with 13 new analysis documents
- Consolidated inventories: removed duplicates from orchestration/inventarios/
- Updated ML_INVENTORY.yml with BTCUSD metrics and training results
- Added execution reports: FASE11-BTCUSD, correction issues, alignment validation

Architecture & Integration:
- Updated all module documentation with NEXUS v3.4 frontmatter
- Fixed _MAP.md indexes across all folders
- Updated orchestration plans and traces

Files: 229 changed, 5064 insertions(+), 1872 deletions(-)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 09:31:29 -06:00

278 lines
5.5 KiB
Markdown

# MCP MT4 Connector
**Version:** 0.1.0
**Date:** 2026-01-04
**System:** Trading Platform + NEXUS v3.4 + SIMCO
---
## Description
MCP Server that exposes MetaTrader 4 (MT4) trading capabilities as tools for AI agents. This service enables AI agents to:
- Query account information
- Monitor open positions
- Execute trades (BUY/SELL)
- Manage positions (modify SL/TP, close)
- Get real-time price quotes
---
## Installation
```bash
# Navigate to the project
cd /home/isem/workspace-v1/projects/trading-platform/apps/mcp-mt4-connector
# Install dependencies
npm install
# Configure environment
cp .env.example .env
# Edit .env with your MT4 Gateway credentials
```
---
## Configuration
### Environment Variables
| Variable | Description | Default |
|----------|-------------|---------|
| `PORT` | MCP Server port | 3605 |
| `MT4_GATEWAY_HOST` | MT4 Gateway hostname | localhost |
| `MT4_GATEWAY_PORT` | MT4 Gateway port | 8081 |
| `MT4_GATEWAY_AUTH_TOKEN` | Authentication token | secret |
| `REQUEST_TIMEOUT` | Request timeout (ms) | 10000 |
| `LOG_LEVEL` | Logging level | info |
### Example .env
```env
PORT=3605
MT4_GATEWAY_HOST=localhost
MT4_GATEWAY_PORT=8081
MT4_GATEWAY_AUTH_TOKEN=your-secure-token
REQUEST_TIMEOUT=10000
LOG_LEVEL=info
```
---
## Usage
### Start Server
```bash
# Development (with hot reload)
npm run dev
# Production
npm run build
npm start
```
### Health Check
```bash
curl http://localhost:3605/health
```
### List Available Tools
```bash
curl http://localhost:3605/tools
```
### Execute a Tool
```bash
# Get account info
curl -X POST http://localhost:3605/tools/mt4_get_account \
-H "Content-Type: application/json" \
-d '{"parameters": {}}'
# Get price quote
curl -X POST http://localhost:3605/tools/mt4_get_quote \
-H "Content-Type: application/json" \
-d '{"parameters": {"symbol": "XAUUSD"}}'
# Execute trade
curl -X POST http://localhost:3605/tools/mt4_execute_trade \
-H "Content-Type: application/json" \
-d '{"parameters": {"symbol": "XAUUSD", "action": "buy", "lots": 0.1}}'
```
---
## MCP Tools Available
| Tool | Description | Risk |
|------|-------------|------|
| `mt4_get_account` | Get account balance, equity, margin | Low |
| `mt4_get_positions` | List open positions | Low |
| `mt4_get_quote` | Get current bid/ask price | Low |
| `mt4_execute_trade` | Execute BUY/SELL order | HIGH |
| `mt4_close_position` | Close a position | HIGH |
| `mt4_modify_position` | Modify SL/TP | Medium |
---
## Project Structure
```
mcp-mt4-connector/
├── README.md # This file
├── package.json # Dependencies
├── tsconfig.json # TypeScript configuration
├── .env.example # Environment template
├── .gitignore # Git ignore rules
├── docs/
│ ├── ARCHITECTURE.md # Architecture documentation
│ └── MCP-TOOLS-SPEC.md # Detailed tool specifications
└── src/
├── index.ts # Server entry point
├── tools/
│ ├── index.ts # Tool exports
│ ├── account.ts # mt4_get_account
│ ├── positions.ts # mt4_get_positions, mt4_close_position
│ ├── trading.ts # mt4_execute_trade, mt4_modify_position
│ └── quotes.ts # mt4_get_quote
└── services/
└── mt4-client.ts # MT4 Gateway HTTP client
```
---
## Development
### Build
```bash
npm run build
```
### Type Check
```bash
npm run typecheck
```
### Lint
```bash
npm run lint
npm run lint:fix
```
### Test
```bash
npm run test
npm run test:coverage
```
---
## Integration with Claude
### MCP Configuration
Add to your Claude/MCP configuration:
```json
{
"mcpServers": {
"mt4": {
"url": "http://localhost:3605",
"transport": "http"
}
}
}
```
### Example Agent Prompts
```
"Check my MT4 account balance"
→ Uses mt4_get_account
"What's the current gold price?"
→ Uses mt4_get_quote({ symbol: "XAUUSD" })
"Buy 0.1 lots of XAUUSD with stop loss at 2640"
→ Uses mt4_execute_trade({ symbol: "XAUUSD", action: "buy", lots: 0.1, stopLoss: 2640 })
"Close my profitable gold positions"
→ Uses mt4_get_positions({ symbol: "XAUUSD" }) + mt4_close_position for each
```
---
## Dependencies
### Runtime
- `express` - HTTP server
- `axios` - HTTP client
- `zod` - Input validation
- `dotenv` - Environment configuration
- `@modelcontextprotocol/sdk` - MCP protocol
### Development
- `typescript` - Type safety
- `ts-node-dev` - Development server
- `jest` - Testing framework
- `eslint` - Code linting
---
## Prerequisites
1. **MT4 Gateway** running on configured host:port
2. **MT4 Terminal** connected with EA Bridge active
3. **Node.js** >= 18.0.0
---
## Troubleshooting
### Cannot connect to MT4 Gateway
```bash
# Check if mt4-gateway is running
curl http://localhost:8081/status
# Verify environment variables
cat .env | grep MT4
```
### Tool execution fails
```bash
# Check health endpoint for dependency status
curl http://localhost:3605/health
# Check server logs
npm run dev # Logs will show in console
```
### Invalid parameters error
```bash
# Verify tool schema
curl http://localhost:3605/tools/mt4_execute_trade
# Check parameter names match schema
```
---
## References
- [MCP Protocol](https://modelcontextprotocol.io)
- MT4 Gateway: `apps/mt4-gateway/`
- SIMCO-MCP: `orchestration/directivas/simco/SIMCO-MCP.md`
- Architecture: `docs/ARCHITECTURE.md`
- Tool Specs: `docs/MCP-TOOLS-SPEC.md`
---
**Maintained by:** @PERFIL_MCP_DEVELOPER
**Project:** Trading Platform