Provides integration with Binance for spot and futures trading, allowing users to place and cancel orders, query account balances and positions, and retrieve market data including order books and tickers.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Trade MCP ServerShow me the RSI for BTC/USDT and the latest news for Bitcoin."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Trade MCP Server
基于 CCXT 和 Finnhub 的 MCP(Model Context Protocol)服务器,提供投资标的新闻、技术面数据和 Binance 交易功能。
功能特性
📰 新闻获取 - 通过 Finnhub 获取股票和加密货币的实时新闻
📊 技术分析 - 使用 TA-Lib 计算多种技术指标(RSI, MACD, MA, BB, ATR 等)
💱 Binance 交易 - 支持现货交易下单、撤单、查询余额和持仓
📈 市场数据 - 获取订单簿、行情、K 线等市场数据
🔌 MCP 协议 - 标准化的 MCP 接口,易于与 AI 助手集成
快速开始
1. 创建虚拟环境
Windows
# 创建虚拟环境
python -m venv venv
# 激活虚拟环境
.\venv\Scripts\Activate.ps1macOS / Linux
# 创建虚拟环境
python3 -m venv venv
# 激活虚拟环境
source venv/bin/activate2. 安装依赖
pip install -r requirements.txt3. 配置 API 密钥
复制环境变量模板文件:
cp .env.example .env编辑 .env 文件,填入您的 API 密钥:
# Finnhub API Key (获取:https://finnhub.io/dashboard)
FINNHUB_API_KEY=your_finnhub_api_key_here
# Binance API Key (获取:https://www.binance.com/en/my/settings/api-management)
BINANCE_API_KEY=your_binance_api_key_here
BINANCE_API_SECRET=your_binance_api_secret_here
# Binance 交易选项
BINANCE_TESTNET=false # 是否使用 Testnet(需要单独的 API Key): true/false
BINANCE_FUTURES=false # 是否使用合约交易:true=合约,false=现货
# MCP 服务器配置
MCP_SERVER_HOST=127.0.0.1
MCP_SERVER_PORT=8000
# 日志级别
LOG_LEVEL=INFO4. 检查配置
# 检查配置状态
python -m src.cli --check-config5. 启动 MCP 服务器
# 启动服务器
python -m src.cliMCP 工具列表
数据查询工具
1. news - 获取新闻
获取指定标的的新闻信息。
参数:
symbol(必需): 股票代码或加密货币符号(如 AAPL, BTCUSD)limit(可选): 返回新闻数量限制,默认 10
示例:
{
"name": "news",
"arguments": {
"symbol": "AAPL",
"limit": 5
}
}2. technical_analysis - 技术指标
获取技术指标数据(MACD、RSI 等)。
参数:
symbol(必需): 股票代码或加密货币符号resolution(可选): K 线周期 (D=日,W=周,M=月),默认 D
示例:
{
"name": "technical_analysis",
"arguments": {
"symbol": "TSLA",
"resolution": "D"
}
}交易工具
3. place_order - 下单交易
在 Binance 下单交易。
参数:
symbol(必需): 交易对(如 BTC/USDT)order_type(必需): 订单类型 (market, limit)side(必需): 买卖方向 (buy, sell)amount(必需): 交易数量price(可选): 价格(限价订单必需)
示例:
{
"name": "place_order",
"arguments": {
"symbol": "BTC/USDT",
"order_type": "market",
"side": "buy",
"amount": 0.001
}
}4. cancel_order - 取消订单
取消 Binance 订单。
参数:
order_id(必需): 订单 IDsymbol(必需): 交易对
示例:
{
"name": "cancel_order",
"arguments": {
"order_id": "12345678",
"symbol": "BTC/USDT"
}
}5. get_balance - 查询余额
查询 Binance 账户余额。
参数: 无
示例:
{
"name": "get_balance",
"arguments": {}
}6. get_positions - 查询持仓
查询 Binance 持仓信息。
参数:
symbol(可选): 指定交易对
示例:
{
"name": "get_positions",
"arguments": {
"symbol": "BTC/USDT"
}
}7. get_orderbook - 订单簿
获取 Binance 订单簿数据。
参数:
symbol(必需): 交易对limit(可选): 深度限制,默认 20
示例:
{
"name": "get_orderbook",
"arguments": {
"symbol": "BTC/USDT",
"limit": 20
}
}8. get_tickers - 行情数据
获取 Binance 行情数据。
参数:
symbols(可选): 指定交易对列表
示例:
{
"name": "get_tickers",
"arguments": {
"symbols": ["BTC/USDT", "ETH/USDT"]
}
}与 AI 助手集成
Claude Desktop 配置
方法 1:使用虚拟环境(推荐)
Windows:
{
"mcpServers": {
"trade-mcp": {
"command": "C:\\Projects\\trade-mcp\\venv\\Scripts\\python.exe",
"args": ["-m", "src.cli"],
"cwd": "C:\\Projects\\trade-mcp",
"env": {
"FINNHUB_API_KEY": "your_finnhub_api_key",
"BINANCE_API_KEY": "your_binance_api_key",
"BINANCE_API_SECRET": "your_binance_api_secret",
"BINANCE_TESTNET": "true",
"BINANCE_FUTURES": "false"
}
}
}
}macOS / Linux:
{
"mcpServers": {
"trade-mcp": {
"command": "/path/to/trade-mcp/venv/bin/python",
"args": ["-m", "src.cli"],
"cwd": "/path/to/trade-mcp",
"env": {
"FINNHUB_API_KEY": "your_finnhub_api_key",
"BINANCE_API_KEY": "your_binance_api_key",
"BINANCE_API_SECRET": "your_binance_api_secret",
"BINANCE_TESTNET": "true",
"BINANCE_FUTURES": "false"
}
}
}
}方法 2:使用系统 Python
如果您已在全局环境安装了依赖:
{
"mcpServers": {
"trade-mcp": {
"command": "python",
"args": ["-m", "src.cli"],
"cwd": "C:\\Projects\\trade-mcp",
"env": {
"FINNHUB_API_KEY": "your_finnhub_api_key",
"BINANCE_API_KEY": "your_binance_api_key",
"BINANCE_API_SECRET": "your_binance_api_secret",
"BINANCE_TESTNET": "true",
"BINANCE_FUTURES": "false"
}
}
}
}配置文件位置:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonLinux:
~/.config/claude/claude_desktop_config.json
提示: 项目提供了示例配置文件 claude_desktop_config.example.json,您可以复制并根据实际情况修改。
使用示例
配置完成后,您可以在与 Claude 的对话中直接使用:
"获取 Apple 的最新新闻"
"查看 BTC/USDT 的技术指标"
"查询我的 Binance 余额"
"以市价买入 0.001 BTC"
项目结构
trade-mcp/
├── src/
│ ├── __init__.py
│ ├── cli.py # CLI 入口
│ ├── server.py # MCP 服务器主程序
│ ├── config/
│ │ ├── __init__.py
│ │ └── settings.py # 配置管理
│ └── services/
│ ├── __init__.py
│ ├── finnhub_service.py # Finnhub 数据服务
│ └── ccxt_service.py # CCXT 交易服务
├── .env.example # 环境变量模板
├── .gitignore
├── requirements.txt # Python 依赖
└── README.md获取 API 密钥
Finnhub API Key
Binance API Key
Binance Demo Trading(模拟交易)
Binance 提供 Demo Trading 功能用于开发和测试(CCXT v4.5.6+ 支持):
申请 Demo Trading API Key:
创建新的 API Key
启用现货交易和/或期货交易权限
在
.env文件中设置BINANCE_DEMO=true
优势:
支持现货和合约交易
使用模拟资金,安全无风险
不受地区限制
支持所有 API 端点
注意:
Demo Trading 需要专用的 API Key,与正式网络和旧 Testnet 的 API Key 不通用
需要在 Binance 官网重新申请 Demo Trading 专用的 API Key
现货 vs 合约交易
通过 BINANCE_FUTURES 参数控制交易类型:
现货交易 (
BINANCE_FUTURES=false):交易实际的加密货币资产
无杠杆或低杠杆
风险相对较低
合约交易 (
BINANCE_FUTURES=true):交易期货合约
支持高杠杆(最高 125x)
可以做多或做空
风险较高,适合有经验的用户
注意: 合约交易需要额外的期货交易权限,请确保您的 API Key 已启用该权限。
技术指标计算
本项目使用 TA-Lib 库计算多种技术指标,支持以下指标:
移动平均线:
SMA (Simple Moving Average) - 简单移动平均
EMA (Exponential Moving Average) - 指数移动平均
动量指标:
RSI (Relative Strength Index) - 相对强弱指标
MACD (Moving Average Convergence Divergence) - 指数平滑异同移动平均线
MOM (Momentum) - 动量指标
Stochastic - 随机指标
波动率指标:
BB (Bollinger Bands) - 布林带
ATR (Average True Range) - 平均真实波幅
成交量指标:
OBV (On Balance Volume) - 能量潮指标
其他指标:
CCI (Commodity Channel Index) - 商品通道指标
Williams %R - 威廉指标
使用方法:
# 通过 MCP 工具调用
technical_analysis(symbol="BTC/USDT", timeframe="1d", limit=100)参数说明:
symbol: 交易对符号(如 BTC/USDT)timeframe: K 线周期(1m, 5m, 15m, 1h, 4h, 1d, 1w)limit: K 线数量(建议 50-500)
安全提示
⚠️ 重要安全注意事项:
永远不要将
.env文件提交到版本控制系统定期更换 API 密钥
为 API Key 设置适当的权限限制(如 IP 白名单)
不要与任何人分享您的 API 密钥
故障排除
常见问题
1. 模块导入错误
# 确保已激活虚拟环境
# Windows
.\venv\Scripts\Activate.ps1
# macOS/Linux
source venv/bin/activate
# 重新安装依赖
pip install -r requirements.txt2. API 未配置错误
# 检查 .env 文件是否存在
# 运行配置检查
python -m src.cli --check-config3. Binance 连接失败
检查 API Key 是否正确
确认 API Key 已启用现货交易权限
检查网络连接
开发
添加新功能
在
src/services/目录创建新的服务模块在
src/server.py中注册新的 MCP 工具更新本文档
测试
# 安装测试依赖
pip install pytest
# 运行测试
pytest许可证
MIT License
贡献
欢迎提交 Issue 和 Pull Request!
支持
如有问题,请提交 Issue 或联系开发者。