article
README
🚀 OpenDota MCP 服务器
这是一个用于访问 OpenDota API 数据的 Model Context Protocol (MCP) 服务器实现,能让大型语言模型 (LLMs) 和 AI 助手通过标准接口实时获取 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]"
💻 使用示例
配置环境
- (可选但推荐)在 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
扫码联系在线客服