Retrieve player information by account ID
Get recent matches for a player
Get detailed data for a specific match
Get win/loss statistics for a player
Get a player's most played heroes
Get statistics for heroes
Search for players by name
Get list of professional players
Get recent professional matches
Get players who have played with a specified player
Get list of all Dota 2 heroes
Get player's overall stats totals
Get player hero rankings
Get most common words used by player in chat
Get information about a team
Get recent public matches
Get heroes played in a specific match
The OpenDota MCP server provides a comprehensive interface for AI assistants to retrieve and analyze Dota 2 game data. It connects to the OpenDota API, allowing access to detailed player profiles, match statistics, professional player information, hero data, and more. With this MCP, AI assistants can help users track their Dota 2 performance, analyze match history, compare statistics with other players, and stay updated on professional matches. The server supports a wide range of queries from basic player lookups to detailed match analysis and hero statistics.
git clone https://github.com/asusevski/opendota-mcp-server.git
cd opendota-mcp-server
Set up the environment:
./scripts/setup_env.sh
uv add pyproject.toml
# For development dependencies
uv pip install -e ".[dev]"
(Optional but recommended) Create an OpenDota API key:
export OPENDOTA_API_KEY=your_api_key_here
.env
file based on the .env.example
templateRun the server directly with Python:
python -m src.opendota_server.server
To use with Claude Desktop, create a claude_desktop_config.json
file in the appropriate location for your system:
%APPDATA%\Claude\claude_desktop_config.json
~/Library/Application Support/Claude/claude_desktop_config.json
~/.config/Claude/claude_desktop_config.json
Add the following configuration (adjust paths as needed):
{
"mcpServers": {
"opendota": {
"command": "python",
"args": [
"-m",
"src.opendota_server.server"
],
"cwd": "/path/to/opendota-mcp-server"
}
}
}
For WSL users, use this configuration:
{
"mcpServers": {
"opendota": {
"command": "wsl.exe",
"args": [
"--",
"bash",
"-c",
"cd ~/opendota-mcp-server && source .venv/bin/activate && python src/opendota_server/server.py"
]
}
}
}
You can test the server using the included example client:
python -m src.client
Once the server is running, you can use it with compatible AI assistants to:
Look up player statistics:
Analyze match data:
Research hero information:
Find professional players and matches:
Search for players: