
XTBApiServer

2025.03.01
1
TypeScript金融交易自动化交易市场数据分析金融服务
XTBApiServer 是一个基于 Model Context Protocol (MCP) 的服务,通过 `@sharplygroup/xtb-api-js` 库暴露 XTB API 功能。它允许用户通过 MCP 协议与 XTB 交易账户进行交互,支持账户操作、市场数据查询、交易执行等多种功能。
View on GitHub
Overview
基本能力
产品定位
XTBApiServer 是一个金融交易服务,专门用于与 XTB 交易平台进行交互,提供账户管理、市场数据查询、交易执行等功能。
核心功能
- 账户操作:获取账户信息、保证金水平等。
- 计算操作:计算佣金、保证金和预期利润。
- 市场数据操作:获取日历事件、图表数据、实时报价等。
- 新闻操作:获取指定时间范围内的新闻。
- 服务器操作:获取服务器时间、API 版本等。
- 符号操作:获取所有交易符号或特定符号的信息。
- 交易操作:执行交易、查询交易状态、获取交易历史等。
- 命令执行:在服务器上执行自定义命令。
适用场景
- 自动化交易:通过 MCP 客户端自动化执行交易策略。
- 市场数据分析:实时获取市场数据进行分析。
- 账户管理:监控账户状态和交易历史。
- 风险管理:计算保证金和佣金,评估交易风险。
工具列表
- Account Operations:
getCurrentUserData
:返回账户货币和杠杆信息。getMarginLevel
:返回账户指标。- Calculation Operations:
getCommissionDef
:计算佣金和汇率。getMarginTrade
:计算给定工具和交易量的预期保证金。getProfitCalculation
:计算给定交易数据的预期利润。- Market Data Operations:
getCalendar
:返回市场事件日历。getChartLastRequest
:返回从开始日期到当前时间的图表信息。getChartRangeRequest
:返回给定开始和结束日期之间的图表信息。getTickPrices
:返回给定符号的当前报价。getTradingHours
:返回报价和交易时间。- News Operations:
getNews
:返回指定时间范围内的新闻。- Server Operations:
getServerTime
:返回服务器当前时间。getVersion
:返回 API 版本。ping
:刷新系统内部状态。- Symbol Operations:
getAllSymbols
:返回所有可用符号。getSymbol
:返回特定符号的信息。- Trade Operations:
getTrades
:返回用户的交易列表。getTradeRecords
:返回指定订单的交易记录。getTradesHistory
:返回指定时间范围内关闭的交易。getTradeStatus
:返回当前交易状态。- Trading Operations:
tradeTransaction
:启动交易。tradeTransactionStatus
:返回交易状态。- Command Execution:
executeCommand
:在服务器上执行命令。
常见问题解答
- 如何配置 XTB API 凭证?
- 在项目目录中创建
.env
文件,并填写USER_ID
和PASSWORD
。 - 如何区分演示账户和真实账户?
- 在
.env
文件中设置DEMO_ACCOUNT=true
或DEMO_ACCOUNT=false
。 - 如何连接 MCP 客户端?
- 使用 MCP Inspector 连接,选择
stdio
作为传输类型。
使用教程
使用依赖
- Node.js(版本 16 或更高):
bash curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - sudo apt-get install -y nodejs
- npm:
bash sudo apt-get install npm
- XTB 交易账户:需自行注册。
安装教程
- 克隆仓库:
bash git clone [repository_url]
- 进入项目目录:
bash cd xtb-mcp-server
- 安装依赖:
bash npm install
- 配置
.env
文件:DEMO_ACCOUNT=true USER_ID=your_user_id PASSWORD=your_password
调试方式
- 构建 TypeScript 代码:
bash npm run build
- 运行服务器:
bash node build/index.js
- 使用 MCP Inspector 连接:
bash npx @modelcontextprotocol/inspector node build/index.js
在 MCP Inspector UI 中选择stdio
作为传输类型并点击 "Connect"。
许可证
None