🚀 MCP網關係統
MCP網關係統用於協調多個能力提供者,藉助Model Context Protocol (MCP) 實現不同語言特定提供者的協同工作,為市場數據分析提供了強大支持。
🚀 快速開始
使用Claude Code 🤖
MCP網關與Claude Code無縫集成,配置完成後,你可以用自然語言提問:
你:"生成一份比特幣的綜合市場報告"
Claude:[使用binance.generate_market_report工具]
響應:
# 市場數據報告 - BTCUSDT
生成時間:2025-10-24 12:00:00 UTC 🟢
## 價格概覽
- 當前價格:$106,841.00 📈
- 24小時變化:+0.43% (+$459.00)
- 24小時最高/最低:$107,200.00 / $105,800.00
- 交易量:1,234.56 BTC ($131.8M)
## 訂單簿指標
- 買賣價差:0.01% (1.0 bps)
- 微觀價格:$106,840.50
- 買賣失衡:58% 買盤佔優 📊
## 流動性分析
- 買單牆:$106,500 💪 強勁 (125.5 BTC)
- 成交量分佈圖POC:$106,750
[... 還有5個部分 ...]
你:"僅顯示ETHUSDT的價格和流動性部分"
Claude:[使用帶自定義選項的generate_market_report]
響應:[僅包含請求部分的Markdown報告]
你:"分析比特幣的交易機會"
Claude:[使用帶有即時市場數據的trading-analysis提示]
響應:[結合報告數據和AI洞察的詳細分析]
Claude Code的設置步驟:
claude mcp add --transport stdio mcp-gateway -- \
bash -c "cd mcp-gateway && uv run python -m mcp_gateway.main"
claude
使用ChatGPT 🤖 🆕
MCP網關現在可通過SSE傳輸與ChatGPT集成,統一的市場數據報告提供了全面的市場情報!
ChatGPT的設置步驟:
- 在ChatGPT中啟用開發者模式(需要Plus/Pro版本)
- 進入設置 → MCP服務器 → 添加服務器
- 配置SSE端點:
- 服務器URL:
https://mcp-gateway.thevibe.trading/sse/
- 傳輸方式:SSE(服務器發送事件)
使用示例:
你:"生成一份BTCUSDT的完整市場報告"
ChatGPT:[使用binance_generate_market_report工具]
響應:[包含8個部分的完整Markdown報告:價格、訂單簿、流動性、異常情況、健康狀況等 - 緩存60秒]
你:"僅顯示ETHUSDT的價格和流動性分析"
ChatGPT:[使用帶選項的binance_generate_market_report]
請求:{"symbol": "ETHUSDT", "options": {"include_sections": ["price_overview", "liquidity_analysis"]}}
響應:[僅包含請求部分的自定義報告]
你:"BTCUSDT的訂單簿健康狀況如何?"
ChatGPT:[使用binance_orderbook_health工具 - 舊版單個工具]
響應:[快速的健康指標快照]
詳細的設置指南請參考 CHATGPT_INTEGRATION.md。
手動設置
前提條件
- 安裝Python 3.11+ 並帶有uv
- 安裝Go 1.21+(用於hello-go提供者)
- 安裝Rust 1.75+(用於binance-rs提供者)
- 安裝Protocol Buffers編譯器(protoc)
構建所有提供者
make proto-gen
cd providers/hello-go && go build -o bin/hello-go cmd/server/main.go
make build-binance
運行系統
終端1 - 啟動提供者:
make run-hello-go
make run-binance
終端2 - 啟動網關:
make run-gateway
配置
在 mcp-gateway/providers.yaml 中配置提供者:
providers:
- name: hello-go
type: grpc
address: localhost:50051
enabled: true
- name: binance-rs
type: grpc
address: localhost:50053
enabled: true
metadata:
description: "Binance加密貨幣交易提供者"
features: ["orderbook"]
對於binance-rs,還需要設置環境變量:
export BINANCE_API_KEY="your_api_key"
export BINANCE_API_SECRET="your_api_secret"
export BINANCE_BASE_URL="https://testnet.binance.vision"
✨ 主要特性
- 架構升級:實現分佈式MCP架構,通過Python網關藉助gRPC協調多個語言特定的提供者。
- 功能轉變:從混合讀寫交易客戶端轉變為只讀市場數據分析工具,移除了所有訂單管理功能。
- 統一報告:引入統一的市場數據報告API,保留並增強了所有市場數據分析功能。
- 多平臺集成:支持與Claude Code和ChatGPT集成,提供自然語言交互體驗。
📦 安裝指南
前提條件
- Python 3.11+ 並帶有uv
- Go 1.21+(用於hello-go提供者)
- Rust 1.75+(用於binance-rs提供者)
- Protocol Buffers編譯器(protoc)
構建步驟
make proto-gen
cd providers/hello-go && go build -o bin/hello-go cmd/server/main.go
make build-binance
運行步驟
終端1 - 啟動提供者:
make run-hello-go
make run-binance
終端2 - 啟動網關:
make run-gateway
配置步驟
在 mcp-gateway/providers.yaml 中配置提供者:
providers:
- name: hello-go
type: grpc
address: localhost:50051
enabled: true
- name: binance-rs
type: grpc
address: localhost:50053
enabled: true
metadata:
description: "Binance加密貨幣交易提供者"
features: ["orderbook"]
對於binance-rs,還需要設置環境變量:
export BINANCE_API_KEY="your_api_key"
export BINANCE_API_SECRET="your_api_secret"
export BINANCE_BASE_URL="https://testnet.binance.vision"
💻 使用示例
基礎用法
生成完整報告(所有部分)
await client.generate_market_report(symbol="BTCUSDT")
生成自定義報告(特定部分)
await client.generate_market_report(
symbol="ETHUSDT",
options={
"include_sections": ["price_overview", "liquidity_analysis"],
"volume_window_hours": 48,
"orderbook_levels": 50
}
)
📚 詳細文檔
幣安提供者
- 幣安提供者指南 - 完整的提供者文檔
- ChatGPT集成指南 - ChatGPT的SSE設置
- 集成測試 - 測試結果
網關與部署
- 手動測試指南 - 測試SSE端點
- 部署腳本 - 生產環境部署自動化
- 部署總結 - 最新的生產環境部署
規範文檔
- 特性018:統一市場數據報告 🆕
- 特性002:幣安提供者集成
變更日誌
🔧 技術細節
架構
AI客戶端
├→ Claude Code (STDIO傳輸)
│ ↓
│ MCP網關 (Python)
│ ├→ hello-go (Go提供者) - 演示工具
│ ├→ hello-rs (Rust提供者) - 演示工具
│ └→ binance-rs (Rust提供者) - 加密貨幣交易
│
└→ ChatGPT (SSE傳輸) 🆕
↓
SSE網關 (Python)
└→ binance-rs (Rust提供者) - 統一市場數據報告
生產部署
ChatGPT MCP服務器 (SSE傳輸):
- URL:https://mcp-gateway.thevibe.trading/sse/
- 狀態:✅ 生產環境運行
- 版本:0.2.0(只讀市場數據分析)
- 特性:具有高級分析功能的統一市場情報報告
- 傳輸方式:服務器發送事件(SSE) - ChatGPT集成必需
- 文檔:請參考 ChatGPT集成指南
提供者
hello-go
- 語言:Go
- 端口:50051
- 工具:echo.v1, sum.v1(演示工具)
- 狀態:✅ 已實現
hello-rs
- 語言:Rust
- 端口:50052
- 工具:(待實現)
- 狀態:🚧 計劃中
binance-rs ⭐ 生產就緒
- 語言:Rust
- 端口:50053
- 狀態:✅ 完全實現(只讀市場數據分析)
- 版本:0.2.0
能力:
-
1個主要工具:🆕 統一市場數據報告
generate_market_report - 綜合市場情報,結合8個以上數據部分
- 價格概覽(24小時統計數據和趨勢指標)
- 訂單簿指標(買賣價差、微觀價格、買賣失衡)
- 流動性分析(買單牆、成交量分佈圖、流動性真空)
- 市場異常情況(帶嚴重程度標記的檢測)
- 微觀結構健康狀況(健康評分和組件狀態)
- 數據健康狀態(WebSocket連接性、數據新鮮度)
- 性能:60秒緩存,冷生成時間<500ms,緩存檢索時間<3ms
-
11個獨立分析工具(舊版,已被統一報告取代):
get_ticker - 24小時價格統計數據
orderbook_l1 / orderbook_l2 - 訂單簿快照
get_recent_trades - 交易歷史
get_order_flow - 買賣壓力跟蹤
get_volume_profile - 成交量分佈(POC/VAH/VAL)
detect_market_anomalies - 異常模式檢測
get_microstructure_health - 市場健康評分
get_liquidity_vacuums - 低成交量價格區間檢測
orderbook_health - 即時訂單簿健康指標
-
1個資源:Markdown格式的數據快照
binance://market/{SYMBOL} - 即時市場摘要
-
1個提示:適用於AI的分析模板
trading-analysis - 帶有即時上下文的市場分析
特性:
- ✅ 即時WebSocket訂單簿流(延遲低於200ms)
- ✅ 來自幣安API的即時市場數據
- ✅ 懶初始化和連接池
- ✅ 漸進式披露(按需從L1到L2深度)
- ✅ 支持20個併發符號訂閱
- ✅ 測試網和生產模式
API參考
統一市場數據報告
工具:generate_market_report
生成綜合市場情報報告,結合8個以上數據部分,具有智能緩存和自定義選項。
參數:
{
"symbol": str,
"venue": str,
"options": {
"include_sections": list[str],
"volume_window_hours": int,
"orderbook_levels": int
}
}
可用部分:
"price_overview" - 24小時價格統計數據和趨勢指標
"orderbook_metrics" - 買賣價差、微觀價格、買賣失衡
"liquidity_analysis" - 流動性牆、成交量分佈圖、流動性真空
"market_microstructure" - 訂單流分析(佔位符)
"market_anomalies" - 帶嚴重程度標記的異常檢測
"microstructure_health" - 健康評分和組件狀態
"data_health" - WebSocket連接性和數據新鮮度
響應:
{
"markdown_content": str,
"symbol": str,
"generated_at": int,
"data_age_ms": int,
"failed_sections": list[str],
"generation_time_ms": int
}
性能:
- 冷生成:<500ms
- 緩存檢索:<3ms
- 緩存TTL:60秒
- 對缺失數據源進行優雅降級
從v0.1.0遷移:
如果你之前使用單個工具:
ticker = await client.get_ticker(symbol="BTCUSDT")
account = await client.get_account()
trades = await client.get_my_trades(symbol="BTCUSDT")
report = await client.generate_market_report(symbol="BTCUSDT")
完整的遷移指南請參考 CHANGELOG.md。
項目結構
mcp-trader/
├── mcp-gateway/ # Python MCP網關
│ ├── mcp_gateway/
│ │ ├── main.py # FastMCP服務器(STDIO傳輸)
│ │ ├── sse_server.py # SSE服務器,用於ChatGPT 🆕
│ │ ├── adapters/ # gRPC客戶端
│ │ ├── tools/ # 搜索和獲取工具 🆕
│ │ └── validation.py
│ └── providers.yaml # 提供者配置
├── providers/
│ ├── hello-go/ # Go演示提供者
│ ├── hello-rs/ # Rust演示提供者
│ └── binance-rs/ # 幣安市場數據提供者(只讀)
│ └── src/
│ ├── report/ # 統一報告生成器 🆕
│ └── orderbook/
│ └── analytics/ # 高級分析模塊
├── infra/ # 生產部署 🆕
│ ├── deploy-chatgpt.sh # ChatGPT SSE部署腳本
│ ├── binance-provider.service # Systemd服務
│ ├── mcp-gateway-sse.service # SSE網關服務
│ └── nginx-mcp-gateway.conf # NGINX反向代理
├── pkg/
│ ├── proto/ # 共享的protobuf合約
│ └── schemas/ # JSON模式
└── Makefile
📄 許可證
請查看LICENSE文件。