「OpenDota」MCPサーバーの機能とは?
OpenDota MCPサーバーは、Model Context Protocol(MCP)サーバー実装であり、AIアシスタントがOpenDota APIを用いてDota 2データへシームレスにアクセスできるよう設計されています。大規模言語モデル(LLM)と、リアルタイムのDota 2統計、プレイヤープロフィール、マッチ、ヒーロー情報との橋渡しとなり、AIによるワークフローやツールがDota 2関連の多様なタスク(情報提供・分析・自動化)を実現します。本サーバーを利用することで、AIクライアントは標準化インターフェース経由で詳細なマッチデータの取得、プレイヤーパフォーマンスの追跡、チームやヒーローの検索、豊富なゲーム統計へのアクセスなどが可能に。これにより、開発者やユーザーはライブDota 2データを活用した高度な分析、コーチング、レポーティング、コミュニティ参加型アプリケーションやアシスタントを構築できるようになります。
プロンプト一覧
リポジトリ内にプロンプトテンプレート情報は見つかりませんでした。
リソース一覧
リポジトリには明示的なMCPリソースのドキュメントはありません。
ツール一覧
- get_player_by_id: アカウントIDでプレイヤー情報を取得
- get_player_recent_matches: プレイヤーの最近のマッチを取得
- get_match_data: 指定マッチの詳細データを取得
- get_player_win_loss: プレイヤーの勝敗統計を取得
- get_player_heroes: プレイヤーが最も多く使用したヒーローを取得
- get_hero_stats: 全ヒーローの統計を取得
- search_player: プレイヤー名で検索
- get_pro_players: プロプレイヤー一覧を取得
- get_pro_matches: 最近のプロマッチを取得
- get_player_peers: 指定プレイヤーと一緒にプレイしたプレイヤーを取得
- get_heroes: Dota 2すべてのヒーロー一覧を取得
- get_player_totals: プレイヤーの総合スタッツ合計を取得
- get_player_rankings: プレイヤーのヒーローランキングを取得
- get_player_wordcloud: プレイヤーがチャットでよく使う単語を取得
- get_team_info: チーム情報を取得
- get_public_matches: 最近の公開マッチを取得
- get_match_heroes: 指定マッチで使用されたヒーローを取得
このMCPサーバーのユースケース
- Dota 2プレイヤー分析: プレイヤー統計、最近のマッチ、パフォーマンストレンドを取得し、コーチングや自己改善に活用
- マッチレポートと要約: 実際のゲームデータに基づいた詳細なマッチレポートや要約を自動生成し、ニュース・ブログ・コミュニティフォーラムに活用
- プロシーン追跡: プロプレイヤー・チーム・トーナメントマッチをモニタリングし、リアルタイム更新やスカウティングレポートを提供
- ヒーローメタ分析: ヒーロー統計やランキング、トレンドを活用し、現在のメタ分析やドラフト戦略、バランス議論を支援
- コミュニティツール&ボット: Discordボット、ウェブダッシュボード、Dota 2クエリやプレイヤー検索、ライブマッチ詳細を提供するアシスタント機能などを実現
セットアップ方法
Windsurf
- Python(uvまたはvenv)とNode.jsをインストールしてください。
- OpenDota MCPサーバーのリポジトリをクローンし、Python環境をセットアップします。
- OpenDota MCPサーバーをWindsurfの設定に追加します。
- 設定ファイル(例:
windsurf.config.json)に次のJSONスニペットを挿入してください:{ "mcpServers": { "opendota": { "command": "python", "args": ["-m", "src.opendota_server.server"] } } } - 設定を保存し、Windsurfを再起動してサーバーを有効化します。
Claude
- MCPサーバーのPython環境をセットアップします(インストール手順参照)。
claude_desktop_config.jsonを作成または編集します:{ "mcpServers": { "opendota": { "command": "python", "args": ["-m", "src.opendota_server.server"] } } }- WSLの場合:
{ "mcpServers": { "opendota": { "command": "wsl.exe", "args": [ "--", "bash", "-c", "cd ~/opendota-mcp-server && source .venv/bin/activate && python src/opendota_server/server.py" ] } } }
- WSLの場合:
- 設定を保存し、Claude Desktopを再起動します。
- OpenDota MCPサーバーが利用可能なMCPサーバー一覧に表示されているか確認してください。
Cursor
- Python環境を準備し、リポジトリの指示に従い依存関係をインストールします。
- Cursorの設定または構成ファイルを開きます。
mcpServersの下にOpenDota MCPサーバーを追加します:{ "mcpServers": { "opendota": { "command": "python", "args": ["-m", "src.opendota_server.server"] } } }- 変更を保存し、Cursorを再起動して適用します。
Cline
- OpenDota MCPサーバーのPython環境をクローンし、セットアップします。
- Clineの設定を開きます。
mcpServersブロックに次を追加します:{ "mcpServers": { "opendota": { "command": "python", "args": ["-m", "src.opendota_server.server"] } } }- 保存してClineを再起動します。
APIキーのセキュリティ対策
- OpenDota APIキーは環境変数として保存しましょう。例(.envやターミナル用):
OPENDOTA_API_KEY=your_api_key_here - JSON設定(対応している場合):
{ "mcpServers": { "opendota": { "command": "python", "args": ["-m", "src.opendota_server.server"], "env": { "OPENDOTA_API_KEY": "your_api_key_here" } } } } - APIキーをソースコードに直接書き込まないでください。
FlowHuntフロー内でのMCP利用方法
FlowHuntでのMCP利用
MCPサーバーをFlowHuntのワークフローに統合するには、まずMCPコンポーネントをフローに追加し、AIエージェントに接続します。

MCPコンポーネントをクリックして設定パネルを開き、システムMCP設定セクションに次のJSON形式でMCPサーバー情報を挿入してください。
{
"opendota": {
"transport": "streamable_http",
"url": "https://yourmcpserver.example/pathtothemcp/url"
}
}
設定後、AIエージェントはこのMCPをツールとして利用し、その全機能にアクセスできるようになります。"opendota"は実際のMCPサーバー名に、URLはご自身のMCPサーバーのURLに置き換えてください。
概要
| セクション | 利用可否 | 詳細・備考 |
|---|---|---|
| 概要 | ✅ | READMEにハイレベルな要約あり |
| プロンプト一覧 | ⛔ | プロンプトテンプレートの記載なし |
| リソース一覧 | ⛔ | 明示的なMCPリソースドキュメントなし |
| ツール一覧 | ✅ | READMEに包括的なツール一覧あり |
| APIキーのセキュリティ | ✅ | .env.exampleおよびREADMEに記載 |
| サンプリングサポート(評価に影響小) | ⛔ | サンプリングサポートに関する記載なし |
総評
OpenDota MCPサーバーは、Dota 2スタッツに特化した専門性・スコープの明確なMCPサーバーであり、ツールセットとセットアップやAPIキー管理に関するドキュメントが充実しています。一方で、プロンプトテンプレートや明示的なMCPリソース、サンプリングやrootsサポートのドキュメントは不足しています。Dota 2分析やコミュニティツールとしての実用性は高いですが、より広範なMCPプロトコル機能のデモンストレーションとしては不十分です。
総合評価として、このMCPサーバーは6/10の完成度およびニッチ用途での使いやすさと評価しますが、一般的なMCPプロトコルのデモとしては不向きです。
MCPスコア
| ライセンスあり | ✅ |
|---|---|
| ツールが1つ以上ある | ✅ |
| フォーク数 | 5 |
| スター数 | 4 |
