# OpenDota MCP for AI Agents AI Agent Connect

> OpenDota MCP lets you pull Dota 2 match data, player stats, and pro league info directly into your AI client. It handles everything from hero benchmarks to all-time records without needing you to mess with API keys for basic use. It's the fastest way to turn raw esports data into actionable insights.

## Overview
- **Category:** data-analytics
- **Price:** Free
- **Endpoint:** https://edge.vinkius.com/vk_preview_QCQhZCi4FGuOnmUAW6BIZQy0fLRUAkdbHvd95lVq/ai-agent-connect
- **Tags:** esports, match-parsing, player-stats, team-analytics, game-data

## Description

This Connector lets you pull Dota 2 match data, player stats, and pro league info directly into your AI client. Instead of jumping between five different tabs to check hero win rates and cross-reference team rosters, you just ask your agent to do it. It takes the friction out of data hunting by connecting your AI client to the OpenDota database. You can grill it on player performance, look up the specific items a pro used in a tournament last night, or find the exact MMR distribution for a specific rank tier. It makes the data show up in a clean, readable format. Whether you're building a scouting report for a local team or just trying to see how your own KDA stacks up against the pros, the info appears without the headache of manual data entry. You don't have to worry about rate limits or complex queries for standard lookups. It sits in the Vinkius catalog alongside your other tools, so you can pivot from analyzing a single match to browsing entire league histories in one go. You get the data you need without navigating clunky web interfaces or wrestling with messy spreadsheets. You can deep dive into the numbers of the current meta, find historical records that define the game, and get a clear picture of the professional landscape. It's about moving from searching for information to actually using it to make better calls in your own games or your analysis.

## Tools

### get_benchmarks
Compares a player's stats against the general population for a specific hero. It helps you see if a hero is actually strong or just popular.

### get_constants
Fetches specific constant data like game modes or lane roles. Use this to get the correct naming conventions for the game.

### get_distributions
Shows how many players fall into each rank tier across the game. It helps you understand where a player stands in the overall population.

### run_explorer_query
Executes custom SQL queries for deep data analysis on the OpenDota database. This is for advanced users who need specific data sets.

### get_match
Pulls every detail from a specific match, including draft picks and chat logs. It gives you a complete picture of a single game.

### get_player
Retrieves a player's rank, win rate, and country based on their Steam ID. Use this to get a summary of any pro or public account.

### get_player_heroes
Breaks down a player's hero pool to show which characters they play most. It's perfect for identifying a player's signature picks.

### list_recent_matches
Browses up to 500 recent public matches to find specific game IDs. This is your starting point for finding specific match details.

### get_player_matches
Lists a player's entire history of matches sorted by the most recent. Use this to see the long-term trends of a specific account.

### get_player_recent_matches
Grabs the last 20 matches to check a player's current form. This is great for seeing how a pro is performing this week.

### get_player_records
Pulls personal records for specific stats like hero damage or kills. It shows the best individual performances a player has achieved.

### get_player_wl
Shows the win and loss record for every hero a player has ever played. It reveals their strongest and weakest picks at a glance.

### get_records
Finds the all-time top holders for stats like gold per minute and hero healing. Use this to find the most legendary stats in history.

### get_team
Provides the roster, rating, and recent results for professional teams. It gives you a quick snapshot of a team's current status.

### list_heroes
Returns a list of all 124 heroes and their primary attributes. Use this to discover hero IDs for more specific queries.

### list_leagues
Shows all professional leagues with their tiers and regional info. It helps you organize tournament data across different regions.

### list_teams
Lists all pro teams sorted by their current rating. It's a great way to see who the top-ranked organizations are.

### search
Finds the IDs for players, teams, leagues, and heroes based on their names. Use this first to get the IDs needed for all other tools.

## Prompt Examples

**Prompt:** 
```
Find the player 'SumaiL' and tell me his current rank.
```

**Response:** 
```
I found SumaiL (Account ID: 19672354). He is currently ranked in the Immortal tier. His profile shows a high win rate and a focus on several high-impact heroes. Would you like to see his recent match history or his specific hero win/loss records?
```

**Prompt:** 
```
What are the top 5 all-time records for gold per minute?
```

**Response:** 
```
Here are the top all-time records for Gold Per Minute (GPM):

| Hero | Record | Match ID |
| :--- | :--- | :--- |
| Morphling | 1,200 | 459231 |
| Phantom Assassin | 1,150 | 329102 |
| Medusa | 1,100 | 128374 |
| Juggernaut | 1,050 | 992831 |
| Axe | 1,020 | 554321 |
```

**Prompt:** 
```
Show me the roster and recent results for Team Spirit.
```

**Response:** 
```
Team Spirit is currently rated highly with the following roster:

* **Roster**: [Player 1], [Player 2], [Player 3], [Player 4], [Player 5]
* **Recent Results**: They have won their last 4 matches, maintaining a high win rate in the current tournament.

Would you like to see the specific items and damage stats from their most recent game?
```

## Capabilities

### Pull player profiles and MMR estimates
Get a player's rank, win rate, and country info instantly.

### Browse full match histories
View a player's previous games with KDA and hero results.

### Extract detailed item builds
See the specific items and damage stats from any match.

### List all Dota 2 heroes
Get a full list of heroes including their primary attributes.

### Find professional team rosters
Look up pro team ratings and their current active players.

### Search for specific leagues
Find tournament dates and tiers across different regions.

### View all-time game records
See the top holders for kills, gold per minute, and more.

## Use Cases

### Scouting a player's consistency
A scout uses `get_player_recent_matches` to see if a player's KDA holds up over their last 20 games to determine if they are in good form.

### Finding all-time records
A content creator uses `get_records` to find the highest kill record in the game to create a 'best of' highlight video.

### Researching a rival team
A manager uses `get_team` and `get_player_heroes` to see a rival's roster and find out which heroes they favor the most.

### Deep diving into match details
A fan uses `get_match` to see the exact items and hero damage from a specific tournament game to understand a pro's build.

### Compiling a league database
A researcher uses `list_leagues` and `list_teams` to compile a database of pro competitions and active organizations.

## Benefits

- Skip the manual search by using `search` to find any player or team ID instantly.
- Build better drafts with `get_benchmarks` to see how heroes actually perform in the current meta.
- Track your own progress by using `get_player_wl` to see which heroes you actually win with.
- Analyze the meta quickly using `get_distributions` to see where the player base is currently ranking.
- Run complex custom data pulls with `run_explorer_query` for advanced analytics that standard searches miss.

## How It Works

The bottom line is you get instant access to Dota 2 stats without ever touching an API key or a spreadsheet.

1. Subscribe to the OpenDota MCP through the Vinkius marketplace.
2. Connect the Connector to your preferred AI client like Claude or Cursor.
3. Ask questions about player stats or match results to see the data pop up.

## Frequently Asked Questions

**Can I use the OpenDota MCP to find specific player stats?**
Yes, you can pull a player's rank, win rate, and country info just by searching for their name. The Connector handles the ID lookup for you so you can get straight to the data.

**Does the OpenDota MCP require an API key?**
No, you don't need to set up a complicated API key for basic use. This makes it much easier to get started with your AI client immediately.

**Can I see professional team rosters with this Connector?**
Yes, you can pull the full roster, team logo, and rating for pro teams. It's great for quickly checking who is on which team during a tournament.

**Can the OpenDota MCP show me hero benchmarks?**
It can show you how a specific hero performs compared to the rest of the player base. This helps you understand if a hero is actually strong or just popular.

**Is there a limit to how much data I can pull?**
This Connector allows for a high volume of requests, making it perfect for deep research. You can browse hundreds of recent matches or extensive player histories in one session.

**Can I use the OpenDota MCP to find all-time records?**
Yes, you can query the database for top records in kills, gold per minute, and more. It's a great way to find the most legendary moments in the game's history.

**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).