一个强大的模型上下文协议(MCP)服务器,使AI代理能够无缝地与币安加密货币交易所进行交互。该服务器通过标准化的MCP接口提供全面的交易工具、市场数据访问和账户管理能力。
从PyPI安装官方包:
# 推荐:使用pip安装
pip install binance-mcp-server
# 替代方案:使用uv进行更快的包管理
uv add binance-mcp-server
💡 为什么使用PyPI包?
- ✅ 始终与最新发布保持同步
- ✅ 自动依赖管理
- ✅ 简单的安装和更新
- ✅ 不需要克隆仓库或管理源代码
设置您的币安API凭证作为环境变量:
# 必需:您的币安API凭证
export BINANCE_API_KEY="your_api_key_here"
export BINANCE_API_SECRET="your_api_secret_here"
# 推荐:开发和测试时使用testnet
export BINANCE_TESTNET="true"
# 启动MCP服务器(从PyPI安装后)
binance-mcp-server --api-key $BINANCE_API_KEY --api-secret $BINANCE_API_SECRET --binance-testnet
配置您的AI代理(Claude、GPT-4或自定义机器人)以连接到MCP服务器:
{
"mcpServers": {
"binance": {
"command": "binance-mcp-server",
"args": [
"--api-key", "your_api_key",
"--api-secret", "your_secret",
"--binance-testnet"
]
}
}
}
我们的MCP服务器提供了15种全面的交易工具,使AI代理能够执行加密货币交易操作。每个工具都遵循模型上下文协议标准,实现无缝集成。
| 工具 | 目的 |
|---|---|
get_balance | 获取所有资产的账户余额 |
get_account_snapshot | 账户状态快照(时间点) |
get_fee_info | 交易费用率(买卖双方佣金) |
get_available_assets | 列出所有可交易的加密货币和交易所信息 |
| 工具 | 目的 |
|---|---|
get_ticker_price | 获取交易符号的当前价格 |
get_ticker | 24小时价格变化统计数据 |
get_order_book | 获取交易符号的当前订单簿(买单/卖单) |
| 工具 | 目的 |
|---|---|
create_order | 创建买入/卖出订单(市价、限价等) |
get_orders | 获取特定符号的历史订单 |
| 工具 | 目的 |
|---|---|
get_pnl | 计算期货交易的利润和损失 |
get_position_info | 获取开放的期货仓位详情 |
| 工具 | 目的 |
|---|---|
get_deposit_address | 获取特定币种的存款地址 |
get_deposit_history | 获取特定币种的存款历史 |
get_withdraw_history | 获取特定币种的提款历史 |
| 工具 | 目的 |
|---|---|
get_liquidation_history | 获取过去的清算事件 |
| 变量 | 描述 | 是否必需 | 默认值 |
|---|---|---|---|
BINANCE_API_KEY | 您的币安API密钥 | ✅ | - |
BINANCE_API_SECRET | 您的币安API秘密 | ✅ | - |
BINANCE_TESTNET | 使用testnet环境 | ❌ | false |
📝 注意:此部分适用于希望修改源代码的贡献者和开发者。常规用户应按照上述说明从PyPI安装。
# 1. 克隆仓库
git clone https://github.com/AnalyticAce/binance-mcp-server.git
cd binance-mcp-server
# 2. 创建并激活虚拟环境
python -m venv venv
source venv/bin/activate # 在Windows上:venv\Scripts\activate
# 3. 安装开发依赖项(选择一种)
# 方案A:如果可用,使用uv
uv install --dev
# 方案B:使用pip
pip install -e .
pip install pytest # 用于测试
# 4. 设置预提交钩子(可选)
pip install pre-commit
pre-commit install --hook-type commit-msg
# 5. 运行测试以验证设置
pytest
# 6. 启动开发服务器
python -m binance_mcp_server.cli
# 运行所有测试
pytest
# 运行带有覆盖率报告的测试
pytest --cov=binance_mcp_server --cov-report=html
# 运行特定测试类别
pytest tests/test_tools/test_account.py -v
我们欢迎来自加密货币和AI开发社区的贡献!以下是您可以如何帮助:
查看我们的GitHub问题,了解最新的开发优先事项:
main创建一个特性分支💡 对于常规使用:大多数用户应通过
pip install binance-mcp-server安装,而不是克隆此仓库。
# 克隆您的分叉
git clone https://github.com/your-username/binance-mcp-server.git
cd binance-mcp-server
# 安装依赖项并设置环境(选择一种)
# 方案A:如果可用,使用uv
uv install --dev
# 方案B:使用pip
pip install -e .
pip install pytest pre-commit
# 安装预提交钩子(强制执行提交消息约定)
pre-commit install --hook-type commit-msg
# 使用常规格式进行更改并提交
git commit -m "feat(tools): 添加新的市场数据工具"
good first issue - 新手完美入门enhancement - 新功能和改进bug - 某些内容工作不正常documentation - 需要更新文档help wanted - 请求社区协助feat:,fix:等)由预提交钩子此服务器实现了全面的安全措施,遵循模型上下文协议的最佳实践:
# 使用环境变量存储敏感数据
export BINANCE_API_KEY="your_key_here"
export BINANCE_API_SECRET="your_secret_here"
# 开发时启用testnet
export BINANCE_TESTNET="true"
# 可选:配置安全功能
export MCP_RATE_LIMIT_ENABLED="true"
export MCP_MAX_REQUESTS_PER_MINUTE="60"
📖 阅读完整安全文档 - 全面的安全指南和最佳实践。
# 获取实时比特币价格
{
"name": "get_ticker_price",
"arguments": {
"symbol": "BTCUSDT"
}
}
# 获取以太坊的24小时价格统计数据
{
"name": "get_ticker",
"arguments": {
24小时价格统计数据
"symbol": "ETHUSDT"
}
}
# 检查以太坊的当前订单簿
{
"name": "get_order_book",
"arguments": {
"symbol": "ETHUSDT",
"limit": 10
}
}
# 检查账户余额
{
"name": "get_balance",
"arguments": {}
}
# 获取账户快照
{
"name": "get_account_snapshot",
"arguments": {
"account_type": "SPOT"
}
}
# 创建以太坊的限价买单
{
"name": "create_order",
"arguments": {
"symbol": "ETHUSDT",
"side": "BUY",
"order_type": "LIMIT",
"quantity": 0.1,
"price": 2000.00
}
}
# 获取特定符号的历史订单
{
"name": "get_orders",
"arguments": {
"symbol": "ETHUSDT"
}
}
# 计算利润和损失
{
"name": "get_pnl",
"arguments": {}
}
# 获取仓位信息
{
"name": "get_position_info",
"arguments": {}
}
本项目根据MIT许可证发布 - 查看LICENSE文件以获取详细信息。
创建问题时,请使用这些标签以帮助我们更快响应:
bug - 某些内容工作不正常enhancement - 功能请求question - 一般问题documentation - 文档改进good first issue - 新手完美入门重要通知:此软件仅供教育和开发用途。加密货币交易涉及财务损失的重大风险。
本项目根据MIT许可证发布 - 查看LICENSE文件以获取详细信息。
由加密货币开发社区用心打造
⚡ 由模型上下文协议驱动 ⚡
</div>