Opendota MCP Server logo

Opendota MCP Server

by hkaanengin

Query Dota 2 player, hero, match, and reference data through OpenDota using MCP tools.

Install Opendota MCP Server

Pick your client, then add it in one click or paste the config.

Streamable HTTP (Remote)
Server URL
https://opendota-mcp-server-jylza6gata-ew.a.run.app/mcp

Remote servers are added in the app, not the config file: Customize → Connectors → Add custom connector, then paste this URL.

Overview

The hkaanengin/opendota-mcp-server MCP server exposes OpenDota data for Dota 2 player statistics, hero information, match details, and lookups. It runs locally over stdio or remotely over HTTP, with fuzzy matching for hero names, lane positions, and time filters. Use it when an AI assistant needs structured Dota 2 analysis without manually calling the OpenDota API.

Use cases

  • Analyze a player's win rate and recent matches
  • Compare hero matchup win rates
  • Find popular item builds by game phase
  • Resolve Dota 2 hero names and IDs
  • Inspect parsed match performance data

Key features

  • 20+ MCP tools for Dota 2 data
  • Player, hero, match, and lookup functions
  • Fuzzy matching for names and filters
  • Stdio and HTTP transport modes
  • Reference-data caching
  • Optional OpenDota API key support

Tools20

What Opendota MCP Server lets your agent do. Expand a tool for its parameters.

Self-reported~258 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 2d ago

Recent health check succeeded.

18/18 checks healthy over the last 86d

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars5Stargazers on the source repository.
Last commit5d agoMost recent push to the default branch.
Tools exposed20Callable tools this server registers over MCP.
Directory activity6 viewsConfig copies, upvotes, and views on AllMCPs.

How Opendota MCP Server works

What hkaanengin/opendota-mcp-server MCP server does

The hkaanengin/opendota-mcp-server MCP server connects MCP-compatible assistants to the OpenDota API. Its tools cover player profiles and performance, hero statistics and matchups, item popularity, match records, and OpenDota reference data.

Player tools can retrieve a profile, win and loss totals, frequently played heroes, peers, aggregate statistics, histograms, and recent matches. Hero tools list available heroes, return aggregated pick and performance data, compare hero matchups, and show popular item builds by game phase. Match tools provide full match details and parsed match data with additional analytics.

Lookup tools translate user-friendly inputs into API parameters or IDs. For example, the server can resolve a hero name, including misspellings, convert a lane or position name into a lane-role ID, and turn a time-period name into OpenDota filter parameters.

How it works

The server exposes more than 20 MCP tools grouped into player, hero, match, lookup, and miscellaneous functions. An assistant calls the relevant tool, and the server queries OpenDota or uses its reference data to return the result.

Natural-language-oriented lookup behavior reduces the need to know exact hero names, lane identifiers, or statistical field names. The server also includes local caching for reference data such as hero and item information. Built-in rate limiting is intended to respect OpenDota request limits.

Two transport modes are available. Stdio is intended for a locally running process, while HTTP supports a deployed server that clients can access remotely. The repository documents a public HTTP endpoint and also describes deployment to Google Cloud Run or another container platform.

Setup and configuration

The hkaanengin/opendota-mcp-server MCP server requires Python 3.10 or later and pip when installed from source. The documented source workflow clones the repository, creates a virtual environment, and installs either runtime dependencies or development dependencies with pip. After installation, it can be started with the opendota-mcp command, as a Python module, or with the included shell script.

For Claude Desktop, configure the local executable in claude_desktop_config.json and restart the application. The repository also documents a Docker-based stdio configuration and a remote HTTP configuration using the published endpoint.

Configuration values include MCP_TRANSPORT for stdio or http, PORT for HTTP mode, and LOG_LEVEL for logging verbosity. OPENDOTA_API_KEY is optional. Anonymous use is documented at 60 requests per minute; adding an OpenDota key provides higher limits for registered users. The key is obtained from OpenDota after signing in with a Steam account.

Tools and capabilities

  • Query player profiles, win/loss records, hero usage, peers, totals, histograms, and recent matches.
  • List heroes and retrieve hero statistics, matchup results, and phase-specific item popularity.
  • Retrieve comprehensive or parsed match information.
  • Search for players by name.
  • Resolve hero names, hero IDs, lane names, and time-period filters.
  • Retrieve OpenDota constants and player counts by rank tier.

Limitations and notes

The server depends on the availability and request limits of the OpenDota API. An API key is not needed to run it, but anonymous requests have lower documented limits. HTTP mode requires a deployed server or use of the public endpoint, while local integrations require a Python installation, an installed project environment, or Docker.

The repository excerpt also does not specify a software license.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Opendota MCP Server

Clone the repository, create a Python 3.10+ virtual environment, and run `pip install -e .` for runtime dependencies or `pip install -e ".[dev]"` for development dependencies.

Yes. The repository documents local stdio configuration for Claude Desktop and provides a Docker-based alternative.

No. The key is optional, though it is recommended for higher rate limits. Anonymous access is documented at 60 requests per minute.

It can retrieve player statistics, hero data, match details, parsed match analytics, player searches, OpenDota constants, and player counts by rank tier.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewOpendota MCP Server AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/hkaanengin-opendota-mcp-server?style=directory)](https://allmcps.com/mcp/hkaanengin-opendota-mcp-server)
HTML Embed
<a href="https://allmcps.com/mcp/hkaanengin-opendota-mcp-server"><img src="https://allmcps.com/api/badge/hkaanengin-opendota-mcp-server?style=directory" alt="Opendota MCP Server on AllMCPs" /></a>