MCP Server for Binance Spot Trading

MCP Server for Binance Spot Trading

这个服务器为币安现货交易操作提供了一个强大的接口,包括安全管理 API 凭证、执行和管理现货订单,以及监控账户余额和未结订单。

金融
访问服务器

README

mcp-server-cex-bn

smithery badge

此 MCP 服务器提供与币安现货和期货交易操作的全面集成。

中文说明

功能

现货交易操作

  • 执行现货交易操作(限价/市价单)
  • 监控账户余额
  • 跟踪和管理未结订单
  • 取消现有订单

期货交易操作

  • 创建各种类型的期货订单(限价、市价、止损、止盈等)
  • 管理杠杆设置(1-125倍)
  • 监控期货持仓和账户信息
  • 跟踪资金费率
  • 支持单向和对冲模式持仓
  • 高级订单类型,包括追踪止损和只减仓订单

工具

API 配置

configure_api_keys

安全地存储您的币安 API 凭证:

await configureBinanceApiKeys({
  apiKey: 'your-api-key',
  apiSecret: 'your-api-secret'
});

现货交易工具

create_spot_order

创建限价或市价单:

// 限价单
await createSpotOrder({
  symbol: 'BTCUSDT',
  side: 'BUY',
  type: 'LIMIT',
  quantity: '0.001',
  price: '40000'
});

// 市价单
await createSpotOrder({
  symbol: 'BTCUSDT',
  side: 'BUY',
  type: 'MARKET',
  quantity: '0.001'
});
cancel_order

取消现有订单:

await cancelOrder({
  symbol: 'BTCUSDT',
  orderId: '12345678'
});
get_balances

检查您的账户余额:

const balances = await getBalances();
// 返回: { BTC: '0.1', USDT: '1000', ... }
get_open_orders

列出所有未结订单:

const orders = await getOpenOrders({
  symbol: 'BTCUSDT' // 可选:指定交易对
});

期货交易工具

create_futures_order

创建各种类型的期货订单:

// 限价单
await createFuturesOrder({
  symbol: 'BTCUSDT',
  side: 'BUY',
  type: 'LIMIT',
  quantity: '0.001',
  price: '40000',
  timeInForce: 'GTC'
});

// 止损市价单
await createFuturesOrder({
  symbol: 'BTCUSDT',
  side: 'SELL',
  type: 'STOP_MARKET',
  quantity: '0.001',
  stopPrice: '38000'
});

// 追踪止损单
await createFuturesOrder({
  symbol: 'BTCUSDT',
  side: 'SELL',
  type: 'TRAILING_STOP_MARKET',
  quantity: '0.001',
  callbackRate: '1.0' // 1% 回调率
});
set_futures_leverage

调整交易对的杠杆:

await setFuturesLeverage({
  symbol: 'BTCUSDT',
  leverage: 10  // 1-125倍
});
get_futures_positions

获取所有未结期货持仓:

const positions = await getFuturesPositions();
get_futures_account

获取详细的期货账户信息:

const account = await getFuturesAccount();
get_funding_rate

获取期货交易对的资金费率:

const fundingRate = await getFundingRate({
  symbol: 'BTCUSDT'
});
cancel_futures_order

取消现有期货订单:

await cancelFuturesOrder({
  symbol: 'BTCUSDT',
  orderId: '12345678'
});

期货交易详情

持仓模式

  • 单向模式:每个交易对只有一个持仓
    • 默认模式,更简单的持仓管理
    • 总持仓规模是所有订单的总和
  • 对冲模式:独立的多头和空头持仓
    • 允许同时持有多个和空头持仓
    • 每个持仓都有独立的保证金要求

保证金类型

  • 逐仓保证金:每个持仓的固定保证金
    • 风险仅限于分配的保证金
    • 每个持仓都有自己的杠杆设置
  • 全仓保证金:跨持仓共享保证金
    • 更高的资金效率
    • 跨所有持仓共享风险

资金费率

永续期货合约使用资金费率来保持期货价格与现货价格一致:

  • 正费率:多头支付空头
  • 负费率:空头支付多头
  • 每 8 小时支付一次

安全注意事项

现货交易安全

  • 永远不要将 API 密钥提交到版本控制
  • 使用环境变量或安全密钥存储
  • 将 API 密钥权限限制为仅所需的操作
  • 定期轮换您的 API 密钥

期货交易安全

  • 根据风险承受能力设置适当的杠杆限制
  • 始终使用止损单来限制潜在损失
  • 仔细监控清算价格
  • 定期检查持仓风险和保证金率
  • 考虑使用只减仓订单进行风险管理
  • 由于共享风险,请谨慎使用全仓保证金

速率限制

  • 遵守币安 API 速率限制
  • 默认速率限制:
    • 订单操作每分钟 1200 个请求
    • 市场数据每秒 100 个请求
  • 为速率限制错误实施适当的错误处理

错误处理

常见错误场景

  • 无效的 API 凭证
  • 余额或保证金不足
  • 无效的订单参数
  • 超过速率限制
  • 网络连接问题

期货特定错误

  • InsufficientMarginError:操作保证金不足
  • InvalidPositionModeError:错误的持仓模式设置
  • OrderValidationError:无效的期货订单参数

错误处理示例:

try {
  await createFuturesOrder({
    symbol: 'BTCUSDT',
    side: 'BUY',
    type: 'LIMIT',
    quantity: '0.001',
    price: '40000',
    timeInForce: 'GTC'
  });
} catch (error) {
  if (error instanceof InsufficientMarginError) {
    console.error('保证金不足');
  } else if (error instanceof InvalidPositionModeError) {
    console.error('无效的持仓模式');
  } else if (error instanceof OrderValidationError) {
    console.error('无效的订单参数');
  }
}

项目结构

.
├── src/
│   ├── index.ts                 # 服务器入口点
│   ├── services/
│   │   ├── binance.ts          # 币安 API 集成
│   │   ├── keystore.ts         # API 密钥管理
│   │   └── tools.ts            # 交易工具实现
│   └── types/
│       ├── binance.ts          # 币安类型
│       └── binance-connector.d.ts  # API 客户端类型
├── README.md
├── README_CN.md
├── package.json
├── pnpm-lock.yaml
└── tsconfig.json

开发

  1. 设置环境变量:

在根目录中创建 .env 文件,并设置您的币安 API 凭证:

BINANCE_API_KEY=your_api_key_here
BINANCE_API_SECRET=your_secret_key_here
  1. 安装依赖项:
pnpm install

构建服务器:

pnpm build

用于自动重建的开发:

pnpm watch

安装

通过 Smithery 安装

要通过 Smithery 为 Claude Desktop 自动安装 Binance Trading Server:

npx -y @smithery/cli install mcp-server-cex-bn --client claude

手动安装

  1. 克隆存储库
  2. 安装依赖项:
pnpm install
  1. .env 中配置您的币安 API 凭证
  2. 构建并启动服务器:
pnpm build
pnpm start

调试

由于 MCP 服务器通过 stdio 进行通信,因此调试可能具有挑战性。 我们建议使用 MCP Inspector,它作为包脚本提供:

pnpm inspector

Inspector 将提供一个 URL 以在您的浏览器中访问调试工具。

mcp-server-bn

推荐服务器

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
chromia-mcp

chromia-mcp

使人工智能能够与 Chromia 钱包交互,以发送 $CHR 交易。

官方
本地
TypeScript
TripleWhale MCP Server

TripleWhale MCP Server

一个模型上下文协议 (MCP) 的实现,允许用户通过 Claude Desktop 使用自然语言查询与 TripleWhale 的电子商务分析平台进行交互。

官方
本地
TypeScript
Adamik MCP Server

Adamik MCP Server

通过 Claude Desktop 实现与 60 多个区块链网络的读写交互,为交易管理、账户洞察、质押和代币交互提供标准化的多链 API。

官方
本地
TypeScript
Open-Ledger-MCP-Server

Open-Ledger-MCP-Server

一个用于 OpenLedger API 的模型上下文协议 (MCP) 服务器实现。该服务器根据 MCP 规范为 AI 模型提供结构化的上下文。

官方
TypeScript
ntropy-mcp MCP Server

ntropy-mcp MCP Server

启用使用 Ntropy API 丰富银行数据的功能,并提供高效创建账户持有人和丰富交易信息的工具。

官方
Python
Iaptic MCP Server

Iaptic MCP Server

一个用于与 Iaptic API 交互的服务器,允许像 Claude 这样的人工智能模型查询客户、购买和交易数据,并检索统计见解。

官方
TypeScript
Bitrefill Search and Shop

Bitrefill Search and Shop

这个 MCP 封装了 Bitrefill 的公共 API,允许代理使用比特币、以太坊、Solana 等加密货币搜索产品和购物。

官方
TypeScript
MCP EVM Signer

MCP EVM Signer

一个服务器,可以在本地安全地管理以太坊私钥,并使 Claude for Desktop 能够通过 Infura 与 EVM 兼容的区块链进行交互。

本地
TypeScript
Cryptocurrency Daemon MCP Server

Cryptocurrency Daemon MCP Server

通过人工智能助手实现与加密货币守护进程RPC接口的安全交互,支持基于比特币的加密货币的交易管理、钱包操作和守护进程监控。

本地
TypeScript