Servidor XTBApi
Este es un servidor MCP que expone la API de XTB mediante la biblioteca @sharplygroup/xtb-api-js . Le permite interactuar con su cuenta de trading de XTB a través del Protocolo de Contexto de Modelo.
Prerrequisitos
Node.js (versión 16 o superior)
npm
Una cuenta de trading de XTB
Related MCP server: xrpl-mcp-service
Instalación
Clonar este repositorio: git clone [url_del_repositorio]
Navegue al directorio del proyecto: cd xtb-mcp-server
Instalar dependencias: npm install
Configuración
Cree un archivo
.enven el directorio del proyecto y agregue sus credenciales de API XTB:
Nota: Reemplace your_user_id y your_password con sus credenciales de la API de XTB. Configure DEMO_ACCOUNT como false si usa una cuenta real.
Ejecución del servidor
Construya el código TypeScript: npm run build
Ejecute el servidor: node build/index.js
Conexión con un cliente MCP
Puede conectarse a este servidor utilizando cualquier cliente MCP, como MCP Inspector.
Instale el Inspector MCP globalmente: npm install -g @modelcontextprotocol/inspector
Ejecute el Inspector MCP con su servidor: npx @modelcontextprotocol/inspector node build/index.js
En la interfaz de usuario del Inspector MCP, seleccione "stdio" como tipo de transporte y haga clic en "Conectar".
Herramientas disponibles
Este servidor MCP expone las siguientes herramientas:
Operaciones de cuenta
getCurrentUserData : devuelve información sobre la moneda de la cuenta y el apalancamiento de la cuenta.
getMarginLevel : Devuelve varios indicadores de cuenta.
Operaciones de cálculo
getCommissionDef : Devuelve el cálculo de la comisión y la tasa de cambio.
Parámetros:
symbol(cadena),volume(número)
getMarginTrade : Devuelve el margen esperado para el instrumento y volumen determinados.
Parámetros:
symbol(cadena),volume(número)
getProfitCalculation : calcula el beneficio estimado para los datos del acuerdo dados.
Parámetros:
closePrice(número),cmd(número),openPrice(número),symbol(cadena),volume(número)
Operaciones de datos de mercado
getCalendar : Devuelve el calendario con eventos del mercado.
getChartLastRequest : Devuelve información del gráfico, desde la fecha de inicio hasta la hora actual.
Parámetros:
info(cualquiera)
getChartRangeRequest : Devuelve información del gráfico con datos entre las fechas de inicio y finalización indicadas.
Parámetros:
info(cualquiera)
getTickPrices : Devuelve una matriz de cotizaciones actuales para los símbolos dados, solo se devuelven las cotizaciones que cambiaron desde la marca de tiempo dada.
Parámetros:
level(número),symbols(cadena[]),timestamp(número)
getTradingHours : Devuelve cotizaciones y horarios de negociación.
Parámetros:
symbols(cadena[])
Operaciones de noticias
getNews : Devuelve noticias del servidor comercial que se enviaron dentro del período de tiempo especificado.
Parámetros:
end(número),start(número)
Operaciones del servidor
getServerTime : Devuelve la hora actual en el servidor comercial.
getVersion : Devuelve la versión actual de la API.
ping : Llamar regularmente a esta función es suficiente para refrescar el estado interno de todos los componentes del sistema.
Operaciones con símbolos
getAllSymbols : devuelve una matriz de todos los símbolos disponibles para el usuario.
getSymbol : devuelve información sobre el símbolo disponible para el usuario.
Parámetros:
symbol(cadena)
Operaciones comerciales
getTrades : Devuelve una matriz de transacciones realizadas por el usuario.
Parámetros:
openedOnly(booleano)
getTradeRecords : Devuelve una matriz de operaciones enumeradas en el argumento
orders.Parámetros:
orders(número[])
getTradesHistory : Devuelve una matriz de transacciones del usuario que se cerraron dentro de un período de tiempo especificado.
Parámetros:
end(número),start(número)
getTradeStatus : Devuelve el estado actual de la transacción.
Parámetros:
order(número)
Operaciones comerciales
tradeTransaction : inicia una transacción comercial.
Parámetros:
tradeTransInfo(cualquiera)
tradeTransactionStatus : Devuelve el estado actual de la transacción.
Parámetros:
order(número)
Ejecución de comandos
executeCommand : ejecuta un comando en el servidor.
Parámetros:
command(cadena)
Indicaciones
Los siguientes mensajes están disponibles:
getAccountDataPrompt : obtiene los datos de la cuenta actual.
getSymbolInfoPrompt : obtiene información sobre un símbolo específico.
Parámetros:
symbol(cadena)
Descargo de responsabilidad
Este servidor MCP se proporciona a modo de ejemplo y debe utilizarse bajo su propia responsabilidad. Asegúrese de comprender la API de XTB y los posibles riesgos antes de usar este servidor con una cuenta de trading real.