
XTBApiServer

2025.03.28
0
TypeScript金融交易自动化交易数据分析金融服务
XTBApiServer 是一个基于 MCP(Model Context Protocol)协议的服务器,通过 `@sharplygroup/xtb-api-js` 库暴露 XTB API 的功能。它允许用户通过 MCP 协议与 XTB 交易账户进行交互,支持账户操作、市场数据获取、交易执行等多种功能。
View on GitHub
Overview
基本能力
产品定位
XTBApiServer 是一个金融交易服务工具,主要用于与 XTB 交易平台进行交互,提供账户管理、市场数据查询、交易执行等功能。
核心功能
- 账户操作:获取账户信息、保证金水平等。
- 计算操作:计算佣金、预期利润和保证金。
- 市场数据操作:获取日历事件、图表数据、实时报价等。
- 新闻操作:获取指定时间段内的新闻。
- 服务器操作:获取服务器时间、API 版本等。
- 符号操作:获取所有交易符号或特定符号的信息。
- 交易操作:执行交易、获取交易记录和历史交易数据。
- 命令执行:支持通过 MCP 协议执行自定义命令。
适用场景
- 自动化交易:通过 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
或false
。 - 如何连接 MCP 客户端?
- 使用 MCP Inspector 工具,选择
stdio
作为传输类型。
使用教程
使用依赖
- 安装 Node.js(版本 16 或更高)。
- 安装 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
- 替换
your_user_id
和your_password
为你的 XTB API 凭证。 - 如果是真实账户,设置
DEMO_ACCOUNT=false
。
运行服务器
- 构建 TypeScript 代码:
bash npm run build
- 运行服务器:
bash node build/index.js
调试方式
- 安装 MCP Inspector:
bash npm install -g @modelcontextprotocol/inspector
- 运行 MCP Inspector:
bash npx @modelcontextprotocol/inspector node build/index.js
- 在 MCP Inspector UI 中选择
stdio
作为传输类型并点击 "Connect"。
许可证
None