使用说明
mcp联合期货
MCP服务器 币安USDT-M期货 贸易。公开市场数据、账户状态、订单管理和头寸/保证金控制的工具,旨在为LLM提供监控、放置和管理期货交易所需的一切。
工具
市场数据(公开,无身份验证)
| 工具 | 说明 |
|---|---|
ping |
测试API连接 |
get_ticker |
价格、24小时统计数据、标记价格、交易品种的融资率 |
get_order_book |
一个符号的前N个出价/要价 |
get_recent_trades |
最新公开交易 |
get_klines |
OHLCV烛台数据(1m→ 1w) |
get_symbol_info |
交易规则:报价单大小、手数大小、最小名义值、订单类型 |
账户(已签名)
| 工具 | 说明 |
|---|---|
get_balance |
钱包余额(仅限非零资产) |
get_positions |
具有PnL、杠杆、保证金类型的未平仓头寸——可选范围为一个交易品种 |
get_account_summary |
总余额、未实现净现值、保证金使用、未结头寸计数 |
订单(已签署)
| 工具 | 说明 |
|---|---|
place_order |
地点限制、市场、止损、STOP_MARKET、TAKE_PROFIT、TAKE_ROFIT_MARKET、TRAILING_STOP_MARKET |
modify_order |
更改未结限价订单的价格或数量 |
cancel_order |
按ID取消单个订单 |
cancel_all_orders |
取消某个交易品种的所有未结订单 |
get_open_orders |
列出某个交易品种的所有未结订单 |
get_order |
按ID获取特定订单 |
get_order_history |
最近订单历史(所有状态) |
get_trade_history |
符号的个人填充历史记录 |
岗位管理(签字)
| 工具 | 说明 |
|---|---|
set_leverage |
为交易品种设置杠杆倍数(1–125×) |
set_margin_type |
切换 ISOLATED 和 CROSSED 利润率 |
adjust_isolated_margin |
添加或删除孤立位置的边距 |
set_position_mode |
在单向和对冲模式之间切换 |
get_position_mode |
获取当前位置模式 |
get_leverage_brackets |
利用具有维护利润率的层级 |
设置
需求
- Python 3.11+
- 紫外线 (推荐)或pip
安装
# with uv (recommended)
uv sync
# or with pip
pip install -e .
API密钥
使用创建Binance API密钥 期货交易 启用。设置环境变量:
export BINANCE_API_KEY="your_api_key"
export BINANCE_API_SECRET="your_api_secret"
安全:在您的Binance API密钥上使用IP白名单。切勿将密钥提交给版本控制。
跑步
# stdio transport (default — for MCP clients like Claude Desktop)
python server.py
# or via the installed script
mcp-binance-futures
MCP客户端配置
克劳德桌面版
添加 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"binance-futures": {
"command": "python",
"args": ["/path/to/mcp-binance-futures/server.py"],
"env": {
"BINANCE_API_KEY": "your_api_key",
"BINANCE_API_SECRET": "your_api_secret"
}
}
}
}
带紫外线
{
"mcpServers": {
"binance-futures": {
"command": "uv",
"args": ["run", "--project", "/path/to/mcp-binance-futures", "mcp-binance-futures"],
"env": {
"BINANCE_API_KEY": "your_api_key",
"BINANCE_API_SECRET": "your_api_secret"
}
}
}
}
测试
# install dev dependencies
uv sync --extra dev
# run all tests
pytest
# run with output
pytest -v
测试使用 respx 模拟所有HTTP调用-不需要真正的API密钥或网络。
常见使用模式
建立止损多头头寸,获利了结
1. get_ticker(symbol="BTCUSDT") → check current price
2. get_balance() → check available margin
3. get_positions(symbol="BTCUSDT") → confirm no existing position
4. set_leverage(symbol="BTCUSDT", leverage=10)
5. set_margin_type(symbol="BTCUSDT", margin_type="ISOLATED")
6. place_order(symbol="BTCUSDT", side="BUY", order_type="MARKET", quantity=0.01)
7. place_order(symbol="BTCUSDT", side="SELL", order_type="STOP_MARKET",
stop_price=45000, close_position=True)
8. place_order(symbol="BTCUSDT", side="SELL", order_type="TAKE_PROFIT_MARKET",
stop_price=55000, close_position=True)
修改限价单
1. get_open_orders(symbol="BTCUSDT") → find the order ID
2. modify_order(symbol="BTCUSDT", order_id=123456, side="BUY",
quantity=0.01, price=48500)
紧急关闭所有
1. cancel_all_orders(symbol="BTCUSDT")
2. place_order(symbol="BTCUSDT", side="SELL", order_type="MARKET",
quantity=<position_size>, reduce_only=True)
建筑
server.py — FastMCP server, all tool definitions
client.py — Async HTTP client: signing, transport, error handling
tests/
test_client.py — Unit tests for BinanceClient (signing, HTTP, errors)
test_server.py — Integration tests for all MCP tools
客户端和服务器被有意地保存在单独的文件中: client.py 处理所有Binance API机制(HMAC签名、错误解析、HTTP谓词),同时 server.py 仅包含工具逻辑和MCP接线。这使得两者都可以独立测试。