OpenDota
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
Jump to
- 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:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
OpenDotaCommand (node, npx, python, etc.)bashArguments-
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.
-
Argument 1
- 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:
bashexport OPENDOTA_API_KEY=your_api_key_here
Running The Server Directly
bashpython -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
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
```bashSign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





