A Model Context Protocol (MCP) server implementation for accessing OpenDota API data. This server enables LLMs and AI assistants to retrieve
Connect Opendota to Claude, Cursor or any other MCP client and it stops being a tab you switch to. 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. The opendota mcp server is what makes that connection.
The toolset is worth reading before you wire it up, because it tells you what the integration is really for:
get_player_by_id — Retrieve player information by account IDget_player_recent_matches — Get recent matches for a playerget_match_data — Get detailed data for a specific matchget_player_win_loss — Get win/loss statistics for a playerget_player_heroes — Get a player's most played heroesget_hero_stats — Get statistics for heroessearch_player — Search for players by nameget_pro_players — Get list of professional playersget_pro_matches — Get recent professional matchesget_player_peers — Get players who have played with a specified playerget_heroes — Get list of all Dota 2 heroesget_player_totals — Get player's overall stats totalsInstallation goes through your MCP client rather than a global install: point it at @smithery/cli on npm and it is fetched when the client starts. The copy-paste blocks for Claude Desktop, Claude Code and Cursor are further down this page.
Configuration is passed through the environment: OPENDOTA_API_KEY. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.
This sits in the team communication group, where several servers overlap in what they claim to do but differ sharply once you actually set them up. Opendota's toolset — get_player_by_id, get_player_recent_matches, get_match_data and 11 more — is a fair guide to whether it matches your workflow. It is maintained by asusevski; worth a glance at recent repository activity before you build anything load-bearing on it.
This entry was verified against Opendota's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.
| Tool | What it does |
|---|---|
| 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 |
{
"mcpServers": {
"opendota": {
"command": "wsl.exe",
"args": [
"--",
"bash",
"-c",
"cd ~/opendota-mcp-server && source .venv/bin/activate && python src/opendota_server/server.py"
]
}
}
}Configuration as documented by the project. Restart the client after saving.
| Variable | Description | Required |
|---|---|---|
| OPENDOTA_API_KEY | Credential the server authenticates with. | Yes |
Your assistant inside the workspace — read channels, search history, post messages and tame the noise.
Inbox intelligence — search, read, draft and send Gmail through your assistant with OAuth auto-setup.
Read and write Jira, Confluence, Bitbucket, JSM and Compass from your AI client — with your own permissions.
Read and send Telegram messages through your assistant — chats, channels and history via the client API.
Enables Discord bot integration with Model Context Protocol (MCP) compatible applications like Claude Desktop.
Exposes REST APIs defined by OpenAPI specifications as Model Context Protocol (MCP) tools, facilitating seamless integration into MCP-based workflows.