aiowhitebit-mcp について
aiowhitebit-mcp は、WhiteBit 暗号資産取引所 API 向けの MCP サーバーとクライアントです。複数のトランスポート経由で市場・資産データの取得や WebSocket のリアルタイム情報を提供し、サーバー起動用のコマンドラインツールも備えています。
主な機能
- 01公開市場・資産データの取得
- 02WebSocket によるリアルタイム市場データ
- 03stdio、SSE、WebSocket トランスポート
- 04MCP クライアントとコマンドラインツール
- 05ディスク永続化対応キャッシュ
- 06レート制限とサーキットブレーカー
活用シーン
- 01市場データと注文板の確認
- 02リアルタイム価格と売買気配の追跡
- 03先物の資金調達率履歴の取得
MCP 対応
MCP サーバーは、市場データや WebSocket 操作を含む WhiteBit API のツールとリソースを MCP クライアントに公開します。stdio、SSE、WebSocket に対応し、接続用クライアントも含まれます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
aiowhitebit-mcp
WhiteBit 暗号資産取引所 API 用の Message Control Protocol(MCP)サーバーおよびクライアントの実装です。 aiowhitebit ライブラリと fastmcp を基盤としています。
機能
- WhiteBit API のパブリックエンドポイントに対応した MCP サーバー
- 複数のトランスポートプロトコル(stdio、SSE、WebSocket)に対応
- MCP サーバーと簡単にやり取りできるクライアント
- サーバーを実行するためのコマンドラインインターフェース
- Claude Desktop との統合
- WebSocket によるリアルタイムの市場データ
- 包括的なテストカバレッジと型チェック
- 最新の開発ツール(ruff、pyright、pre-commit)
- ディスクへの永続化に対応したキャッシュ
- レート制限とサーキットブレーカーのパターン
aiowhitebit 0.3.0 との統合で追加された機能
- BookTicker WebSocket ストリーム:最良買値/売値をリアルタイムで更新します
- 先物の資金調達履歴:先物市場の過去の資金調達率にアクセスできます
- WebSocket イベントの拡張:すべての WebSocket イベントにオプションのメタデータ(event_time、update_id)が含まれるようになりました
クイックスタート
# Install the package
pip install aiowhitebit-mcp
# Run the server (stdio transport for Claude Desktop)
aiowhitebit-mcp --transport stdio
# Or run with SSE transport
aiowhitebit-mcp --transport sse --host 127.0.0.1 --port 8000
基本的な使い方
ネットワークトランスポートを使用するクライアント
import asyncio
import os
from aiowhitebit_mcp.client import WhiteBitMCPClient
async def main():
# Set the server URL (or use environment variable)
server_url = "http://localhost:8000/sse"
os.environ["WHITEBIT_MCP_URL"] = server_url
async with WhiteBitMCPClient() as client:
# Get market info
btc_usdt = await client.get_market_resource("BTC_USDT")
print("BTC/USDT Market Info:", btc_usdt)
# Get real-time price via WebSocket
price = await client.get_last_price("BTC_USDT")
print("Current BTC/USDT price:", price)
# Get order book
orderbook = await client.get_orderbook("BTC_USDT")
print("Order book:", orderbook)
# Get funding history for futures market
funding_history = await client.get_funding_history("BTC_USDT")
print("Funding history:", funding_history)
# Subscribe to BookTicker for real-time best bid/ask
subscription = await client.bookticker_subscribe("BTC_USDT")
print("BookTicker subscription:", subscription)
if __name__ == "__main__":
asyncio.run(main())
サーバーの設定
from aiowhitebit_mcp.server import create_server
import asyncio
# Create the server with custom configuration
server = create_server(
name="WhiteBit API"
)
# Run the server with desired transport
if __name__ == "__main__":
asyncio.run(
server.run(
transport="stdio", # or "sse"
host="127.0.0.1", # for network transports
port=8000 # for network transports
)
)
利用可能なツール
パブリック API
get_server_time(): 現在のサーバー時刻を取得しますget_market_info(): すべての市場情報を取得しますget_orderbook(market: str): オーダーブックを取得しますget_recent_trades(market: str, limit: int = 100): 最近の取引を取得しますget_ticker(market: str): ティッカー情報を取得しますget_fee(market: str): 取引手数料を取得しますget_server_status(): サーバーのステータスを取得しますget_asset_status_list(): すべての資産のステータスを取得しますget_funding_history(market: str): 先物市場の資金調達率の履歴を取得します
WebSocket API
get_last_price(market: str): リアルタイム価格を取得しますget_market_depth(market: str): リアルタイムのオーダーブックを取得しますbookticker_subscribe(market: str): 最良買値/売値を配信する BookTicker ストリームを購読しますbookticker_unsubscribe(market: str): BookTicker ストリームの購読を解除しますconnect_websocket(): WebSocket API に接続しますdisconnect_websocket(): WebSocket API から切断します
リソース
whitebit://markets: すべての市場情報を取得しますwhitebit://markets/{market}: 指定した市場の情報を取得しますwhitebit://assets: すべての資産情報を取得しますwhitebit://assets/{asset}: 指定した資産の情報を取得します
コマンドラインインターフェース
# Show help
aiowhitebit-mcp --help
# Run with stdio transport (for Claude Desktop)
aiowhitebit-mcp --transport stdio
# Run with SSE transport
aiowhitebit-mcp --transport sse --host localhost --port 8000
開発
# Clone the repository
git clone https://github.com/yourusername/aiowhitebit-mcp.git
cd aiowhitebit-mcp
# Install development dependencies
pip install -e ".[dev]"
# Install pre-commit hooks
pre-commit install
# Run tests
pytest
# Run type checking
pyright src/aiowhitebit_mcp
# Run linting
ruff check .
使用例
その他の使用例については、examples/ ディレクトリを確認してください。
claude_desktop_server.py:Claude Desktop 用に stdio トランスポートでサーバーを実行しますclaude_desktop_client.py:stdio サーバーに接続するクライアントsse_server.py:SSE トランスポートでサーバーを実行しますsse_client.py:SSE サーバーに接続するクライアント
ライセンス
Apache License 2.0
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。