🚀 MCPゲートウェイシステム
複数の機能プロバイダーを調整するためのモデルコンテキストプロトコル(MCP)ゲートウェイです。
🚨 破壊的変更
⚠️ バージョン0.2.0 (2025年10月24日) - システムが読み取り専用になりました
このシステムは、読み書き可能なハイブリッド取引クライアントから、読み取り専用の市場データ分析ツールに変更されました。すべての注文管理機能は削除されています。
変更点:
- ❌ すべての注文の発注、キャンセル、および照会メソッドが削除されました
- ❌ アカウント情報と取引履歴の取得が削除されました
- ✅ 統一された市場データレポートAPIが導入されました
- ✅ すべての市場データ分析機能が保持され、強化されました
完全な移行ガイドについては、CHANGELOG.md を参照してください。
概要
このシステムは分散型MCPアーキテクチャを実装しており、PythonゲートウェイがgRPCを介して複数の言語固有のプロバイダーを調整します。各プロバイダーは、統一されたインターフェイスを通じてツール、リソース、およびプロンプトを公開します。
アーキテクチャ
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未満のレイテンシ)
- ✅ Binance APIからのリアルタイム市場データ
- ✅ 遅延初期化とコネクションプーリング
- ✅ 段階的開示 (必要に応じてL1 → L2深度)
- ✅ 20の同時シンボル購読サポート
- ✅ テストネットと本番モード
完全なドキュメントについては、providers/binance-rs/README.md を参照してください。
🚀 クイックスタート
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 を参照してください。
手動設定
前提条件
- uv付きのPython 3.11以上
- hello-goプロバイダー用のGo 1.21以上
- binance-rsプロバイダー用のRust 1.75以上
- プロトコルバッファーコンパイラ (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"
📚 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
}
例:
完全なレポート (すべてのセクション):
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
}
)
パフォーマンス:
- コールド生成: <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 を参照してください。
テスト
make test
cd providers/binance-rs && cargo test
開発
新しいプロバイダーを追加する
providers/{name}/ ディレクトリを作成する
provider.proto gRPCサービスを実装する
providers.yaml に追加する
- Makefileにビルド/実行ターゲットを追加する
プロトコル契約
すべてのプロバイダーは /pkg/proto/provider.proto を実装します。
ListCapabilities - ツール/リソース/プロンプトを探索する
Invoke - ツールを実行する
ReadResource - リソースを取得する
GetPrompt - プロンプトを生成する
Stream - イベントストリーミング (オプション)
プロジェクト構造
mcp-trader/
├── mcp-gateway/ # Python MCPゲートウェイ
│ ├── mcp_gateway/
│ │ ├── main.py # FastMCPサーバー (STDIOトランスポート)
│ │ ├── sse_server.py # ChatGPT用のSSEサーバー 🆕
│ │ ├── adapters/ # gRPCクライアント
│ │ ├── tools/ # 検索と取得ツール 🆕
│ │ └── validation.py
│ └── providers.yaml # プロバイダー設定
├── providers/
│ ├── hello-go/ # Goデモプロバイダー
│ ├── hello-rs/ # Rustデモプロバイダー
│ └── binance-rs/ # Binance市場データプロバイダー (読み取り専用)
│ └── 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
ドキュメント
Binanceプロバイダー
- Binanceプロバイダーガイド - 完全なプロバイダードキュメント
- ChatGPT統合ガイド - ChatGPT用のSSE設定
- 統合テスト - テスト結果
ゲートウェイとデプロイメント
- 手動テストガイド - SSEエンドポイントのテスト
- デプロイスクリプト - 本番環境デプロイメントの自動化
- デプロイメント概要 - 最新の本番環境デプロイメント
仕様
- 機能018: 統一された市場データレポート 🆕
- 仕様
- 実装計画
- タスク分解
- クイックスタートガイド
- 機能002: Binanceプロバイダー統合
変更履歴
- CHANGELOG.md - バージョン履歴と移行ガイド
📄 ライセンス
LICENSEファイルを参照してください。