asusevski
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"opendota": {
"args": [
"--",
"bash",
"-c",
"cd ~/opendota-mcp-server \u0026\u0026 source .venv/bin/activate \u0026\u0026 python src/opendota_server/server.py"
],
"command": "wsl.exe"
}
}
}
服务介绍
OpenDota MCP 服务器
这是一个用于访问 OpenDota API 数据的 Model Context Protocol (MCP) 服务器实现。该服务器使 LLMs 和 AI 助手能够通过标准接口获取实时 Dota 2 统计数据、比赛数据、玩家信息等。
特性
- 访问玩家资料、统计数据和比赛历史
- 获取详细的比赛信息
- 查找职业玩家和队伍
- 获取英雄统计数据和排名
- 按名称搜索玩家
- 等等!
安装
bash
克隆仓库
git clone https://github.com/asusevski/opendota-mcp-server.git
cd opendota-mcp-server
选项 1:自动化设置(适用于 bash, zsh 和其他 shell)
./scripts/setup_env.sh
选项 2:使用 uv 手动安装
uv add pyproject.toml
对于开发依赖项
uv pip install -e ".[dev]"
使用
设置环境
- (可选但推荐)在 https://www.opendota.com/api-keys 创建一个 OpenDota API 密钥。
- 将您的 API 密钥设置为环境变量:
bash
export OPENDOTA_API_KEY=your_api_key_here
直接运行服务器
bash
python -m src.opendota_server.server
使用 Claude Desktop 运行服务器
请参阅:https://modelcontextprotocol.io/quickstart/user
如果您使用 WSL,假设您已经克隆了仓库并设置了 Python 环境,这是我编写的 claude_desktop_config.json 文件:
json
{
"mcpServers": {
"opendota": {
"command": "wsl.exe",
"args": [
"--",
"bash",
"-c",
"cd ~/opendota-mcp-server && source .venv/bin/activate && python src/opendota_server/server.py"
]
}
}
}
使用示例客户端
bash
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