Vinkius
OpenDota

OpenDota MCP for AI. Analyze deep match data and MMR trends.

Claude Claude
ChatGPT ChatGPT
Cursor Cursor
Gemini Gemini
Windsurf Windsurf
VS Code VS Code
JetBrains JetBrains
Vercel Vercel
See Vinkius in Action

Works with every AI agent you already use

…and any MCP-compatible client

OpenDota MCP on Cursor AI Code EditorOpenDota MCP on Claude Desktop AppOpenDota MCP on OpenAI Agents SDKOpenDota MCP on Visual Studio CodeOpenDota MCP on GitHub Copilot AI AgentOpenDota MCP on Google Gemini AIOpenDota MCP on Lovable AI DevelopmentOpenDota MCP on Mistral AI AgentsOpenDota MCP on Amazon AWS Bedrock

Connect to your AI in seconds.

OpenDota gives your AI client direct access to one of the largest Dota 2 match databases. Pull player profiles, analyze full match histories, check team rosters, and track all-time records for heroes and players—all without needing an API key for basic use.

This is how you pull raw esports data into conversation.

What your AI can do

Get benchmarks

Compares any player’s statistics—like win rate or damage output—against the overall performance of the Dota 2 player base.

Get constants

Pulls predefined data sets, such as lists defining different game modes or lobby types.

Get distributions

Shows the count of players in every rank bracket (Herald through Immortal), helping you map the overall player base's MMR health.

+ 15 more capabilities included
Player Profile Retrieval

Get specific player data like rank tier, MMR estimate, total matches played, and country using get_player.

Match History Analysis

Pull a player's full match history or recent games to review performance trends and hero usage patterns via get_player_matches or get_player_recent_matches.

Deep Match Detailing

Get every piece of data from a single professional match, including item builds, damage metrics, objectives, and chat logs using get_match.

System Data Querying

Run advanced custom SQL queries against the entire dataset using run_explorer_query, allowing for deep meta-game trend identification.

Hero Pool Comparison

Identify a player's strongest and weakest heroes by pulling their win/loss records for each hero via get_player_wl.

Included with Plan

Waiting for input…

AI Agent

OpenDota MCP Server: 18 Tools for Esports Analytics

Analyze Dota 2 by pulling specific metrics on players, teams, heroes, and full matches using specialized tools.

Make your AI actually useful.

Add this MCP to Claude, Cursor, or Windsurf and your AI stops guessing. It gets real tools to look things up, take action, and handle the stuff you keep doing by hand.

Start using OpenDota on Vinkius

Get Benchmarks

Compares any player’s statistics—like win rate or damage output—against the overall performance of the Dota 2 player base.

Get Constants

Pulls predefined data sets, such as lists defining different game modes or lobby...

Get Distributions

Shows the count of players in every rank bracket (Herald through Immortal), helping...

Run Explorer Query

Executes a custom SQL query string against the entire database for advanced...

Get Match

Returns a complete breakdown for one match, including all 10 heroes, their items...

Get Player

Retrieves a player's current profile picture, rank tier, MMR estimate, total matches, and win rate.

Get Player Heroes

Calculates performance metrics specifically for all the heroes a given player has used throughout their career.

Get Player Matches

Lists every match played by a user, including hero, result, KDA, and duration...

Get Player Recent Matches

Provides the last 20 matches for quick viewing of a player's current form and...

Get Player Records

Shows all-time personal records for a player, listing the match ID and specific...

Get Player Wl

Displays how many times a player has won versus lost with each hero they've played.

Get Records

Identifies the all-time record holders for various game metrics (like kills, gold per min) across all public matches.

Get Team

Pulls detailed info on a professional team, including their current roster, rating, and win/loss track record.

List Heroes

Returns the full list of all 124 Dota 2 heroes and key details like roles and...

List Leagues

Provides a directory of professional leagues, giving their IDs, tiers, regions, and...

List Recent Matches

Returns up to 500 recent public matches, including MMR averages and the winner for...

List Teams

Lists all professional teams sorted by their rating, showing basic stats like...

Search

Finds IDs and names for players, teams, leagues, or heroes when you only know their common name.

Security and governance baked right in.

Pick your AI client below to get set up. Just create a Vinkius account, subscribe, and you're instantly up and running. We handle the entire backend infrastructure, delivering out-of-the-box support for HTTPS Streamable, SSE, and OAuth2—zero messy routing required.

Claude AI

Claude AI

1

Open Claude Settings

Go to claude.ai, click your profile icon, then navigate to Customize → Connectors.

2

Add Custom Connector

Click the "+" button and select Add custom connector. Paste your Vinkius endpoint URL:

https://edge.vinkius.com/[YOUR_TOKEN_HERE]/mcp

Replace [YOUR_TOKEN_HERE] with your token from cloud.vinkius.com. For OAuth-protected servers, expand Advanced settings to add credentials.

3

Start a conversation

Open a new chat. The OpenDota integration is available immediately — no restart needed.

Choose How to Get Started

Build a custom MCP for your own tools, or connect a ready-made integration from our catalog.

Build Your Own

Turn any API into an MCP. Import a spec, define Agent Skills, or deploy with MCPFusion.

  • Import from OpenAPI, Swagger, or YAML specs
  • Create Agent Skills with progressive disclosure
  • Deploy to edge with MCPFusion framework
  • Built in DLP, auth, and compliance on every call
  • Real time usage dashboard and cost metering
  • Publish to catalog or keep private
Start building

Make Your AI Do More

Start with OpenDota, then connect any of our 5,100+ other servers whenever your AI needs more. One click, no limits.

  • Use this MCP plus 5,100+ others, all in one place
  • Add new capabilities to your AI anytime you want
  • Every connection is secured and compliant automatically
  • Track usage and costs across all your servers
  • Works with Claude, ChatGPT, Cursor, and more
  • New servers added to the catalog every week
OpenDota MCP server cover

Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by OpenDota. All third-party trademarks, logos, and brand names are the property of their respective owners. Their use on this website is strictly for informational purposes to identify service compatibility and interoperability.

VINKIUS INFRASTRUCTURE

Cloud Hosted

Managed infra

V8 Isolated

Sandboxed per request

Zero-Trust Proxy

No stored credentials

DLP Enforced

Policy on every call

GDPR Compliant

EU data residency

Token Compression

~60% cost reduction

Your data is protected. See how we built it.

Works with Claude, ChatGPT, Cursor, and more

The Model Context Protocol standardizes how applications expose capabilities to LLMs. Instead of operating in isolation, your AI gains direct access to external platforms, live data, and real-world actions through secure, standardized connections.

This connection provides 18 powerful capabilities that interface natively with Claude, ChatGPT, Cursor, and other compatible AI platforms. No middleware. No custom integration required.

Reviewing a team's performance used to mean hours of spreadsheet clicking and tab-jumping.

Before MCP, checking a pro team's record meant visiting their website, cross-referencing player profiles across multiple tabs, manually noting down win/loss streaks, and then trying to figure out if the data was even from the same season. It was tedious, error-prone work.

Now, you ask your agent: 'Give me the team's full roster and their last 20 match results.' You get a single, clean response using `get_team` combined with `list_recent_matches`. The data lands right in your chat window.

OpenDota MCP Server: Get every detail from one professional game.

Trying to understand what happened during a single match—who got the crucial kill, which item was built when, or how much damage was done by objectives—used to require watching VODs and then taking notes. It's slow and you always miss something.

With `get_match`, your agent pulls everything in one go: KDA for all 10 players, a full list of items built, damage dealt, and objective status. You don't watch the game; you read the data.

What your AI can actually do with this

OpenDota MCP Server - Analyze Dota 2 Match Data

You're getting your AI client direct access to one of the largest Dota 2 match databases out there. Instead of spending time on complicated websites or juggling a dozen APIs, you just ask natural questions and get structured data back. This lets you pull raw esports metrics straight into conversation.

To track individual player performance, use get_player to grab current details like their rank tier, MMR estimate, total matches played, and country. For a quick look at recent form, get_player_recent_matches pulls the last twenty games. If you need a full career rundown, get_player_matches lists every single match they've played, including the hero used, result, KDA, and duration, sorted by what happened most recently.

For deep performance checks, get_benchmarks compares any player’s stats—like their win rate or damage output—against how the entire Dota 2 population performs. You can also run get_player_wl to see exactly how many times a specific player won versus lost with every hero they've ever played. To identify all-time personal high scores, get_player_records shows every record a player holds, listing the match ID and the metric value (like their highest kill count).

When you need to understand what's going down in professional play, start with the team level. Use get_team to pull detailed intel on a pro squad, including their current roster, rating, and win/loss track record. To review any single game, get_match returns every piece of data from that match: all ten heroes, their item builds, KDA, damage totals, and objectives hit in professional contests.

For the general league overview, you can use list_leagues for a directory of pro leagues, giving you IDs, tiers, regions, and tournament dates.

For meta-game analysis across the whole population, get_distributions shows you how many players are sitting in every single rank bracket, from Herald all the way up to Immortal. You can also check overall player status using list_recent_matches, which returns up to 500 recent public matches and includes MMR averages and the winner for fast browsing.

If you're looking at team listings generally, list_teams lists every professional team, sorted by their rating, along with basic stats like wins/losses and when they last played.

To pull data on a player's hero usage across their entire career, run get_player_heroes, which calculates performance metrics specifically for all the heroes that given player has used. To see what records are held universally, use get_records to identify all-time record holders for various game metrics like kills or gold per minute across every public match.

The database also keeps track of system constants; you can pull predefined data sets using get_constants, such as lists that define different game modes or lobby types.

When you're hunting down IDs and names—say, finding a player when you only know their common name—use the search tool. If you need to dive into advanced meta-game trends or run complex queries nobody else can handle, run_explorer_query executes custom SQL against the whole database for deep analysis. To get basic reference points, list_heroes returns the full roster of all 124 Dota 2 heroes and their key attributes, roles, and details.

Built · Hosted · Managed by Vinkius OpenDota MCP Server - Analyze Dota 2 Match Data
Server ID 019d8466-734f-73bf-b25c-e803171a2fb8
Vinkius Inspector
Compliance Grade A+
Score 98.33/100
Vinkius Inspector Badge — Score 98.33/100

Questions you might have

Do I need an API key? +

No! OpenDota provides free access with 60,000 requests/hour without any API key. An optional free API key is available from opendota.com for higher rate limits, but it's not required.

How do I find a player's account ID? +

Use the search tool with the player's name (e.g. 'Arteezy', 'SumaiL', 'Topson'). The results include their Steam account ID which you can then use with player-specific tools. You can also find account IDs on sites like dotabuff.com or stratz.com.

What data is available for matches? +

Match data includes: all 10 players' heroes, items, KDA, GPM, XPM, hero damage, tower damage, healing, lane positions, draft picks, chat logs, team objectives, ability builds and more. Professional matches have even more detailed data including observer ward placements and rune pickups.

How many heroes are in Dota 2? +

Dota 2 currently has 124 heroes, each with unique abilities and roles. Use list_heroes to see the complete list with their IDs, names, primary attributes (Strength, Agility, Intelligence, Universal) and roles (carry, support, offlane, mid).

What are the rate limits when using get_player or other stat tools? +

The server provides 60k requests per hour for basic access. If you're building a large-scale application, check the Vinkius documentation for advanced usage options or dedicated batch endpoints.

How do I use run_explorer_query to analyze player performance? +

You provide a full SQL query string that defines your desired calculation. The service runs this against the database and returns results as a structured array of data rows for immediate analysis.

What is get_constants for, and how do I use it? +

This tool retrieves specific constant sets that define game context (like 'game_mode' or 'patch'). You specify the resource name to understand parameters not available in standard player stats.

Before running get_benchmarks, how do I find a hero ID? +

You must call list_heroes first. This tool returns all 124 heroes and their corresponding IDs, which you then use to accurately benchmark any player's performance.

Built & Managed by Vinkius 30s setup 18 tools

We've already built the connector for OpenDota. Just plug in your AI agents and start using Vinkius.

No hosting. No infrastructure. No complex setup.
All 18 tools are live and waiting. You're up and running in seconds.

Vinkius runs on Claude Claude
Vinkius runs on ChatGPT ChatGPT
Vinkius runs on Cursor Cursor
Vinkius runs on Gemini Gemini
Vinkius runs on Windsurf Windsurf
Vinkius runs on VS Code VS Code
Vinkius runs on JetBrains JetBrains
Vinkius runs on Vercel Vercel
+ other MCP clients

Vinkius gives your AI agents access to the full catalog of app connectors, all fully managed, secure, and enterprise-ready. One subscription, every tool you need.

Zero hosting required Full MCP catalog included Enterprise-grade security Auto-updated by Vinkius

Built, hosted, and secured by Vinkius. You just connect and go.