OpenDota MCP Server について
OpenDota MCP ServerはOpenDota APIのデータをLLMやAIアシスタントに提供します。Dota 2のプレイヤーや分析者が、プレイヤー、試合、ヒーロー、プロシーンの情報を調べる用途に向いています。
主な機能
- 01プレイヤープロフィールと試合履歴の取得
- 02試合の詳細データ取得
- 03プロ選手とチームの検索
- 04ヒーロー統計とランキングの確認
- 05名前によるプレイヤー検索
活用シーン
- 01プレイヤーの直近の試合と勝敗を確認
- 02特定の試合の詳細を取得
- 03プロの試合やチーム情報を調査
- 04ヒーロー統計とプレイヤーランキングを比較
MCP 対応
標準インターフェースを通じて、OpenDota APIのプレイヤー、試合、ヒーロー、チーム情報をMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
OpenDota MCP サーバー
OpenDota API データにアクセスするための Model Context Protocol(MCP)サーバー実装です。このサーバーを使用すると、LLM や AI アシスタントが標準インターフェースを通じて、リアルタイムの Dota 2 統計情報、試合データ、プレイヤー情報などを取得できます。
機能
- プレイヤーのプロフィール、統計情報、試合履歴にアクセス
- 詳細な試合情報を取得
- プロプレイヤーやチームを検索
- ヒーローの統計情報やランキングを取得
- 名前でプレイヤーを検索
- その他多数!
インストール
Smithery 経由でのインストール
Smithery 経由で、Claude Desktop 用の OpenDota API Server を自動的にインストールするには:
npx -y @smithery/cli install @asusevski/opendota-mcp-server --client claude
手動インストール
# Clone the repository
git clone https://github.com/asusevski/opendota-mcp-server.git
cd opendota-mcp-server
# Option 1: Automated setup (works with bash, zsh, and other shells)
./scripts/setup_env.sh
# Option 2: Manual installation with uv
uv add pyproject.toml
# For development dependencies
uv pip install -e ".[dev]"
使用方法
環境のセットアップ
- (任意ですが、推奨)https://www.opendota.com/api-keys で OpenDota API キーを作成します
- API キーを環境変数として設定します:
export OPENDOTA_API_KEY=your_api_key_here
サーバーを直接実行する
python -m src.opendota_server.server
Claude Desktop でサーバーを実行する
こちらの手順に従ってください:https://modelcontextprotocol.io/quickstart/user
WSL を使用している場合、リポジトリをクローンして Python 環境をセットアップ済みであれば、次のように claude_desktop_config.json を作成しました:
{
"mcpServers": {
"opendota": {
"command": "wsl.exe",
"args": [
"--",
"bash",
"-c",
"cd ~/opendota-mcp-server && source .venv/bin/activate && python src/opendota_server/server.py"
]
}
}
}
サンプルクライアントを使用する
python -m src.client
含まれるツール:
- 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 - 特定の試合で使用されたヒーローを取得
セキュリティ
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
