使用说明
🚀 币安MCP服务器
Binance的全面模型上下文协议(MCP)服务器,通过Claude等人工智能助手提供对您的交易账户、投资组合数据、市场信息等的只读访问。
✨ 特性
此MCP服务器提供 20+只读工具 跨越多个类别:
📢 公开市场数据
fetch_latest_announcements-获取最新的币安公告get_ticker_price-任何或所有交易品种的当前价格get_24hr_ticker-24小时统计(价格变动、交易量、高/低)
💼 现货账户
get_account_info-账户余额、权限和佣金率get_spot_open_orders-所有未平仓订单get_spot_trade_history-任何交易品种的最近交易历史
🎯 百万美元期货
get_futures_account_balance-期货钱包余额和活跃头寸get_futures_open_orders-所有未平仓期货订单get_futures_income_history-已实现的PnL、融资费用、佣金
🔄 保证金交易
get_margin_account-交叉保证金账户详细信息和余额get_isolated_margin_account-独立的保证金头寸和保证金水平
📊 投资组合概述
get_asset_distribution-所有账户的完整投资组合快照
💰 存款和取款
get_deposit_address-获取任何硬币/网络的存款地址get_deposit_history-查看存款交易历史记录get_withdraw_history-查看提款交易历史记录
⚡ 快速开始
# 1. Clone and install
git clone <your-repo-url>
cd binance-mcp
uv sync
# 2. Configure API keys
cp .env.example .env
# Edit .env with your Binance API keys
# 3. Test it locally with inspector UI
uv run fastmcp dev main.py
# 4. Add to Claude Desktop config (see Integration section below)
🔧 安装
先决条件
- Python 3.11或更高版本
- 具有API访问权限的Binance帐户
- 紫外线 (推荐)或pip
步骤1:克隆并安装依赖项
# Clone the repository
git clone <your-repo-url>
cd binance-mcp
# Install dependencies with uv (recommended)
uv sync
# Or with pip
pip install -e .
步骤2:创建Binance API密钥
- 登录到 币安
- 首选 个人资料→ API管理
- 创建新的API密钥
- 重要提示: 仅启用“启用读取”权限(只读)
- 安全保存API密钥和密钥
步骤3:配置环境变量
创建一个 .env 项目根目录中的文件:
cp .env.example .env
编辑 .env 并添加您的API凭据:
BINANCE_API_KEY=your_api_key_here
BINANCE_API_SECRET=your_api_secret_here
BINANCE_ENVIRONMENT=production
注: 永远不要承诺你的
.env文件到版本控制。它已经在里面了.gitignore.
🎯 用法
本地运行
方法1:使用FastMCP(推荐)
# Development mode with auto-reload and inspector UI
uv run fastmcp dev main.py
# Production mode
uv run fastmcp run main.py
开发模式 提供:
- 🔄 文件更改时自动重新加载
- 🌐 Web检查器UI位于http://localhost:5173
- 📊 实时工具测试和调试
方法2:直接使用Python
# Activate virtual environment (if using uv)
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Run the MCP server
python main.py
与Claude Desktop集成
将此添加到您的Claude Desktop配置文件中:
在macOS上: ~/Library/Application Support/Claude/claude_desktop_config.json
在Windows上: %APPDATA%\Claude\claude_desktop_config.json
方法1:使用带有紫外线的FastMCP(推荐)
{
"mcpServers": {
"binance": {
"command": "uv",
"args": [
"--directory",
"C:/Users/YourUsername/Documents/code/MCP/binance-mcp",
"run",
"fastmcp",
"run",
"main.py"
]
}
}
}
注: 确保
.env文件在项目目录中。这uv run fastmcp run命令将自动处理依赖关系和环境设置。
方法2:直接使用Python
{
"mcpServers": {
"binance": {
"command": "python",
"args": [
"C:/Users/YourUsername/Documents/code/MCP/binance-mcp/main.py"
],
"env": {
"BINANCE_API_KEY": "your_api_key_here",
"BINANCE_API_SECRET": "your_api_secret_here",
"BINANCE_ENVIRONMENT": "production"
}
}
}
}
方法3:使用UV而不使用FastMCP
{
"mcpServers": {
"binance": {
"command": "uv",
"args": [
"--directory",
"C:/Users/YourUsername/Documents/code/MCP/binance-mcp",
"run",
"python",
"main.py"
]
}
}
}
重新启动克劳德桌面
更新配置后,完全退出并重新启动Claude Desktop以使更改生效。
🧪 测试服务器
在与Claude Desktop集成之前,您可以在本地测试服务器:
# Start development server with inspector UI
uv run fastmcp dev main.py
这将:
- 启动MCP服务器
- 打开web检查器
http://localhost:5173 - 允许您以交互方式测试所有工具
- 更改代码时自动重新加载
检查器功能:
- 📋 列出所有可用工具
- 🔧 具有自定义参数的测试工具
- 📊 查看实时请求/响应数据
- 🐛 部署到Claude之前调试问题
📖 查询示例
一旦与Claude集成,您可以问:
- “我目前在所有账户中的投资组合是什么?”
- “显示我的期货未结订单”
- “BTCUSD的当前价格是多少?”
- “获取我的ETHUDT现货交易历史记录”
- “显示我最近的未来PnL”
- “币安最新的公告是什么?”
- “检查我的保证金账户状态”
- “显示我最近20笔交易的存款历史记录”
🔒 安全最佳实践
- 只读密钥: 仅对API密钥启用“启用读取”权限
- 从不分享: 保持API密钥的私有性,永远不要将它们提交给版本控制
- IP白名单: 考虑限制API密钥访问Binance设置中的特定IP地址
- 定期轮换: 定期轮换API密钥以增强安全性
- 监视器使用情况: 定期检查您在币安的API密钥使用情况
🌐 测试网支持
要使用币安测试网进行测试:
- 在创建测试网API密钥 币安测试网
- 集
BINANCE_ENVIRONMENT=testnet在你的.env文件
🛠️ 发展
项目结构
binance-mcp/
├── main.py # Main MCP server with all tools
├── pyproject.toml # Project dependencies
├── .env # Your API credentials (not committed)
├── .env.example # Example environment file
├── .gitignore # Git ignore rules
├── LICENSE # MIT License
└── README.md # This file
开发流程
# 1. Install dependencies
uv sync
# 2. Create .env file with your API keys
cp .env.example .env
# Edit .env with your actual keys
# 3. Start development server
uv run fastmcp dev main.py
# 4. Open the inspector UI (opens automatically)
# http://localhost:5173
# 5. Make changes to main.py - server auto-reloads!
有用的命令
# Development mode (with inspector & auto-reload)
uv run fastmcp dev main.py
# Production mode (for Claude Desktop)
uv run fastmcp run main.py
# Install new dependencies
uv add package-name
# Update dependencies
uv sync
# Run linting (if configured)
uv run ruff check main.py
添加新工具
要添加新工具,请使用 @mcp.tool() 装饰师:
@mcp.tool()
async def your_new_tool(param: str) -> str:
"""
Description of your tool.
Args:
param: Description of parameter
Returns:
Markdown formatted result
"""
# Your implementation
return "Result in Markdown format"
添加工具后:
- 开发服务器将自动重新加载
- 在检查器UI中进行测试
- 重新启动Claude Desktop以在那里使用它
📝 API费率限制
币安对API请求有速率限制:
- 地点: 每分钟1200个请求
- 期货: 每分钟2400个请求
- 其他端点: 因端点而异
此服务器遵守这些限制。避免在短时间内提出过多的要求。
此服务器是只读的,无法执行交易、转账或提款。
🤝 贡献
欢迎投稿!请随时提交拉取请求。
- 复刻仓库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
MIT许可证摘要:
- ✅ 商业用途
- ✅ 修改
- ✅ 分布
- ✅ 私人使用
- ⚠️ 无责任
- ⚠️ 无担保
🆘 故障排除
“未配置API密钥”错误
- 确保您的
.env文件存在并且包含有效的API凭据 - 检查环境变量是否正确加载
“签名验证失败”错误
- 验证您的API机密是否正确
- 确保系统时钟同步(Binance API需要准确的时间)
“权限被拒绝”错误
- 确认API密钥已启用“启用读取”权限
- 某些端点可能需要额外的权限
连接错误
- 检查您的互联网连接
- 验证您是否位于限制性防火墙之后
- 尝试使用测试网隔离问题
📞 支持
对于问题和疑问:
- 检查 币安API文档
- 查看此存储库中已关闭的问题
- 打开一个新问题,详细说明您的问题
交易愉快! 📈