返回市场
MCP币aget交易服务器

MCP币aget交易服务器

作者:gagarinyury2 星标更新:2025-08-17

项目介绍

🚀 MCP 比特获取交易服务器

MCP TypeScript Bitget API License

MCP(模型上下文协议)服务器用于比特获取加密货币交易所。使AI助手能够通过Bitget API进行现货及期货交易。特性包括实时市场数据、订单管理、账户余额、杠杆控制和仓位跟踪。支持模拟交易模式下的纸币交易。

✨ 特性

📊 市场数据

  • 实时价格 - 获取任意交易对的当前市场价格
  • 完整行情板 - 包含24小时统计数据的完整行情信息
  • 订单簿 - 可配置深度级别的市场深度数据
  • 历史蜡烛图 - 技术分析用的OHLCV数据

💰 账户管理

  • 余额信息 - 所有资产的实时账户余额
  • 仓位跟踪 - 监控当前期货仓位
  • 保证金信息 - 期货保证金账户详情
  • 订单管理 - 查看并管理未完成订单

🎯 交易操作

  • 下单 - 执行市价单和限价单
  • 取消订单 - 根据ID取消现有订单
  • 杠杆控制 - 设置期货仓位的杠杆(1-125倍)
  • 模拟交易 - 完全支持纸币交易模式

⚡ 技术特性

  • TypeScript - 完整类型实现
  • v2 API 支持 - 最新的Bitget API集成
  • 速率限制 - 内置防止API限制的保护机制
  • 错误处理 - 全面的错误管理
  • Zod 验证 - 对所有参数进行输入验证

🛠️ 安装

先决条件

  • Node.js 18+
  • npm 或 yarn
  • Bitget API凭证(用于实盘/模拟交易)

快速开始

  1. 克隆仓库
git clone https://github.com/gagarinyury/MCP-bitget-trading.git
cd MCP-bitget-trading
  1. 安装依赖
npm install
  1. 配置环境
cp .env.example .env
# 使用你的Bitget API凭证编辑.env文件
  1. 构建项目
npm run build
  1. 启动服务器
npm start

🔧 配置

环境变量

在根目录创建一个.env文件:

# Bitget API配置
BITGET_API_KEY=your_api_key_here
BITGET_SECRET_KEY=your_secret_key_here
BITGET_PASSPHRASE=your_passphrase_here

# 环境设置
BITGET_SANDBOX=true  # 设置为true以启用模拟交易
BITGET_BASE_URL=https://api.bitget.com
BITGET_WS_URL=wss://wspap.bitget.com/v2/ws/public

# 可选设置
LOG_LEVEL=info
RATE_LIMIT_REQUESTS_PER_SECOND=1

Claude Desktop 集成

添加到你的Claude Desktop MCP设置中(~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "bitget-trading": {
      "command": "node",
      "args": ["/path/to/MCP-bitget-trading/dist/server.js"],
      "env": {
        "BITGET_API_KEY": "your_key",
        "BITGET_SECRET_KEY": "your_secret",
        "BITGET_PASSPHRASE": "your_passphrase",
        "BITGET_SANDBOX": "true"
      }
    }
  }
}

📚 可用工具

市场数据工具

工具描述参数
getPrice获取当前价格symbol: string
getTicker获取完整行情信息symbol: string
getOrderBook获取订单簿symbol: string, depth?: number
getCandles获取OHLCV数据symbol: string, interval: string, limit?: number

账户工具

工具描述参数
getBalance获取账户余额asset?: string
getPositions获取期货仓位symbol?: string
getMarginInfo获取保证金信息symbol?: string
getOrders获取未完成订单symbol?: string, status?: string

交易工具

工具描述参数
placeOrder下新订单symbol, side, type, quantity, price?
cancelOrder取消订单orderId: string, symbol: string
setLeverage设置杠杆symbol: string, leverage: number

🎮 使用示例

基本价格检查

// 获取当前比特币价格
await getPrice({ symbol: "BTCUSDT" })

// 获取期货价格
await getPrice({ symbol: "BTCUSDT_UMCBL" })

交易操作

// 下限价买单
await placeOrder({
  symbol: "BTCUSDT",
  side: "buy",
  type: "limit",
  quantity: "0.001",
  price: "50000"
})

// 设置期货杠杆
await setLeverage({
  symbol: "BTCUSDT_UMCBL",
  leverage: 10
})

账户信息

// 检查余额
await getBalance({ asset: "USDT" })

// 获取所有仓位
await getPositions({})

🏗️ 开发

脚本

npm run dev      # 开发模式,带热重载
npm run build    # 生产构建
npm run test     # 运行测试
npm run lint     # 代码检查
npm run format   # 代码格式化

项目结构

src/
├── api/
│   └── rest-client.ts    # Bitget REST API客户端
├── types/
│   ├── bitget.ts         # Bitget API类型定义
│   └── mcp.ts           # MCP模式定义
└── server.ts            # 主MCP服务器

📋 符号格式

现货交易

  • 格式:BTCUSDT, ETHUSDT, ADAUSDT
  • 不需要后缀

期货交易

  • 格式:BTCUSDT_UMCBL, ETHUSDT_UMCBL
  • _UMCBL后缀用于USDT保证金合约

🔒 安全

  • API密钥:存储在环境变量中,切勿提交到代码库
  • 模拟模式:使用BITGET_SANDBOX=true启用纸币交易
  • 速率限制:内置保护机制(默认每秒10次请求)
  • 验证:所有输入均使用Zod模式进行验证

🐛 故障排除

常见问题

  1. 错误40009 - 签名错误

    • 检查API密钥配置
    • 确保时间戳同步
  2. 错误40099 - 交易所环境不正确

    • 验证模拟/实盘模式设置
    • 检查模拟模式的paptrading
  3. 错误400172 - 参数验证失败

    • 检查所需参数
    • 验证符号格式

🤝 贡献

  1. 分叉仓库
  2. 创建功能分支(git checkout -b feature/amazing-feature
  3. 提交更改(git commit -m '添加精彩功能'
  4. 推送到分支(git push origin feature/amazing-feature
  5. 打开拉取请求

📄 许可

MIT许可 - 详情见LICENSE文件

⚠️ 免责声明

此软件仅供教育和开发用途。自行承担风险。始终在模拟模式下测试后再进行实盘交易。作者不对任何财务损失负责。

🔗 资源

📞 支持


为加密货币交易社区制作,充满爱心