RevolutX MCP 服务器
模型上下文协议(MCP)服务器 Revolut X加密交换REST API该服务器提供了一套全面的工具,允许AI代理与Revolut X交易所进行交互——下单、获取市场数据、管理头寸等。
所有私有API请求都使用进行身份验证 Ed25519请求签名 (X-Revx-Signature),遵循官方的Revolut X身份验证协议。
______________________________________________________________________
特性
订单
| 工具 | 描述 | 身份验证 |
|---|---|---|
place_order | 下达新的限价单或市价单 | ✅ 私人 |
cancel_order | 按ID取消活动订单 | ✅ 私人 |
cancel_all_orders | 取消所有活动订单 | ✅ 私人 |
get_order | 按ID获取特定订单的详细信息 | ✅ 私人 |
get_active_orders | 使用过滤器(符号、状态、类型、侧面)获取活动订单 | ✅ 私人 |
get_historical_orders | 获取具有日期范围和分页的历史订单 | ✅ 私人 |
get_order_fills | 获取特定订单的成交信息 | ✅ 私人 |
交易
| 工具 | 描述 | 身份验证 |
|---|---|---|
get_all_trades | 获取某个交易品种的所有公开交易(市场历史) | ✅ 私人 |
get_private_trades | 获取经过身份验证的客户交易历史记录 | ✅ 私人 |
市场数据
| 工具 | 描述 | 身份验证 |
|---|---|---|
get_order_book_snapshot | 交易对的已验证订单簿快照 | ✅ 私人 |
get_candles | 具有可配置间隔的历史OHLCV蜡烛数据 | ✅ 私人 |
get_tickers | 所有货币对的最新买入价/卖出价/中间价/最后价 | ✅ 私人 |
公开市场数据
| 工具 | 描述 | 身份验证 |
|---|---|---|
get_last_trades | 交易所最近100笔交易🌐 公众 | |
get_order_book | 公共订单簿(最多5个价格级别) | 🌐 公众 |
配置
| 工具 | 描述 | 身份验证 |
|---|---|---|
get_currencies | 所有支持的货币及其配置 | ✅ 私人 |
get_pairs | 所有交易货币对及其配置 | ✅ 私人 |
平衡
| 工具 | 描述 | 身份验证 |
|---|---|---|
get_balances | 已验证用户的帐户余额 | ✅ 私人 |
______________________________________________________________________
提示
| 提示 | 描述 |
|---|---|
analyze-market | 分析特定交易对的市场状况 |
create-ladder-strategy | 生成多个订单的阶梯式交易策略 |
portfolio-summary | 根据余额和价格分析当前投资组合价值 |
risk-assessment | 全面的投资组合风险分析 |
order-management | 审查和管理活动订单并提出建议 |
market-comparison | 比较多个交易对的条件 |
price-alert-setup | 设置带有目标警报的价格监控策略 |
______________________________________________________________________
先决条件
- Node.js >= 18
- npm
- A. Revolut X API密钥 (从Revolut X网络应用程序获取)
- 一 Ed25519私钥 (用于请求签名)
安装
- 克隆存储库:
git clone https://github.com/Bilel-Eljaamii/revolutx-mcp.git
cd revolutx-mcp- 安装依赖项:
npm install配置
- 复制示例环境文件:
cp .env.example .env- 编辑
.env并配置这两个必需的变量:
# Your Revolut X API Key (64-character alphanumeric string)
REVOLUTX_API_KEY=your_api_key_here
# Your Ed25519 Private Key for request signing
REVOLUTX_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----
your_base64_private_key_here
-----END PRIVATE KEY-----"注: 两者REVOLUTX_API_KEY和REVOLUTX_PRIVATE_KEY所有私有端点都需要。公共端点(get_last_trades,get_order_book)无需身份验证即可工作。
生成Ed25519密钥对
openssl genpkey -algorithm Ed25519 -out private.pem
openssl pkey -in private.pem -pubout -out public.pem上传 公钥 转到您的Revolut X帐户设置,并设置以下内容 private.pem 作为 REVOLUTX_PRIVATE_KEY 在你的 .env 文件。
______________________________________________________________________
脚本
| 命令 | 描述 |
|---|---|
npm run build | 将TypeScript编译为JavaScript |
npm run dev | 构建并运行服务器 |
npm start | 运行已编译的服务器 |
npm run typecheck | 不发送文件的类型检查 |
npm run lint | 在源文件上运行ESLint |
npm run lint:fix | 运行ESLint并自动修复 |
npm run format | 使用Prettier格式化源文件 |
npm run format:check | 无需书写即可检查格式 |
npm run clean | 删除 dist/ 目录 |
npm run rebuild | 清理和重建 |
npm test | 使用Jest运行测试 |
______________________________________________________________________
用法
构建与运行
npm run build
npm start或者,只需一步:
npm run devMCP客户端配置
要将此服务器与MCP客户端(例如,Claude Desktop、Cursor)一起使用,请在MCP客户端配置中添加以下内容:
{
"mcpServers": {
"revolutx": {
"command": "node",
"args": ["/path/to/revolutx-mcp/dist/index.js"],
"env": {
"REVOLUTX_API_KEY": "your_api_key_here",
"REVOLUTX_PRIVATE_KEY": "-----BEGIN PRIVATE KEY-----\nyour_base64_key\n-----END PRIVATE KEY-----"
}
}
}
}*替换 /path/to/revolutx-mcp 带有项目目录的绝对路径。*
______________________________________________________________________
建筑
src/
├── index.ts # MCP server entry point
├── utils.ts # Auth (Ed25519 signing), error handling
├── tools/
│ ├── balance/
│ │ └── get_balances.ts
│ ├── configuration/
│ │ ├── get_currencies.ts
│ │ └── get_pairs.ts
│ ├── orders/
│ │ ├── place_order.ts
│ │ ├── cancel_order_by_id.ts
│ │ ├── cancel_all_orders.ts
│ │ ├── get_order_by_id.ts
│ │ ├── get_active_orders.ts
│ │ ├── get_historical_orders.ts
│ │ └── get_order_fills.ts
│ ├── trades/
│ │ ├── get_all_trades.ts
│ │ └── get_private_trades.ts
│ ├── market_data/
│ │ ├── get_order_book_snapshot.ts
│ │ ├── get_candles.ts
│ │ └── get_tickers.ts
│ └── public_market_data/
│ ├── get_last_trades.ts
│ └── get_order_book.ts
├── resources/
│ └── index.ts
└── prompts/
└── index.ts身份验证流程
所有API私有请求都遵循Revolut X Ed25519签名协议:
- 生成时间戳(
Date.now()) - 连接:
timestamp + HTTP_METHOD + path + query + body - 签署
crypto.sign(null, message, privateKey)(纯Ed25519) - 附加标题:
X-Revx-API-Key,X-Revx-Timestamp,X-Revx-Signature
______________________________________________________________________
API 参考
此服务器实现了完整 Revolut X加密交换REST API:
______________________________________________________________________
许可证
国际学生中心
