loading…
Search for a command to run...
loading…
Provides real-time investment news, technical analysis via TA-Lib, and Binance trading capabilities including order management and market data retrieval. It ena
Provides real-time investment news, technical analysis via TA-Lib, and Binance trading capabilities including order management and market data retrieval. It enables AI assistants to perform financial market research and execute trades through the Model Context Protocol.
基于 CCXT 和 Finnhub 的 MCP(Model Context Protocol)服务器,提供投资标的新闻、技术面数据和 Binance 交易功能。
# 创建虚拟环境
python -m venv venv
# 激活虚拟环境
.\venv\Scripts\Activate.ps1
# 创建虚拟环境
python3 -m venv venv
# 激活虚拟环境
source venv/bin/activate
pip install -r requirements.txt
复制环境变量模板文件:
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=INFO
# 检查配置状态
python -m src.cli --check-config
# 启动服务器
python -m src.cli
news - 获取新闻获取指定标的的新闻信息。
参数:
symbol (必需): 股票代码或加密货币符号(如 AAPL, BTCUSD)limit (可选): 返回新闻数量限制,默认 10示例:
{
"name": "news",
"arguments": {
"symbol": "AAPL",
"limit": 5
}
}
technical_analysis - 技术指标获取技术指标数据(MACD、RSI 等)。
参数:
symbol (必需): 股票代码或加密货币符号resolution (可选): K 线周期 (D=日,W=周,M=月),默认 D示例:
{
"name": "technical_analysis",
"arguments": {
"symbol": "TSLA",
"resolution": "D"
}
}
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
}
}
cancel_order - 取消订单取消 Binance 订单。
参数:
order_id (必需): 订单 IDsymbol (必需): 交易对示例:
{
"name": "cancel_order",
"arguments": {
"order_id": "12345678",
"symbol": "BTC/USDT"
}
}
get_balance - 查询余额查询 Binance 账户余额。
参数: 无
示例:
{
"name": "get_balance",
"arguments": {}
}
get_positions - 查询持仓查询 Binance 持仓信息。
参数:
symbol (可选): 指定交易对示例:
{
"name": "get_positions",
"arguments": {
"symbol": "BTC/USDT"
}
}
get_orderbook - 订单簿获取 Binance 订单簿数据。
参数:
symbol (必需): 交易对limit (可选): 深度限制,默认 20示例:
{
"name": "get_orderbook",
"arguments": {
"symbol": "BTC/USDT",
"limit": 20
}
}
get_tickers - 行情数据获取 Binance 行情数据。
参数:
symbols (可选): 指定交易对列表示例:
{
"name": "get_tickers",
"arguments": {
"symbols": ["BTC/USDT", "ETH/USDT"]
}
}
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"
}
}
}
}
如果您已在全局环境安装了依赖:
{
"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"
}
}
}
}
配置文件位置:
%APPDATA%\Claude\claude_desktop_config.json~/Library/Application Support/Claude/claude_desktop_config.json~/.config/claude/claude_desktop_config.json提示: 项目提供了示例配置文件 claude_desktop_config.example.json,您可以复制并根据实际情况修改。
配置完成后,您可以在与 Claude 的对话中直接使用:
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
Binance 提供 Demo Trading 功能用于开发和测试(CCXT v4.5.6+ 支持):
申请 Demo Trading API Key:
.env 文件中设置 BINANCE_DEMO=true优势:
注意:
通过 BINANCE_FUTURES 参数控制交易类型:
现货交易 (BINANCE_FUTURES=false):
合约交易 (BINANCE_FUTURES=true):
注意: 合约交易需要额外的期货交易权限,请确保您的 API Key 已启用该权限。
本项目使用 TA-Lib 库计算多种技术指标,支持以下指标:
移动平均线:
动量指标:
波动率指标:
成交量指标:
其他指标:
使用方法:
# 通过 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 文件提交到版本控制系统1. 模块导入错误
# 确保已激活虚拟环境
# Windows
.\venv\Scripts\Activate.ps1
# macOS/Linux
source venv/bin/activate
# 重新安装依赖
pip install -r requirements.txt
2. API 未配置错误
# 检查 .env 文件是否存在
# 运行配置检查
python -m src.cli --check-config
3. Binance 连接失败
src/services/ 目录创建新的服务模块src/server.py 中注册新的 MCP 工具# 安装测试依赖
pip install pytest
# 运行测试
pytest
MIT License
欢迎提交 Issue 和 Pull Request!
如有问题,请提交 Issue 或联系开发者。
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"trade-mcp-server": {
"command": "npx",
"args": []
}
}
}