OpenDota

by asusevski

4 stars
208 downloads
Not rated
GitHub

About

Integrates with the OpenDota API to provide real-time Dota 2 statistics, match data, and player information for game analysis, performance tracking, and esports research.

Details

Author
asusevski
Repository
asusevski/opendota-mcp-server
GitHub stars
4
Downloads
208
License
MIT License
Categories
Cloud Service, Infrastructure, Developer Tools, Design, File Management, AI, Search, Knowledge Base, Other
Tags
#integration, #analytics

- 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!

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name OpenDota
    Command (node, npx, python, etc.) bash
    Arguments
    • Argument 1 -c
    • Argument 2 cd ~/opendota-mcp-server && source .venv/bin/activate && python src/opendota_server/server.py

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

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

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:

bash
export OPENDOTA_API_KEY=your_api_key_here

Running The Server Directly

bash
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:

json
{
"mcpServers": {
"opendota": {
"command": "wsl.exe",
"args": [
"--",
"bash",
"-c",
"cd ~/opendota-mcp-server && source .venv/bin/activate && python src/opendota_server/server.py"
]
}
}
}
```

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.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "opendota": {
            "env": {},
            "args": [
                "-c",
                "cd ~/opendota-mcp-server && source .venv/bin/activate && python src/opendota_server/server.py"
            ],
            "shell": true,
            "command": "bash"
        }
    }
}

Linux

{
    "env": [],
    "args": [
        "-c",
        "cd ~/opendota-mcp-server && source .venv/bin/activate && python src/opendota_server/server.py"
    ],
    "shell": true,
    "command": "bash"
}

Macos

{
    "env": [],
    "args": [
        "-c",
        "cd ~/opendota-mcp-server && source .venv/bin/activate && python src/opendota_server/server.py"
    ],
    "shell": true,
    "command": "bash"
}

Windows

{
    "env": [],
    "args": [
        "--",
        "bash",
        "-c",
        "cd ~/opendota-mcp-server && source .venv/bin/activate && python src/opendota_server/server.py"
    ],
    "shell": true,
    "command": "wsl.exe"
}

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

```bash
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.