Robinhood Mcp Server について
Robinhood MCP Server は、Robinhood Crypto API をラップした MCP サーバーで、認証、アカウント管理、マーケットデータ取得、取引操作を提供します。REST API と WebSocket の両方のインターフェースを備え、Robinhood の暗号資産口座へプログラムからアクセスしたい開発者を想定しています。
主な機能
- 01認証状態とアカウント情報の取得
- 02保有残高と注文履歴の照会
- 03最良気配値と概算価格の取得
- 04注文の発注、照会、取消
- 05マーケットデータと注文更新の WebSocket 購読
- 06環境変数による設定とレート制限
活用シーン
- 01Robinhood 暗号資産口座の保有状況を確認する
- 02BTC-USD や ETH-USD などの取引ペアのリアルタイム価格を取得する
- 03MCP クライアントから暗号資産の注文を発注または取り消す
MCP 対応
本プロジェクトは、アカウント、マーケットデータ、取引の操作を MCP クライアントに公開する MCP サーバーです。README には MCP ツールの一覧は明示されていません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
docker run -i --rm -e ROBINHOOD_API_KEY -e ROBINHOOD_PRIVATE_KEY -e HOST -e PORT -e DEBUG -e LOG_LEVEL -e RATE_LIMIT_ENABLED -e RATE_LIMIT_REQUESTS -e RATE_LIMIT_PERIOD robinhood-mcp-serverROBINHOOD_API_KEYシークレットROBINHOOD_PRIVATE_KEYシークレットHOSTPORTDEBUGLOG_LEVELRATE_LIMIT_ENABLEDRATE_LIMIT_REQUESTSRATE_LIMIT_PERIODローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Robinhood MCP サーバー - ユーザーガイド
概要
Robinhood MCP サーバーは、Robinhood Crypto API への包括的なインターフェースを提供します。このサーバーは、REST API と WebSocket インターフェースの両方を通じて、認証、アカウント管理、市場データの取得、取引操作を処理します。
目次
機能
- アカウント管理と取引操作のための REST API
- リアルタイムの市場データと注文更新のための WebSocket サポート
- 包括的なエラーハンドリングとログ記録
- レート制限とセキュリティのベストプラクティス
- 環境変数による簡単な設定
前提条件
- Python 3.8 以上
- pip(Python パッケージマネージャー)
- Robinhood API の認証情報
インストール
-
リポジトリをクローンします:
git clone https://github.com/rohitsingh-iitd/robinhood-mcp-server cd robinhood-mcp-server -
仮想環境をセットアップします(推奨):
# Create a virtual environment python -m venv venv # Activate the virtual environment # On macOS/Linux: source venv/bin/activate # On Windows: # .\venv\Scripts\activate -
依存関係をインストールします:
pip install -r requirements.txt
設定
-
プロジェクトのルートに
.envファイルを作成します。内容は以下のとおりです:# Required ROBINHOOD_API_KEY=your_api_key_here ROBINHOOD_PRIVATE_KEY=your_base64_encoded_private_key_here # Optional (with defaults) HOST=0.0.0.0 PORT=8000 WEBSOCKET_PORT=8001 DEBUG=False LOG_LEVEL=INFO LOG_FILE=robinhood_mcp_server.log RATE_LIMIT_ENABLED=True RATE_LIMIT_REQUESTS=100 RATE_LIMIT_PERIOD=60 -
プレースホルダーの値を、実際の Robinhood API 認証情報に置き換えます。
サーバーの起動
次のコマンドでサーバーを起動します:
python -m src.main
これにより以下が起動します:
http://localhost:8000で REST API サーバーws://localhost:8001で WebSocket サーバー
本番環境での実行
本番環境で使用する場合は、Gunicorn と組み合わせた Uvicorn のような本番グレードの ASGI サーバーの使用を検討してください:
pip install gunicorn uvicorn[standard]
gunicorn src.main:app --worker-class uvicorn.workers.UvicornWorker --bind 0.0.0.0:8000
サーバーの起動
次のコマンドでサーバーを起動します:
python -m src.main
これにより、REST API サーバー(デフォルトポート 8000)と WebSocket サーバー(デフォルトポート 8001)の両方が起動します。
REST API エンドポイント
認証
GET /auth/status- 認証ステータスを確認します
アカウント
GET /account- アカウント情報を取得しますGET /account/holdings- アカウントの保有資産を取得します(オプションのクエリパラメータ:asset_code)
市場データ
GET /market/best-price- 最良の買値/売値を取得します(オプションのクエリパラメータ:symbol)GET /market/estimated-price- 数量に対する推定価格を取得します(必須のクエリパラメータ:symbol、side、quantity)
取引
GET /trading/pairs- 利用可能な取引ペアを取得します(オプションのクエリパラメータ:symbol)GET /trading/orders- 注文履歴を取得します(オプションのクエリパラメータ:status)GET /trading/orders/{id}- 注文の詳細を取得しますPOST /trading/orders- 新規注文を出します- 必須フィールド:
symbol、side、quantity - オプションのフィールド:
type、price、time_in_force、stop_price
- 必須フィールド:
DELETE /trading/orders/{id}- 注文をキャンセルします
WebSocket API
WebSocket サーバーは、市場データと注文ステータスのリアルタイム更新を提供します。
接続
次の WebSocket サーバーに接続します:
ws://localhost:8001
市場データの購読
市場データの更新を購読します:
{
"type": "market_data",
"action": "subscribe",
"symbols": ["BTC-USD", "ETH-USD"]
}
市場データの更新の購読を解除します:
{
"type": "market_data",
"action": "unsubscribe",
"symbols": ["BTC-USD", "ETH-USD"]
}
注文更新の購読
注文更新を購読します:
{
"type": "orders",
"action": "subscribe"
}
注文更新の購読を解除します:
{
"type": "orders",
"action": "unsubscribe"
}
Ping/Pong
接続を維持するために ping を送信します:
{
"type": "ping"
}
サーバーは次のように応答します:
{
"type": "pong"
}
テスト
サーバーが正しく動作していることを確認するために、検証テストを実行します:
python -m tests.test_server
設定オプション
以下の環境変数は .env ファイルで設定できます:
ROBINHOOD_API_KEY- Robinhood API キーROBINHOOD_PRIVATE_KEY- base64 でエンコードされた秘密鍵HOST- サーバーホスト (デフォルト: 0.0.0.0)PORT- REST API サーバーポート (デフォルト: 8000)DEBUG- デバッグモードを有効化 (デフォルト: False)LOG_LEVEL- ログレベル (デフォルト: INFO)LOG_FILE- ログファイルのパス (デフォルト: robinhood_mcp_server.log)RATE_LIMIT_ENABLED- レート制限を有効化 (デフォルト: True)RATE_LIMIT_REQUESTS- 期間あたりの最大リクエスト数 (デフォルト: 100)RATE_LIMIT_PERIOD- レート制限の期間 (秒) (デフォルト: 60)
セキュリティに関する考慮事項
- API キーとシークレットは環境変数に保存され、コードには決して含まれません
- すべての機密データは適切に処理されます
- すべての API エンドポイントに対して入力検証が実装されています
- 悪用を防ぐためにレート制限が適用されます
- 機密情報の漏洩を避けるための適切なエラーハンドリング
トラブルシューティング
問題が発生した場合:
- 詳細なエラーメッセージについてはログファイルを確認してください
- API 認証情報が正しいことを確認してください
- 適切なネットワーク接続があることを確認してください
- Robinhood API が利用可能であることを確認してください
ライセンス
このプロジェクトは MIT ライセンスの下でライセンスされています - 詳細は LICENSE ファイルを参照してください。
免責事項
作者は、このプロジェクトの使用の結果として生じる可能性のあるいかなる損失や損害についても責任を負いません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
