Dota 2数据访问服务

OpenDota MCP Server是一个通过标准接口为LLMs和AI助手提供实时Dota 2统计数据、比赛数据和玩家信息的服务。

  • by asusevski
  • Python
  • 本地部署
  • 9 星标
  • 更新于
在 GitHub 查看 asusevski/opendota-mcp-server

使用说明

OpenDota MCP 服务器

一个用于访问OpenDota API数据的模型上下文协议(MCP)服务器实现。该服务器使大型语言模型(LLMs)和人工智能助手能够通过标准接口检索Dota 2的实时统计数据、比赛数据、玩家信息等。

特点/功能

  • 访问球员资料、统计数据和比赛历史
  • 获取详细的比赛信息
  • 查找职业选手和团队
  • 获取英雄统计数据和排名
  • 按名字搜索玩家
  • 还有更多!

安装

通过Smithery进行安装

通过以下方式自动为Claude Desktop安装OpenDota API服务器: “Smithery”可以翻译为“铁匠铺”或“锻造工坊”。这个词汇源自对铁匠或锻造工匠的称呼,并延伸为他们工作或进行锻造活动的场所:

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]"

使用

设置您的环境

  1. (可选但建议)在https://www.opendota.com/api-keys创建一个OpenDota API密钥
  2. 将您的API密钥设置为环境变量:
export OPENDOTA_API_KEY=your_api_key_here

直接运行服务器

python -m src.opendota_server.server

使用Claude Desktop运行服务器

请遵循以下链接:https://modelcontextprotocol.io/quickstart/user

如果你使用的是WSL(Windows Subsystem for Linux),假设你已经克隆了仓库并设置了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

具体工具包括:

  • 通过账号ID获取玩家信息 - get_player_by_id
  • 获取玩家最近比赛 - 获取某玩家的最近比赛记录
  • 获取比赛数据 - 获取特定比赛的详细数据
  • 获取玩家胜负记录 - 获取某位玩家的胜负统计数据
  • 获取玩家英雄 - 获取玩家玩得最多的英雄
  • 获取英雄数据 - 获取英雄的统计数据
  • search_player - 按名称搜索玩家
  • 获取职业玩家列表 - get_pro_players
  • 获取职业比赛信息 - 获取最近的职业比赛
  • 获取与指定玩家一起玩过的玩家 - 获取曾与指定玩家同场竞技的玩家列表
  • 获取英雄列表 - 获取所有Dota 2英雄的列表
  • 获取球员总数据 - 获取球员的总体统计数据总计
  • 获取玩家英雄排名 - 获取玩家在英雄(或游戏角色)方面的排名
  • 获取玩家词云 - 获取玩家在聊天中最常用的单词
  • 获取团队信息 - 获取关于一个团队的信息
  • 获取公开比赛 - 获取最近的公开比赛
  • get_match_heroes - 获取特定比赛中使用的英雄

安全

许可证

麻省理工学院(MIT)