Get the FREE Ultimate OpenClaw Setup Guide →

opendota

MCP server from asusevski/opendota-mcp-server

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio asusevski-opendota-mcp-server python -m src.opendota_server.server \
  --env OPENDOTA_API_KEY="OpenDota API key (required to access API)"

How to use

This MCP server provides access to OpenDota data via a standard Model Context Protocol interface. It exposes tools to fetch player profiles, statistics, match histories, hero data, and professional player information, enabling LLMs and AI assistants to retrieve real-time Dota 2 statistics through simple tool calls. Typical capabilities include querying a player's profile by ID, retrieving recent matches, obtaining detailed match data, exploring hero statistics, and listing professional players and matches. With the server running, you can invoke the included tools to assemble rich, up-to-date Dota 2 insights for chatbots, analytics, or decision-support systems. Use the client tooling to issue requests to the MCP server and receive structured responses that you can incorporate into your AI workflows.

How to install

Prerequisites:

  • Python 3.8+ and a working Python environment
  • Git for cloning the repository
  • Optional: uv (or any local Python environment management you prefer)

Installation steps:

  1. Clone the repository: git clone https://github.com/asusevski/opendota-mcp-server.git cd opendota-mcp-server

  2. Set up your Python environment (example using a virtualenv): python -m venv .venv source .venv/bin/activate # on Windows use .venv\Scripts\activate

  3. Install development dependencies (from repo root): uv pip install -e ".[dev]" # installs the package in editable mode with dev deps

  4. Ensure you have an OpenDota API key and set it as an environment variable (see additional notes for details): export OPENDOTA_API_KEY=your_api_key_here

  5. Run the server directly (for development): python -m src.opendota_server.server

  6. Optional: If you want to run via Smithery for Claude Desktop, follow the Smithery integration guide provided in the repository README and the Smithery dashboard.

Additional notes

Notes and tips:

  • You must provide an OpenDota API key via the OPENDOTA_API_KEY environment variable to access data from the OpenDota API.
  • The server exposes tools such as get_player_by_id, get_player_recent_matches, get_match_data, get_hero_stats, get_pro_players, get_public_matches, and more. Use these tools to compose structured data responses for your AI workflows.
  • When running under Claude Desktop or other MCP clients, you may need to adjust environment variables or use a wrapper script to initialize the Python virtual environment before launching the server.
  • If you encounter rate-limiting from the OpenDota API, consider caching frequent queries or batching requests where possible. Ensure your API key has appropriate permissions.
  • For development, you can run the server directly via: python -m src.opendota_server.server, which loads the module as the MCP endpoint.

Related MCP Servers

Sponsor this space

Reach thousands of developers