metatrader-mcp-server
Deja que los asistentes de IA operen por ti usando lenguaje natural

📑 Tabla de contenidos
Related MCP server: Financial Datasets MCP Server
🌟 ¿Qué es esto?
MetaTrader MCP Server es un puente que conecta asistentes de IA (como Claude, ChatGPT) con la plataforma de trading MetaTrader 5. En lugar de hacer clic en botones, simplemente puedes decirle a tu asistente de IA qué hacer:
"Muéstrame el saldo de mi cuenta" "Compra 0.01 lotes de EUR/USD" "Cierra todas las posiciones rentables"
La IA entiende tu solicitud y la ejecuta en MetaTrader 5 automáticamente.
Cómo funciona
You → AI Assistant → MCP Server → MetaTrader 5 → Your Trades✨ Características
🗣️ Trading en lenguaje natural - Habla con la IA en inglés sencillo para ejecutar operaciones
🤖 Soporte multi-IA - Funciona con Claude Desktop, ChatGPT (vía Open WebUI) y más
📊 Acceso total al mercado - Obtén precios en tiempo real, datos históricos e información de símbolos
💼 Control total de la cuenta - Revisa saldo, capital, margen y estadísticas de trading
⚡ Gestión de órdenes - Coloca, modifica y cierra órdenes con comandos sencillos
🔒 Seguro - Todas las credenciales permanecen en tu máquina
🌐 Interfaces flexibles - Úsalo como servidor MCP, API REST o flujo WebSocket
📖 Bien documentado - Guías y ejemplos completos
🎯 ¿Para quién es esto?
Traders que desean automatizar sus operaciones usando IA
Desarrolladores que construyen bots de trading o herramientas de análisis
Analistas que necesitan acceso rápido a datos de mercado
Cualquiera interesado en combinar la IA con los mercados financieros
⚠️ Aviso legal importante
Por favor, lee esto con atención:
Operar con instrumentos financieros implica un riesgo significativo de pérdida. Este software se proporciona tal cual, y los desarrolladores no aceptan ninguna responsabilidad por pérdidas, ganancias o consecuencias derivadas del uso de este software.
Al usar este software, reconoces que:
Entiendes los riesgos del trading financiero
Eres responsable de todas las operaciones ejecutadas a través de este sistema
No harás responsables a los desarrolladores por ningún resultado
Estás usando este software bajo tu propio riesgo
Esto no es asesoramiento financiero. Opera siempre de forma responsable.
📋 Requisitos previos
Antes de comenzar, asegúrate de tener:
Python 3.10 o superior - Descárgalo aquí
Terminal MetaTrader 5 - Descárgalo aquí
Cuenta de trading MT5 - Credenciales de cuenta demo o real
Número de inicio de sesión
Contraseña
Nombre del servidor (ej. "MetaQuotes-Demo")
🚀 Inicio rápido
Paso 1: Instalar el paquete
Abre tu terminal o símbolo del sistema y ejecuta:
pip install metatrader-mcp-serverPaso 2: Habilitar el trading algorítmico
Abre MetaTrader 5
Ve a
Herramientas→OpcionesHaz clic en la pestaña
Asesores expertosMarca la casilla
Permitir trading algorítmicoHaz clic en
Aceptar
Paso 3: Elige tu interfaz
Elige una según cómo quieras usarlo:
Opción A: Usar con Claude Desktop (STDIO local)
Encuentra tu archivo de configuración de Claude Desktop:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonMac:
~/Library/Application Support/Claude/claude_desktop_config.json
Abre el archivo y añade esta configuración:
{
"mcpServers": {
"metatrader": {
"command": "metatrader-mcp-server",
"args": [
"--login", "YOUR_MT5_LOGIN",
"--password", "YOUR_MT5_PASSWORD",
"--server", "YOUR_MT5_SERVER",
"--transport", "stdio"
]
}
}
}Opcional: Especificar ruta personalizada de la terminal MT5
Si tu terminal MT5 está instalada en una ubicación no estándar, añade el argumento --path:
{
"mcpServers": {
"metatrader": {
"command": "metatrader-mcp-server",
"args": [
"--login", "YOUR_MT5_LOGIN",
"--password", "YOUR_MT5_PASSWORD",
"--server", "YOUR_MT5_SERVER",
"--transport", "stdio",
"--path", "C:\\Program Files\\MetaTrader 5\\terminal64.exe"
]
}
}
}Reemplaza
YOUR_MT5_LOGIN,YOUR_MT5_PASSWORDyYOUR_MT5_SERVERcon tus credenciales realesReinicia Claude Desktop
¡Empieza a chatear! Prueba: "¿Cuál es el saldo de mi cuenta?"
Opción B: Usar con Open WebUI (Para ChatGPT y otros LLMs)
Inicia el servidor HTTP:
metatrader-http-server --login YOUR_LOGIN --password YOUR_PASSWORD --server YOUR_SERVER --host 0.0.0.0 --port 8000Opcional: Especificar ruta personalizada de la terminal MT5
Si tu terminal MT5 está instalada en una ubicación no estándar, añade el argumento --path:
metatrader-http-server --login YOUR_LOGIN --password YOUR_PASSWORD --server YOUR_SERVER --path "C:\Program Files\MetaTrader 5\terminal64.exe" --host 0.0.0.0 --port 8000Abre tu navegador en
http://localhost:8000/docspara ver la documentación de la APIEn Open WebUI:
Ve a Configuración → Herramientas
Haz clic en Añadir servidor de herramientas
Introduce
http://localhost:8000Guarda
¡Ahora puedes usar herramientas de trading en tus chats de Open WebUI!
Opción C: Cotizaciones en tiempo real vía WebSocket
Transmite datos de ticks en vivo (bid, ask, spread, volumen) a través de WebSocket para paneles, bots o monitoreo:
metatrader-quote-server --login YOUR_LOGIN --password YOUR_PASSWORD --server YOUR_SERVERConéctate con cualquier cliente WebSocket:
websocat ws://localhost:8765Recibirás un mensaje connected seguido de actualizaciones continuas de ticks en formato JSON. Consulta Servidor de cotizaciones WebSocket para obtener todos los detalles.
Opción D: Servidor MCP remoto (SSE)
Ejecuta el servidor MCP en un VPS de Windows (donde está instalado MT5) y conéctate a él de forma remota desde Claude Desktop o Claude Code.
Lado del servidor (en el VPS de Windows):
metatrader-mcp-server --login YOUR_LOGIN --password YOUR_PASSWORD --server YOUR_SERVEREsto inicia el servidor SSE en 0.0.0.0:8080 por defecto. Personaliza con --host y --port:
metatrader-mcp-server --login YOUR_LOGIN --password YOUR_PASSWORD --server YOUR_SERVER --host 127.0.0.1 --port 9000Lado del cliente (configuración de Claude Desktop en tu máquina local):
{
"mcpServers": {
"metatrader": {
"url": "http://VPS_IP:8080/sse"
}
}
}Reemplaza VPS_IP con la dirección IP de tu servidor.
Advertencia de seguridad: El protocolo MCP no incluye autenticación. Al exponer el servidor SSE a través de una red, usa un firewall para restringir el acceso por IP, colócalo detrás de un proxy inverso con autenticación o usa un túnel SSH.
🤖 Habilidad de asistente de trading (Claude Code / Claude Desktop)
Se incluye una habilidad de Asistente de terminal de trading preconstruida en el directorio claude-skill/. Proporciona a Claude conocimiento estructurado sobre las 32 herramientas de trading, formato de salida y experiencia en el dominio de MetaTrader 5.
Instalación para Claude Code
Opción 1: Enlace simbólico (recomendado)
Crea un enlace simbólico desde el directorio estándar de habilidades de Claude Code a claude-skill/:
cd metatrader-mcp-server
mkdir -p .claude
ln -s ../claude-skill .claude/skillsLa habilidad será descubierta automáticamente y estará disponible como /trading.
Opción 2: Copiar
Copia los archivos de la habilidad en el directorio de habilidades de Claude Code:
cd metatrader-mcp-server
mkdir -p .claude/skills
cp -r claude-skill/trading .claude/skills/tradingInstalación para Claude Desktop
Para Claude Desktop, copia la habilidad al directorio global de habilidades de Claude:
# macOS
mkdir -p ~/Library/Application\ Support/Claude/skills
cp -r claude-skill/trading ~/Library/Application\ Support/Claude/skills/trading
# Windows
mkdir "%APPDATA%\Claude\skills"
xcopy /E claude-skill\trading "%APPDATA%\Claude\skills\trading\"Qué hace la habilidad
Ejecución directa: Ejecuta operaciones inmediatamente cuando se solicita, sin necesidad de confirmación adicional
Flujos de trabajo: Sabe cómo encadenar herramientas para operaciones complejas (ej. colocar orden de mercado y luego establecer SL/TP)
Formato: Presenta datos de cuenta, posiciones, órdenes y precios en tablas limpias estilo terminal
Conocimiento del dominio: Entiende tipos de órdenes de MT5, marcos temporales, formatos de símbolos y modos de llenado
Uso
Una vez instalada, invócala con /trading o simplemente haz preguntas relacionadas con el trading de forma natural:
/trading
> Show me my account dashboard
> Buy 0.1 lots of EURUSD with SL at 1.0800
> Close all profitable positions
> Show me GBPUSD H4 candles📡 Servidor de cotizaciones WebSocket
El servidor de cotizaciones WebSocket transmite datos de ticks en tiempo real desde MetaTrader 5 a cualquier cliente WebSocket. Es ideal para paneles en vivo, interfaces de trading algorítmico y monitoreo en tiempo real.
Iniciar el servidor
metatrader-quote-server --login YOUR_LOGIN --password YOUR_PASSWORD --server YOUR_SERVEREl servidor se inicia en ws://0.0.0.0:8765 por defecto.
Personalización
metatrader-quote-server \
--login YOUR_LOGIN \
--password YOUR_PASSWORD \
--server YOUR_SERVER \
--host 127.0.0.1 \
--port 9000 \
--symbols "EURUSD,GBPUSD,XAUUSD" \
--poll-interval 200Configuración
Bandera | Variable de entorno | Por defecto | Descripción |
|
|
| Host para enlazar |
|
|
| Puerto para enlazar |
|
|
| Símbolos separados por comas para transmitir |
|
|
| Intervalo de sondeo de ticks en milisegundos |
Las banderas de CLI tienen prioridad sobre las variables de entorno, que tienen prioridad sobre los valores predeterminados.
Formato de mensaje
Al conectar — el servidor envía un mensaje connected con la lista de símbolos, seguido de cualquier tick en caché:
{"type": "connected", "symbols": ["XAUUSD", "EURUSD", "GBPUSD"], "poll_interval_ms": 100}Actualizaciones de ticks — enviadas siempre que el bid, ask o volumen cambian:
{"type": "tick", "symbol": "XAUUSD", "bid": 2345.67, "ask": 2345.89, "spread": 0.22, "volume": 1234, "time": "2026-03-14T10:30:45+00:00"}Errores — enviados si no se puede obtener un símbolo:
{"type": "error", "symbol": "INVALID", "message": "Symbol not found or data unavailable"}Ejemplo: Conectar con Python
import asyncio
import json
from websockets.asyncio.client import connect
async def main():
async with connect("ws://localhost:8765") as ws:
async for message in ws:
tick = json.loads(message)
if tick["type"] == "tick":
print(f"{tick['symbol']}: {tick['bid']}/{tick['ask']} (spread: {tick['spread']})")
asyncio.run(main())Notas de diseño
Detección de cambios: Solo transmite cuando el bid, ask o volumen realmente cambian, reduciendo el tráfico innecesario.
Conexiones tardías: Los nuevos clientes reciben ticks en caché inmediatamente al conectar, por lo que no tienen que esperar al siguiente cambio.
Seguridad de hilos de MT5: Todas las llamadas al SDK de MT5 se serializan a través de un ejecutor de un solo hilo para evitar problemas de acceso concurrente.
Múltiples clientes: Cualquier número de clientes WebSocket puede conectarse simultáneamente.
💡 Ejemplos de uso
Con Claude Desktop
Una vez configurado, puedes chatear de forma natural:
Revisa tu cuenta:
Tú: "Muéstrame la información de mi cuenta"
Claude: Devuelve saldo, capital, margen, apalancamiento, etc.
Obtén datos de mercado:
Tú: "¿Cuál es el precio actual de EUR/USD?"
Claude: Muestra bid, ask y spread
Coloca una operación:
Tú: "Compra 0.01 lotes de GBP/USD con stop loss en 1.2500 y take profit en 1.2700"
Claude: Ejecuta la operación y confirma
Gestiona posiciones:
Tú: "Cierra todas mis posiciones perdedoras"
Claude: Cierra posiciones e informa los resultados
Analiza el historial:
Tú: "Muéstrame todas mis operaciones de la semana pasada para EUR/USD"
Claude: Devuelve el historial de operaciones como una tabla
Con API HTTP
# Get account info
curl http://localhost:8000/api/v1/account/info
# Get current price
curl "http://localhost:8000/api/v1/market/price?symbol_name=EURUSD"
# Place a market order
curl -X POST http://localhost:8000/api/v1/order/market \
-H "Content-Type: application/json" \
-d '{
"symbol": "EURUSD",
"volume": 0.01,
"type": "BUY",
"stop_loss": 1.0990,
"take_profit": 1.1010
}'
# Get all open positions
curl http://localhost:8000/api/v1/positions
# Close a specific position
curl -X DELETE http://localhost:8000/api/v1/positions/12345Como biblioteca de Python
from metatrader_client import MT5Client
# Connect to MT5
config = {
"login": 12345678,
"password": "your_password",
"server": "MetaQuotes-Demo"
}
client = MT5Client(config)
client.connect()
# Get account statistics
stats = client.account.get_trade_statistics()
print(f"Balance: ${stats['balance']}")
print(f"Equity: ${stats['equity']}")
# Get current price
price = client.market.get_symbol_price("EURUSD")
print(f"EUR/USD Bid: {price['bid']}, Ask: {price['ask']}")
# Place a market order
result = client.order.place_market_order(
type="BUY",
symbol="EURUSD",
volume=0.01,
stop_loss=1.0990,
take_profit=1.1010
)
print(result['message'])
# Close all positions
client.order.close_all_positions()
# Disconnect
client.disconnect()📚 Operaciones disponibles
Gestión de cuenta
get_account_info- Obtener saldo, capital, beneficio, nivel de margen, apalancamiento, moneda
Datos de mercado
get_symbols- Listar todos los símbolos de trading disponiblesget_symbol_price- Obtener precio bid/ask actual para un símbologet_candles_latest- Obtener velas de precio recientes (datos OHLCV)get_candles_by_date- Obtener velas históricas para un rango de fechasget_symbol_info- Obtener información detallada del símbolo
Ejecución de órdenes
place_market_order- Ejecutar órdenes instantáneas de COMPRA/VENTAplace_pending_order- Colocar órdenes limit/stop para ejecución futuramodify_position- Actualizar stop loss o take profitmodify_pending_order- Modificar parámetros de orden pendiente
Gestión de posiciones
get_all_positions- Ver todas las posiciones abiertasget_positions_by_symbol- Filtrar posiciones por par de tradingget_positions_by_id- Obtener detalles específicos de una posiciónclose_position- Cerrar una posición específicaclose_all_positions- Cerrar todas las posiciones abiertasclose_all_positions_by_symbol- Cerrar todas las posiciones para un símboloclose_all_profitable_positions- Cerrar solo operaciones ganadorasclose_all_losing_positions- Cerrar solo operaciones perdedoras
Órdenes pendientes
get_all_pending_orders- Listar todas las órdenes pendientesget_pending_orders_by_symbol- Filtrar órdenes pendientes por símbolocancel_pending_order- Cancelar una orden pendiente específicacancel_all_pending_orders- Cancelar todas las órdenes
This server cannot be installed
Maintenance
Appeared in Searches
Latest Blog Posts
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/ariadng/metatrader-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server