OpenDota MCP 服务器是一个基于 Model Context Protocol (MCP) 的实现,旨在为大语言模型(LLMs)和 AI 助手提供标准接口,以便它们能够轻松访问 OpenDota API 中的实时 Dota 2 统计信息、比赛数据、玩家信息等。
OpenDota MCP 服务器允许大语言模型和 AI 助手通过标准接口获取实时 Dota 2 数据。以下是使用此服务器的基本步骤:
# 克隆仓库
git clone https://github.com/asusevski/opendota-mcp-server.git
cd opendota-mcp-server
# 方案 1:自动化设置(适用于 bash、zsh 等外壳)
./scripts/setup_env.sh
# 方案 2:手动安装与 uv
uv add pyproject.toml
# 开发依赖项
uv pip install -e ".[dev]"
export OPENDOTA_API_KEY=your_api_key_here
python -m src.opendota_server.server
请参考: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 许可证。