Batru について
Batruは、Dota 2、Deadlock、Marvel Rivalsのドラフトと対戦分析を行う読み取り専用MCPサーバーです。ローカルでモデルを実行せず、batru.ggのライブAPIから校正済みの予測を取得します。
主な機能
- 01校正済みのチーム勝率を予測
- 02Dota 2の次のピックを推薦
- 03ヒーローの相性データを取得
- 04ヒーロー名と別名を正規化
- 05Deadlockのドラフトを分析
活用シーン
- 01Dota 2のドラフト中に勝率を比較
- 02Dota 2で次に選ぶヒーローを決定
- 03ヒーローの有利不利を確認
- 04Deadlockのドラフト結果を推定
MCP 対応
ホスト型のStreamable HTTPエンドポイントが、読み取り専用のゲーム分析ツールをMCPクライアントに公開します。旧版PyPIパッケージでも、同じライブAPIを中継する機能限定のstdioサーバーを実行できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://batru.gg/mcpclaude mcp add --transport http batru https://batru.gg/mcp{"mcpServers":{"batru":{"type":"http","url":"https://batru.gg/mcp"}}}Cursor で開く{"servers":{"batru":{"type":"http","url":"https://batru.gg/mcp"}}}VS Code で開く{"mcpServers":{"batru":{"type":"http","url":"https://batru.gg/mcp"}}}{"mcpServers":{"batru":{"serverUrl":"https://batru.gg/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
17| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| game | string | いいえ | "dota2"(デフォルト)、"deadlock"、または "marvel-rivals"。 |
| query | string | はい | ユーザーが入力したヒーロー名、別名、または短縮名。空文字列を渡すと、代わりにそのゲームの全ヒーロー一覧を表示します。 |
| context | string | はい | このツールを呼び出す理由と、ユーザーの目標をどのように支援するかを、三人称で 15〜25 語で説明してください。分析専用です。ツール呼び出しの抽象的な目的だけを記述してください。ユーザーのリクエストやツール結果に含まれる氏名、メールアドレス、電話番号、IP、ID、認証情報など、個人情報、機密情報、識別情報を含めたり、繰り返したり、言い換えたり、推測したりしてはいけません。具体的な対象は「ユーザー」「顧客」「アカウント」などの役割に一般化してください。例:「顧客の請求に関する問題を調査し、サポート担当者が適切な解決策を判断できるよう、最近の注文を取得する。」 |
詳細
batru-mcp
重要
ホスト型エンドポイントをお使いください。インストールは不要です。
https://batru.gg/mcpを Claude、ChatGPT、Cursor、または任意の MCP クライアントに追加すると、最新のツールセット(Dota 2、Deadlock、Marvel Rivals に対応した読み取り専用ツール 31 個を、常にライブサイトと同期)を利用できます。セットアップガイド:https://batru.gg/developers以下で説明するローカルの PyPI パッケージ(
uvx batru-mcp)はレガシー版で、更新は終了しています。初期バージョンのまま固定され、ツールセットも縮小されています。現在も動作します(同じライブ API にプロキシします)が、正式な配布方法はホスト型エンドポイントです。
batru.gg のライブ API を利用する、最小限の読み取り専用 MCP サーバーです。LLM は、記憶から推測するのではなく、実データに基づいて適切にキャリブレーションされたモデル予測を使って、Dota 2/Deadlock のドラフト、カウンター、勝率に関する質問に回答できます。
batru.gg の公開エンドポイントを薄くラップしたものです。モデルはローカルでは実行されず、すべての数値はウェブサイトが提供するものと同じ本番モデルから取得されます。
キャリブレーションが重要な理由
batru.gg のモデルは約 2,000 万件の実際のマッチデータで学習され、キャリブレーション済みです。報告される勝率が 60% なら、実際に観測された勝率も約 60% です。勝率予測では「精度」だけでは誤解を招くため、生の「精度」の数値を前面に出すことは意図的に避けています。これらのツールから得られるのは、額面どおりに信頼できる確率です。ツールの説明では、ホスト側の LLM にこれらの数値をそのまま報告し、マッチアップデータを決して捏造しないよう指示しています。
ツール
| ツール | 機能 |
|---|---|
lookup_hero(query, game="dota2") | 名前/別名/shortName を {id, displayName, shortName} に正規化します。game ∈ {dota2, deadlock}。 |
predict_dota_winrate(my_heroes, enemy_heroes, my_side="radiant") | 両チームのキャリブレーション済み勝率(%)を返します(ドラフト途中でも可。空の場合は 50/50)。 |
recommend_dota_pick(my_heroes, enemy_heroes, my_side="radiant") | 次に選ぶおすすめヒーロー上位 3 件を、それぞれキャリブレーション済み勝率とともに返します。 |
get_dota_counters(hero, limit=12) | 実際のマッチアップ表を返します。このヒーローが勝ちやすい相手/負けやすい相手と、勝率(%)、サンプル数を確認できます。 |
predict_deadlock_draft(team0_heroes, team1_heroes) | Deadlock の 6 対 6(各チーム 6 ヒーロー)のキャリブレーション済み勝率(%)を返します。 |
ヒーロー名はどの形式でも受け付けます(例:am、anti mage、Anti-Mage)。内部で正規化されます。バックエンドは認識できない名前を通知なしに除外するため、先に正規化することで予測の信頼性を保てます。
インストール
uv(または PyPI の Python 3.12 以上のパッケージを実行できる方法)が必要です。
uvx batru-mcp # fetches from PyPI and starts the stdio MCP server
設定には BATRU_API_BASE 環境変数を使用します(デフォルトは https://batru.gg)。通常、設定は不要です。
Claude Desktop の設定
claude_desktop_config.json に追加します(macOS の場合:~/Library/Application Support/Claude/claude_desktop_config.json)。
{
"mcpServers": {
"batru": {
"command": "uvx",
"args": ["batru-mcp"]
}
}
}
Claude Desktop を再起動すると、ツール選択画面に batru ツールが表示されます。Claude Code の場合:
claude mcp add batru -- uvx batru-mcp。
開発
git clone https://github.com/batrugg/batru-mcp && cd batru-mcp
uv sync
uv run batru-mcp # run the server from the checkout (blocks, waiting on stdin)
チェックアウトを参照する Claude Desktop の設定には、
"command": "uv", "args": ["run", "--directory", "/absolute/path/to/batru-mcp", "batru-mcp"] を使用します。
テスト
uv run pytest # offline: hero normalisation + draft assembly
uv run pytest -m live # also hits the real batru.gg API
MCP ではなく Python からプログラムでアクセスしたい場合は、pip install batru を実行してください。公式の batru SDK を利用できます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。