tradingprogpt
by xentristech
README.md
# tradingprogpt
Servidor MCP de **solo lectura** sobre MetaTrader 5 y Twelve Data, con una capa
de análisis basada en LLM.
El servidor expone datos de mercado como herramientas MCP. **No ejecuta órdenes**
ni tiene forma de hacerlo: el módulo de MT5 no importa `order_send` ni ninguna
función de ejecución.
## Fuentes de datos
| Fuente | Qué aporta |
|---|---|
| **MetaTrader 5** | Tus posiciones abiertas, tu balance, el spread real que te cobra tu bróker, velas de *tu* feed |
| **Twelve Data** | Datos institucionales limpios: acciones, forex, cripto, indicadores técnicos |
No compiten. MT5 sabe cosas que solo tu bróker sabe; Twelve Data da cobertura y
calidad de datos que MT5 no tiene.
## Requisitos
- **Windows.** La librería `MetaTrader5` de Python es Windows-only.
- **Python 3.11+**
- **Terminal MT5 abierta y con sesión iniciada.** La librería se acopla a una
terminal existente; no la lanza ni se loguea sola.
- API key de [Twelve Data](https://twelvedata.com/account/api-keys)
- API key de [OpenAI](https://platform.openai.com/api-keys)
## Instalación
```bash
uv sync
cp .env.example .env # luego edita .env con tus keys reales
```
El archivo `.env` está en `.gitignore` y nunca debe subirse al repo.
## Uso
Arranca el servidor MCP:
```bash
uv run tradingprogpt-mcp
```
Para conectarlo a Claude Code:
```bash
claude mcp add tradingprogpt -- uv --directory /ruta/a/tradingprogpt run tradingprogpt-mcp
```
## Herramientas expuestas
**MetaTrader 5**
- `mt5_account_summary` — balance, equity, margen, y si la cuenta es real o demo
- `mt5_candles` — velas OHLCV del feed del bróker
- `mt5_positions` — posiciones abiertas con profit no realizado
- `mt5_symbol_info` — bid/ask, spread, tamaño de contrato
- `mt5_list_symbols` — símbolos disponibles
**Twelve Data**
- `td_quote` — cotización actual
- `td_candles` — serie temporal OHLCV
- `td_indicator` — RSI, MACD, EMA, Bollinger, ATR, ADX…
## Problemas comunes
**`IPC timeout (-10005)`** al conectar con MT5.
Es el error más frecuente y casi nunca es un bug del código. Significa que la
terminal no está abierta, o está abierta pero **sin sesión iniciada en una
cuenta**. Abre MT5, inicia sesión, y déjala corriendo.
## Seguridad
El proyecto es de solo lectura por diseño. Si algún día se habilita ejecución de
órdenes, debe hacerse en un módulo aparte, empezando por cuenta demo, y con
confirmación explícita antes de cada orden. Nunca ampliando `sources/mt5.py`.
This server cannot be deployed
Maintenance
ActivityStale
ResponsivenessResponsive