
Xtb Server
一个暴露XTB交易API的MCP服务器,允许用户通过模型上下文协议与其XTB交易账户进行交互,以执行账户管理、市场数据获取和交易执行等操作。
概述
XTBApiServer
这是一个利用 @sharplygroup/xtb-api-js
库暴露XTB API的MCP服务器。它允许您通过模型上下文协议与您的XTB交易账户进行交互。
前置条件
- Node.js(版本16或更高)
- npm
- 一个XTB交易账户
安装
- 克隆此存储库:
git clone [repository_url] - 进入项目目录:
cd xtb-mcp-server - 安装依赖:
npm install
配置
- 在项目目录中创建
.env
文件并添加您的XTB API凭据:
DEMO_ACCOUNT=true
USER_ID=your_user_id
PASSWORD=your_password
注意: 将your_user_id
和your_password
替换为您的实际XTB API凭据。如果您使用的是真实账号,请将DEMO_ACCOUNT
设置为false
。
启动服务器
- 构建TypeScript代码:
npm run build - 启动服务器:
node build/index.js
使用MCP客户端连接
您可以使用任何MCP客户端(例如MCP Inspector)来连接此服务器。
- 全局安装MCP Inspector:
npm install -g @modelcontextprotocol/inspector - 使用您的服务器运行MCP Inspector:
npx @modelcontextprotocol/inspector node build/index.js - 在MCP Inspector界面中,选择“stdio”作为传输类型并单击“连接”。
可用工具
以下工具由这个MCP服务器提供:
账户操作
- getCurrentUserData: 返回有关账户货币和账户杠杆的信息。
- getMarginLevel: 返回各种账户指标。
计算操作
- getCommissionDef: 返回佣金和汇率计算。
- 参数:
symbol
(字符串),volume
(数字)
- 参数:
- getMarginTrade: 返回给定工具和成交量所需的预期保证金。
- 参数:
symbol
(字符串),volume
(数字)
- 参数:
- getProfitCalculation: 计算给定交易数据的预计利润。
- 参数:
closePrice
(数字),cmd
(数字),openPrice
(数字),symbol
(字符串),volume
(数字)
- 参数:
市场数据操作
- getCalendar: 返回带有市场事件的日历。
- getChartLastRequest: 返回从开始日期到当前时间的图表信息。
- 参数:
info
(任意类型)
- 参数:
- getChartRangeRequest: 返回带有给定起始日期和结束日期之间数据的图表信息。
- 参数:
info
(任意类型)
- 参数:
- getTickPrices: 返回给定符号集合的当前报价数组,只会返回自给定的时间戳以来发生变化的报价。
- 参数:
level
(数字),symbols
(字符串数组),timestamp
(数字)
- 参数:
- getTradingHours: 返回报价和交易时间。
- 参数:
symbols
(字符串数组)
- 参数:
新闻操作
- getNews: 返回在指定时间段内交易服务器发送的新闻。
- 参数:
end
(数字),start
(数字)
- 参数:
服务器操作
- getServerTime: 返回交易服务器的当前时间。
- getVersion: 返回当前API版本。
- ping: 定期调用此函数足以刷新系统中所有组件的内部状态。
符号操作
- getAllSymbols: 返回用户可用的所有符号数组。
- getSymbol: 返回关于用户可用符号的信息。
- 参数:
symbol
(字符串)
- 参数:
交易操作
- getTrades: 返回用户的交易数组。
- 参数:
openedOnly
(布尔值)
- 参数:
- getTradeRecords: 返回列出在
orders
参数中的交易数组。- 参数:
orders
(数字数组)
- 参数:
- getTradesHistory: 返回在指定时间段内关闭的用户的交易数组。
- 参数:
end
(数字),start
(数字)
- 参数:
- getTradeStatus: 返回当前交易状态。
- 参数:
order
(数字)
- 参数:
交易操作
- tradeTransaction: 开始一笔交易。
- 参数:
tradeTransInfo
(任意类型)
- 参数:
- tradeTransactionStatus: 返回当前交易状态。
- 参数:
order
(数字)
- 参数:
命令执行
- executeCommand: 在服务器上执行命令。
- 参数:
command
(字符串)
- 参数:
提示
以下提示可用:
- getAccountDataPrompt: 获取当前账户数据。
- getSymbolInfoPrompt: 获取有关特定符号的信息。
- 参数:
symbol
(字符串)
- 参数:
免责声明
此MCP服务器仅为示例提供,并应自行承担使用风险。请确保您了解XTB API及其潜在风险,然后再将此服务器与真实交易账户一起使用。