What does “OpenDota” MCP Server do?
The OpenDota MCP Server is a Model Context Protocol (MCP) server implementation designed to provide AI assistants with seamless access to Dota 2 data via the OpenDota API. By acting as a bridge between large language models (LLMs) and real-time Dota 2 statistics, player profiles, matches, and hero information, it enables AI-powered workflows and tools that can inform, analyze, and automate various Dota 2-related tasks. This server allows AI clients to query detailed match data, track player performance, look up teams and heroes, and access a wealth of game statistics, all through a standardized interface. As a result, developers and users can build advanced applications and assistants that leverage live Dota 2 data for analytics, coaching, reporting, and community engagement.
List of Prompts
No information about prompt templates was found in the repository.
List of Resources
No explicit MCP resources are documented in the repository.
List of Tools
- 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 all 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 a 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.
Use Cases of this MCP Server
- Dota 2 Player Analytics: Retrieve and analyze player statistics, recent matches, and performance trends for coaching or personal improvement.
- Match Reporting and Summaries: Automatically generate detailed match summaries and reports based on real game data for news, blogs, or community forums.
- Professional Scene Tracking: Monitor pro players, teams, and tournament matches to provide real-time updates or scouting reports.
- Hero Meta Analysis: Access hero statistics, rankings, and trends to analyze the current game meta and inform drafting strategies or balance discussions.
- Community Tools & Bots: Power Discord bots, web dashboards, or assistant features that answer Dota 2 queries, lookup players, or provide live match details.
How to set it up
Windsurf
- Ensure you have Python (with uv or venv) and Node.js installed.
- Clone the OpenDota MCP Server repository and set up the Python environment.
- Add the OpenDota MCP Server to your Windsurf configuration.
- Insert the following JSON snippet in your configuration file (e.g.,
windsurf.config.json
):{ "mcpServers": { "opendota": { "command": "python", "args": ["-m", "src.opendota_server.server"] } } }
- Save your configuration and restart Windsurf to activate the server.
Claude
- Set up the MCP server Python environment (see Installation instructions).
- Create or edit your
claude_desktop_config.json
:{ "mcpServers": { "opendota": { "command": "python", "args": ["-m", "src.opendota_server.server"] } } }
- For WSL:
{ "mcpServers": { "opendota": { "command": "wsl.exe", "args": [ "--", "bash", "-c", "cd ~/opendota-mcp-server && source .venv/bin/activate && python src/opendota_server/server.py" ] } } }
- For WSL:
- Save the config and restart Claude Desktop.
- Verify that the OpenDota MCP Server appears in the available MCP servers list.
Cursor
- Prepare your Python environment and install dependencies as per the repo instructions.
- Open your Cursor settings or configuration file.
- Add the OpenDota MCP Server under
mcpServers
:{ "mcpServers": { "opendota": { "command": "python", "args": ["-m", "src.opendota_server.server"] } } }
- Save changes and restart Cursor to apply.
Cline
- Clone and set up the OpenDota MCP Server Python environment.
- Open your Cline configuration.
- Add an entry to the
mcpServers
block:{ "mcpServers": { "opendota": { "command": "python", "args": ["-m", "src.opendota_server.server"] } } }
- Save and restart Cline.
Securing API Keys
- Store your OpenDota API key as an environment variable. Example for
.env
or terminal:OPENDOTA_API_KEY=your_api_key_here
- In JSON config (if supported):
{ "mcpServers": { "opendota": { "command": "python", "args": ["-m", "src.opendota_server.server"], "env": { "OPENDOTA_API_KEY": "your_api_key_here" } } } }
- Do not hardcode API keys in the source code.
How to use this MCP inside flows
Using MCP in FlowHunt
To integrate MCP servers into your FlowHunt workflow, start by adding the MCP component to your flow and connecting it to your AI agent:

Click on the MCP component to open the configuration panel. In the system MCP configuration section, insert your MCP server details using this JSON format:
{
"opendota": {
"transport": "streamable_http",
"url": "https://yourmcpserver.example/pathtothemcp/url"
}
}
Once configured, the AI agent is now able to use this MCP as a tool with access to all its functions and capabilities. Remember to change "opendota"
to whatever the actual name of your MCP server is and replace the URL with your own MCP server URL.
Overview
Section | Availability | Details/Notes |
---|---|---|
Overview | ✅ | High-level summary in README |
List of Prompts | ⛔ | No prompt templates documented |
List of Resources | ⛔ | No explicit MCP resources documented |
List of Tools | ✅ | Comprehensive tool list in README |
Securing API Keys | ✅ | .env.example and README instructions |
Sampling Support (less important in evaluation) | ⛔ | No mention of sampling support |
Our opinion
OpenDota MCP Server is a specialized and well-scoped MCP server for Dota 2 stats, with a clear tool set and good documentation on setup and API key security. However, it lacks prompt templates, explicit MCP resources, and documentation about sampling or roots support. Its utility for Dota 2 analytics and community tools is strong, but broader MCP protocol features are missing.
Overall, we would rate this MCP server a 6/10 for completeness and usability in its niche, but not for general MCP protocol demonstration.
MCP Score
Has a LICENSE | ✅ |
---|---|
Has at least one tool | ✅ |
Number of Forks | 5 |
Number of Stars | 4 |
Frequently asked questions
- What is the OpenDota MCP Server?
The OpenDota MCP Server is a Model Context Protocol server that provides AI assistants with direct access to Dota 2 data, including player stats, match details, hero information, and more, via the OpenDota API.
- What tools does the OpenDota MCP Server provide?
It offers tools to retrieve player profiles, recent matches, win/loss stats, hero stats, pro match data, team info, and more—enabling deep analytics and reporting for Dota 2.
- How do I secure my OpenDota API key?
Store your OpenDota API key as an environment variable (e.g., OPENDOTA_API_KEY=your_api_key_here) and reference it in your configuration file. Avoid hardcoding API keys in source code.
- What are the main use cases for this MCP server?
Typical uses include player analytics, match reporting, tracking professional players and teams, hero meta analysis, and powering community bots or dashboards with Dota 2 data.
- How do I connect this MCP server to FlowHunt?
Add the MCP server details to your FlowHunt workflow's MCP configuration in the required JSON format. Once configured, your AI agent will be able to use all available tools from OpenDota MCP.
Get Started with OpenDota MCP
Connect FlowHunt or your AI assistant to live Dota 2 data for powerful analytics, reporting, and coaching workflows.