币安期货交易服务器

一个为币安USDⓈ-M期货交易提供AI助手交互功能的Model Context Protocol服务器,支持订单管理、账户监控和风险管理等14种交易工具。

  • by SamerElhamdo
  • JavaScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 SamerElhamdo/Binance-Futures-MCP-Server

使用说明

🚀 币安期货MCP服务器

Binance USD强大的模型上下文协议服务器Ⓢ-M期货交易

将Claude等人工智能助手无缝连接到币安期货交易

特性 • 安装 • 工具 • 配置 • 文档


由开发 萨默·艾哈姆多


📋 目录

🎯 概述

这 币安期货MCP服务器 是一个全面的模型上下文协议(MCP)服务器,使像Claude这样的人工智能助手能够与币安USD进行交互Ⓢ-M期货API。借助14个强大的交易工具,您可以通过对话式人工智能直接管理您的期货交易组合。

主要亮点

  • ✨ 14交易工具 -完整的期货交易功能
  • 🔒 安全 -HMAC SHA256签名认证
  • 🚀 快速 -优化API调用,正确处理错误
  • 📊 全面的 -订单管理、位置跟踪和账户监控
  • 🎨 易于使用 -配置简单,工具名称直观

✨ 特性

核心交易业务

  • 📝 订单管理:创建、修改、查询和取消订单
  • 💼 账户管理:查看余额、利润和头寸
  • 📈 位置控制:监控和管理空缺职位
  • ⚙️ 风险管理:调整杠杆、保证金类型和头寸模式

高性能

  • 🔄 订单修改:更新订单而不取消
  • 📊 交易历史:查看完整的交易历史记录
  • 🎛️ 设置管理:更改杠杆、头寸模式和保证金类型
  • 📋 综合查询:获取所有订单、未结订单和账户详细信息

📦 先决条件

在开始之前,请确保您已经:

需求 描述 链接
币安API密钥 启用期货交易的API密钥 获取API密钥
克劳德桌面 用于桌面AI助手 下载克劳德
光标 替代AI驱动的IDE 下载光标
Node.js 版本20或更高 下载Node.js

API密钥设置检查表

  • []创建Binance API密钥
  • []启用期货交易权限
  • []复制API密钥和密钥
  • [](可选)设置IP白名单限制
  • [](推荐)使用只读密钥进行测试

🚀 安装

快速入门(NPX)

npx -y binance-futures-mcp@latest

通过NPM安装

npm install -g binance-futures-mcp

通过Smithery安装

npx -y @smithery/cli install @smithery/binance-futures-mcp --client claude

⚙️ 配置

Claude桌面配置

macOS Instructions
# Create config file
touch "$HOME/Library/Application Support/Claude/claude_desktop_config.json"

# Open in editor
open -e "$HOME/Library/Application Support/Claude/claude_desktop_config.json"
# OR using VS Code
code "$HOME/Library/Application Support/Claude/claude_desktop_config.json"
Windows Instructions
# Open config file in VS Code
code %APPDATA%\Claude\claude_desktop_config.json

配置JSON

将此配置添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "binance-futures-mcp": {
      "command": "npx",
      "args": ["-y", "binance-futures-mcp@latest"],
      "env": {
        "BINANCE_API_KEY": "your-api-key-here",
        "BINANCE_SECRET_KEY": "your-secret-key-here"
      }
    }
  }
}

临床配置

# macOS
code ~/Library/Application\ Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json

# Windows
code %APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json

然后添加与上述相同的配置。

🛠️ 可用工具

📊 完整工具表

工具名称 类别 描述 方法
新订单 订单 创建新订单(限价、市价、止损等) POST
查询顺序 订单 查询特定订单的状态 GET
修改订单 订单 修改现有订单(价格/数量) PUT
取消订单 订单 取消特定订单 DELETE
取消所有订单 订单 取消某个交易品种的所有订单 DELETE
获取未结订单 订单 获取所有当前未结订单 GET
获取所有订单 订单 获取订单历史记录(所有状态) GET
获取帐户 账户 获取账户信息、余额、头寸 GET
获取位置 职位 获取职位详细信息 GET
获取交易历史记录 交易 获取已执行交易历史记录 GET
改变杠杆 设置 更改交易品种的杠杆率 POST
改变位置模式 设置 切换单向/对冲模式 POST
更改边距类型 设置 开关隔离/交叉边距 POST
修改头寸保证金 位置 调整孤立位置边距 POST

📝 详细工具说明

Order Management Tools

1. 新订单

创建具有各种类型和选项的新订单。

订单类型:

  • LIMIT -指定价格的限价订单
  • MARKET -当前价格的市价订单
  • STOP -止损限价单
  • STOP_MARKET -止损市价单
  • TAKE_PROFIT -止盈限价订单
  • TAKE_PROFIT_MARKET -获利了结市场订单
  • TRAILING_STOP_MARKET -尾随停止令

例子:

{
  "symbol": "BTCUSDT",
  "side": "BUY",
  "type": "LIMIT",
  "quantity": 0.01,
  "price": 50000,
  "timeInForce": "GTC"
}

2. 查询顺序

检查特定订单的状态。

参数:

  • symbol (必填)
  • orderId (可选)
  • origClientOrderId (可选)

3. 修改订单

修改现有订单而不取消。

参数:

  • symbol (必填)
  • side (必填)-买入或卖出
  • orderId 或 origClientOrderId (必填)
  • quantity (可选)-新数量
  • price (可选)-新价格

4. 取消订单

取消特定的待处理订单。

参数:

  • symbol (必填)
  • orderId 或 origClientOrderId (可选)

5. 取消所有订单

取消特定交易品种的所有未结订单。

参数:

  • symbol (必填)
Account & Position Tools

6. 获取帐户

获取全面的账户信息,包括余额、利润和头寸。

无需参数。

7. 获取位置

获取详细的职位信息。

参数:

  • symbol (可选)-如果未提供,则返回所有位置

8. 获取未结订单

列出所有当前未结订单。

参数:

  • symbol (可选)-如果未提供,则返回所有未结订单

9. 获取所有订单

获取完整的订单历史记录(已填写、已取消、待处理)。

参数:

  • symbol (必填)
  • orderId (可选)-返回订单>=orderId
  • startTime (可选)-开始时间(毫秒)
  • endTime (可选)-结束时间(毫秒)
  • limit (可选)-订单数量(默认值:500,最大值:1000)

10. 获取交易历史记录

获取包含详细信息的已执行交易历史记录。

参数:

  • symbol (必填)
  • startTime (可选)
  • endTime (可选)
  • fromId (可选)-从交易ID开始
  • limit (可选)-交易次数(默认值:500,最大值:1000)
Settings & Risk Management Tools

11. 改变杠杆

更改特定交易品种的杠杆。

参数:

  • symbol (必填)
  • leverage (必填)-杠杆水平(1-125,取决于交易品种)

例子:

{
  "symbol": "BTCUSDT",
  "leverage": 10
}

12. 改变位置模式

在单向模式和对冲模式之间切换。

参数:

  • dualSidePosition (必填)- "true" 对于对冲模式, "false" 单向模式

注: 对冲模式允许同时持有多头和空头头寸。

13. 更改边距类型

在交叉边距和隔离边距之间切换。

参数:

  • symbol (必填)
  • marginType (必填)- "ISOLATED" 或 "CROSSED"

注: 独立保证金将风险限制在特定头寸。

14. 修改头寸保证金

增加或减少孤立头寸的保证金。

参数:

  • symbol (必填)
  • amount (必填)-增加(正数)或减少(负数)的金额
  • type (必填)- 1 为了增加余量, 2 减少利润

例子:

{
  "symbol": "BTCUSDT",
  "amount": 100,
  "type": 1
}

💡 使用示例

配置后,您可以通过Claude与币安期货进行交互:

会话命令

"Check my Binance Futures account balance"
"Create a limit buy order for 0.01 BTCUSDT at $50,000"
"Show me all my open positions"
"Cancel all open orders for BTCUSDT"
"What's the status of order ID 12345?"
"Change leverage for BTCUSDT to 10x"
"Get my trade history for the last 24 hours"
"Modify order 12345 to new price $51,000"

示例工作流程

  1. 创建和监控订单:

    • 创建限制订单
    • 查询订单状态
    • 必要时进行修改
    • 监控执行情况
  2. 风险管理:

    • 检查账户余额
    • 查看空缺职位
    • 调整杠杆
    • 必要时修改边距
  3. 职位分析:

    • 获取所有职位
    • 查看交易历史记录
    • 分析PnL

🔒 安全考虑

⚠️ 重要安全准则 ⚠️

最佳实践

安全措施 描述 优先级
从不共享密钥 保持API密钥的私有性和安全性 🔴 关键
只读测试 使用只读密钥进行测试 🟡 高
限制权限 仅启用必要的权限 🟡 高
IP白名单 按IP地址限制API访问 🟢 推荐
无版本控制 从不将密钥提交给git 🔴 关键
环境变量 仅使用环境变量 🟡 高
定期轮换 定期旋转API密钥 🟢 推荐

安全检查列表

  • []API密钥仅存储在环境变量中
  • []密钥从未在日志或错误中公开
  • []用于测试的只读密钥
  • []已配置IP白名单(如果可用)
  • []最小化API密钥权限
  • [ ] .env 文件在 .gitignore
  • []密钥未提交到版本控制

💻 发展

从源安装

# Clone repository
git clone https://github.com/SamerElhamdo/Binance-Futures-MCP-Server.git
cd Binance-Futures-MCP-Server

# Install dependencies
npm install

# Build project
npm run build

# Run tests
npm test

项目结构

Binance-Futures-MCP-Server/
├── src/
│   └── index.ts          # Main server implementation
├── build/
│   └── index.js          # Compiled JavaScript
├── package.json           # Project configuration
├── tsconfig.json         # TypeScript configuration
└── README.md            # This file

可用脚本

脚本 描述
npm run build 将TypeScript编译为JavaScript
npm test 列出所有可用工具
npm run watch 开发观看模式
npm run inspector 运行MCP检查器

环境变量

创建一个 .env 项目根目录中的文件:

BINANCE_API_KEY=your-api-key-here
BINANCE_SECRET_KEY=your-secret-key-here

📚 API文档

此MCP服务器使用官方 币安美元Ⓢ-M期货API.

关键终点

端点 方法 描述
/fapi/v1/order POST 创建新订单
/fapi/v1/order PUT 修改订单
/fapi/v1/order GET 查询订单
/fapi/v1/order DELETE 取消订单
/fapi/v1/allOpenOrders DELETE 取消所有订单
/fapi/v1/openOrders GET 获取未结订单
/fapi/v1/allOrders GET 获取所有订单
/fapi/v1/userTrades GET 获取交易历史记录
/fapi/v2/account GET 获取帐户信息
/fapi/v2/positionRisk GET 获得头寸风险
/fapi/v1/leverage POST 改变杠杆率
/fapi/v1/positionSide/dual POST 更改位置模式
/fapi/v1/marginType POST 更改边距类型
/fapi/v1/positionMargin POST 修改仓位边距

错误处理

服务器提供来自Binance API的详细错误消息:

错误代码 描述 解决方案
-1022 无效签名 检查API密钥和时间戳
-1117 无效侧 确保侧为买入或卖出
-1102 缺少参数 检查所需参数
-2010 余额不足 确保账户余额充足
-4131 订单无效 检查订单参数

🤝 贡献

欢迎投稿!请随时提交拉取请求。

贡献指南

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/AmazingFeature)
  3. 提交您的更改(git commit -m 'Add some AmazingFeature')
  4. 推到分支(git push origin feature/AmazingFeature)
  5. 打开拉取请求

📄 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

🙏 致谢


⭐ 如果你觉得这个项目有用,请考虑给它一颗星! ⭐

由以下材料制成❤️ 通过 萨默·艾哈姆多

报告错误 • 请求功能 • npm包