OpenDota MCP Server

Integrate real-time Dota 2 analytics into your workflows with the OpenDota MCP Server, powering AI applications, bots, and dashboards with up-to-date player, match, and hero data.

OpenDota MCP Server

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

  1. Ensure you have Python (with uv or venv) and Node.js installed.
  2. Clone the OpenDota MCP Server repository and set up the Python environment.
  3. Add the OpenDota MCP Server to your Windsurf configuration.
  4. Insert the following JSON snippet in your configuration file (e.g., windsurf.config.json):
    {
      "mcpServers": {
        "opendota": {
          "command": "python",
          "args": ["-m", "src.opendota_server.server"]
        }
      }
    }
    
  5. Save your configuration and restart Windsurf to activate the server.

Claude

  1. Set up the MCP server Python environment (see Installation instructions).
  2. 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"
            ]
          }
        }
      }
      
  3. Save the config and restart Claude Desktop.
  4. Verify that the OpenDota MCP Server appears in the available MCP servers list.

Cursor

  1. Prepare your Python environment and install dependencies as per the repo instructions.
  2. Open your Cursor settings or configuration file.
  3. Add the OpenDota MCP Server under mcpServers:
    {
      "mcpServers": {
        "opendota": {
          "command": "python",
          "args": ["-m", "src.opendota_server.server"]
        }
      }
    }
    
  4. Save changes and restart Cursor to apply.

Cline

  1. Clone and set up the OpenDota MCP Server Python environment.
  2. Open your Cline configuration.
  3. Add an entry to the mcpServers block:
    {
      "mcpServers": {
        "opendota": {
          "command": "python",
          "args": ["-m", "src.opendota_server.server"]
        }
      }
    }
    
  4. 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:

FlowHunt MCP flow

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

SectionAvailabilityDetails/Notes
OverviewHigh-level summary in README
List of PromptsNo prompt templates documented
List of ResourcesNo explicit MCP resources documented
List of ToolsComprehensive 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 Forks5
Number of Stars4

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.

Learn more