article
README
🚀 OpenDota MCP 服务器
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]"
💻 使用示例
🔧 设置环境
- (可选但推荐)在 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 许可证。
扫码联系在线客服