1. Conduid
  2. Developer Tools
  3. OpenDota
MCP server · Developer Tools

OpenDota

Interact with OpenDota API to retrieve Dota 2 match data, player statistics, and more.

Unclaimed MIT last commit a year ago devtools
47Fair

Scored 5 months ago · breakdown

About OpenDota

OpenDota is an MCP server published by asusevski in the Developer Tools category: interact with OpenDota API to retrieve Dota 2 match data, player statistics, and more.

The repository has 9 stars and 7 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

From source
git clone https://github.com/asusevski/opendota-mcp-server

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about OpenDota

Powered by Claude · Grounded in docs

I know everything about OpenDota. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 7 days ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • ✓Tests presentA test suite exists in the repository.
  • !Dependencies pinnedNo lockfile. Installs can pull different code over time.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

README

OpenDota MCP Server

smithery badge

A Model Context Protocol (MCP) server implementation for accessing OpenDota API data. This server enables LLMs and AI assistants to retrieve real-time Dota 2 statistics, match data, player information, and more through a standard interface.

Features

  • Access player profiles, statistics, and match history
  • Retrieve detailed match information
  • Look up professional players and teams
  • Get hero statistics and rankings
  • Search for players by name
  • And more!

Installation

Installing via Smithery

To install OpenDota API Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @asusevski/opendota-mcp-server --client claude

Manual Installation

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

Usage

Setting up your environment

  1. (Optional but recommended) Create an OpenDota API key at https://www.opendota.com/api-keys
  2. Set your API key as an environment variable:
export OPENDOTA_API_KEY=your_api_key_here

Running the server directly

python -m src.opendota_server.server

Running the server with Claude Desktop

Follow this: https://modelcontextprotocol.io/quickstart/user

If you use WSL, assuming you have cloned the repo and set up the python environment, this is how I wrote the 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"
      ]
    }
  }
}

Using the example client

python -m src.client

Specific tools included:

  • get_player_by_id - Retrieve player information by account ID
  • get_player_recent_matches - Get recent matches for a player
  • get_match_data - Get detailed data for a specific match
  • get_player_win_loss - Get win/loss statistics for a player
  • get_player_heroes - Get a player's most played heroes
  • get_hero_stats - Get statistics for heroes
  • search_player - Search for players by name
  • get_pro_players - Get list of professional players
  • get_pro_matches - Get recent professional matches
  • get_player_peers - Get players who have played with a specified player
  • get_heroes - Get list of all Dota 2 heroes
  • get_player_totals - Get player's overall stats totals
  • get_player_rankings - Get player hero rankings
  • get_player_wordcloud - Get most common words used by player in chat
  • get_team_info - Get information about a team
  • get_public_matches - Get recent public matches
  • get_match_heroes - Get heroes played in a specific match

Security

MseeP.ai Security Assessment Badge

License

MIT

README fetched from the repository 7 days ago. The original is authoritative.

Questions

About OpenDota

How do I install OpenDota?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is OpenDota safe to use with an AI agent?

Its trust score is 47 out of 100 (fair). It passes 4 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is OpenDota still maintained?

The last commit was a year ago and 1 open issues. That's long enough that you should check whether the maintainer is responding to issues before depending on it.