OpenDota MCP Server
Overview
OpenDota MCP Server is a Model Context Protocol (MCP) server implementation that allows access to OpenDota API data, enabling LLMs and AI assistants to retrieve real-time Dota 2 statistics, match data, player information, and more through a standard interface.
To use the OpenDota MCP Server, clone the repository, set up your environment with an OpenDota API key, and run the server using Python. You can also use the example client provided in the repository.
- Access player profiles, statistics, and match history - Retrieve detailed match information - Look up professional players and teams - Get hero statistics and rankings - Search for players by name - Various tools for retrieving specific data related to Dota 2
- Retrieving player statistics for analysis
- Accessing match data for research purposes
- Integrating Dota 2 data into AI applications
- Building tools for Dota 2 community engagement
Add to your AI client
Use these steps to connect OpenDota MCP Server in Cursor, Claude, VS Code, and other MCP-compatible apps. The same JSON appears in the Use with menu above for one-click copy.
Cursor
Add this to your .cursor/mcp.json file in your project root, then restart Cursor.
.cursor/mcp.json
{
"mcpServers": {
"opendota-mcp-server-asusevski": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-opendota-mcp-server-asusevski"
]
}
}
}Claude Desktop
Add this server entry to the mcpServers object in your Claude Desktop config, then restart the app.
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
{
"mcpServers": {
"opendota-mcp-server-asusevski": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-opendota-mcp-server-asusevski"
]
}
}
}Claude Code
Add this to your project's .mcp.json file. Claude Code will detect it automatically.
.mcp.json (project root)
{
"mcpServers": {
"opendota-mcp-server-asusevski": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-opendota-mcp-server-asusevski"
]
}
}
}VS Code (Copilot)
Add this to your .vscode/mcp.json file. Requires the GitHub Copilot extension with MCP support enabled.
.vscode/mcp.json
{
"servers": {
"opendota-mcp-server-asusevski": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-opendota-mcp-server-asusevski"
]
}
}
}Windsurf
Add this to your Windsurf MCP config file, then restart Windsurf.
~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"opendota-mcp-server-asusevski": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-opendota-mcp-server-asusevski"
]
}
}
}Cline
Open Cline settings, navigate to MCP Servers, and add this server configuration.
Cline MCP Settings (via UI)
{
"mcpServers": {
"opendota-mcp-server-asusevski": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-opendota-mcp-server-asusevski"
]
}
}
}FAQ
How do I set up the OpenDota MCP Server?
Clone the repository, install dependencies, set your API key, and run the server.
What kind of data can I retrieve?
You can retrieve player profiles, match history, hero statistics, and more.
Is there a client included for testing?
Yes, an example client is included for easy testing of the server's capabilities.7:["$","div",null,{"className":"container mx-auto flex flex-col gap-4","children":["$L26","$L27",["$","$L28",null,{"currentProject":{"id":1841,"uuid":"6518f1a4-0fd2-4f61-8a69-b4fba7d82ac3","name":"opendota-mcp-server","title":"OpenDota MCP Server","description":"","avatar_url":"https://avatars.githubusercontent.com/u/77211520?v=4","created_at":"$D2025-03-05T05:37:24.859Z","updated_at":"$D2025-03-12T10:21:15.537Z","status":"created","author_name":"asusevski","author_avatar_url":"https://avatars.githubusercontent.com/u/77211520?v=4","tags":"[]","category":"research-and-data","is_featured":false,"sort":1,"url":"https://github.com/asusevski/opendota-mcp-server","target":"_self","content":"$29","summary":"$2a","img_url":null,"type":null,"metadata":"{\"star\":\"4\",\"license\":\"\",\"language\":\"Python\",\"is_official\":false,\"latest_commit_time\":\"2025-03-12 18:31:58\"}","user_uuid":null,"tools":null,"sse_url":null,"sse_provider":null,"sse_params":null,"is_official":false,"server_command":null,"server_params":null,"server_config":null,"allow_call":false,"is_innovation":false,"is_dxt":false,"dxt_manifest":null,"dxt_file_url":null,"is_audit":false},"randomProjects":[],"currentServerKey":"$undefined"}]]}]