OpenDota MCP Server
오픈도타 MCP 서버
OpenDota API 데이터 접근을 위한 모델 컨텍스트 프로토콜(MCP) 서버 구현입니다. 이 서버를 통해 LLM과 AI 어시스턴트는 표준 인터페이스를 통해 실시간 Dota 2 통계, 경기 데이터, 플레이어 정보 등을 검색할 수 있습니다.
특징
플레이어 프로필, 통계 및 경기 기록에 액세스하세요
자세한 경기 정보 검색
프로 선수와 팀을 찾아보세요
영웅 통계 및 순위를 확인하세요
이름으로 플레이어 검색
그리고 더 많은 것들!
Related MCP server: MonkeyType MCP Server
설치
지엑스피1
용법
환경 설정
(선택 사항이지만 권장됨) https://www.opendota.com/api-keys 에서 OpenDota API 키를 생성하세요.
API 키를 환경 변수로 설정하세요.
export OPENDOTA_API_KEY=your_api_key_here서버를 직접 실행
python -m src.opendota_server.serverClaude Desktop으로 서버 실행
다음을 따르세요: https://modelcontextprotocol.io/quickstart/user
WSL을 사용하는 경우 리포를 복제하고 Python 환경을 설정했다고 가정하고 claude_desktop_config.json을 다음과 같이 작성했습니다.
{
"mcpServers": {
"opendota": {
"command": "wsl.exe",
"args": [
"--",
"bash",
"-c",
"cd ~/opendota-mcp-server && source .venv/bin/activate && python src/opendota_server/server.py"
]
}
}
}예제 클라이언트 사용
python -m src.client포함된 특정 도구는 다음과 같습니다.
get_player_by_id - 계정 ID로 플레이어 정보 검색
get_player_recent_matches - 플레이어의 최근 경기 결과를 가져옵니다.
get_match_data - 특정 매치에 대한 자세한 데이터를 가져옵니다.
get_player_win_loss - 플레이어의 승패 통계를 가져옵니다.
get_player_heroes - 플레이어가 가장 많이 플레이한 영웅을 가져옵니다.
get_hero_stats - 영웅에 대한 통계를 가져옵니다
search_player - 이름으로 플레이어 검색
get_pro_players - 프로 선수 목록 가져오기
get_pro_matches - 최근 프로 경기 결과 받기
get_player_peers - 지정된 플레이어와 함께 플레이한 플레이어를 가져옵니다.
get_heroes - 모든 Dota 2 영웅 목록 가져오기
get_player_totals - 플레이어의 전체 통계 합계를 가져옵니다.
get_player_rankings - 플레이어 영웅 순위를 가져옵니다
get_player_wordcloud - 채팅에서 플레이어가 가장 많이 사용하는 단어를 가져옵니다.
get_team_info - 팀에 대한 정보를 가져옵니다
get_public_matches - 최근 공개 매치 가져오기
get_match_heroes - 특정 매치에서 플레이된 영웅 가져오기
특허
MIT
Available Tools
17 toolsget_heroesB
Get list of all Dota 2 heroes.
Returns:
List of all heroes with basic information
Inputs: no named parameters. Returns: result
get_hero_statsB
Get statistics for heroes.
Args:
hero_id: Optional hero ID to get stats for a specific hero
Returns:
Hero statistics including win rates by skill bracket
Inputs: hero_id. Returns: result
get_match_dataB
Get detailed data for a specific match.
Args:
match_id: ID of the match to retrieve
Returns:
Detailed match information including players, scores, and stats
Inputs: match_id (required). Returns: result
get_match_heroesB
Get heroes played in a specific match.
Args:
match_id: ID of the match to retrieve
Returns:
List of heroes played by each player in the match
Inputs: match_id (required). Returns: result
get_player_by_idB
Get a player's information by their account ID.
Args:
account_id: The player's Steam32 account ID
Returns:
Player information including rank, matches, and statistics
Inputs: account_id (required). Returns: result
get_player_heroesB
Get a player's most played heroes.
Args:
account_id: Steam32 account ID of the player
limit: Number of heroes to retrieve (default: 5)
Returns:
List of most played heroes with stats
Inputs: account_id (required), limit. Returns: result
get_player_peersA
Get players who have played with the specified player.
Args:
account_id: Steam32 account ID of the player
limit: Number of peers to retrieve (default: 5)
Returns:
List of players frequently played with
Inputs: account_id (required), limit. Returns: result
get_player_rankingsC
Get player hero rankings.
Args:
account_id: Steam32 account ID of the player
Returns:
Player's hero rankings
Inputs: account_id (required). Returns: result
get_player_recent_matchesA
Get recent matches played by a player.
Args:
account_id: Steam32 account ID of the player
limit: Number of matches to retrieve (default: 5)
Returns:
List of recent matches with details
Inputs: account_id (required), limit. Returns: result
get_player_totalsB
Get player's overall stats totals.
Args:
account_id: Steam32 account ID of the player
Returns:
Summary of player's total stats
Inputs: account_id (required). Returns: result
get_player_win_lossB
Get win/loss statistics for a player.
Args:
account_id: Steam32 account ID of the player
Returns:
Win/loss record
Inputs: account_id (required). Returns: result
get_player_wordcloudB
Get most common words used by player in chat.
Args:
account_id: Steam32 account ID of the player
Returns:
List of player's most frequently used words
Inputs: account_id (required). Returns: result
get_pro_matchesB
Get recent professional matches.
Args:
limit: Number of matches to retrieve (default: 5)
Returns:
List of recent professional matches
Inputs: limit. Returns: result
get_pro_playersB
Get list of professional players.
Args:
limit: Number of players to retrieve (default: 10)
Returns:
List of professional players
Inputs: limit. Returns: result
get_public_matchesB
Get recent public matches.
Args:
limit: Number of matches to retrieve (default: 5)
Returns:
List of recent public matches
Inputs: limit. Returns: result
get_team_infoC
Get information about a team.
Args:
team_id: Team ID
Returns:
Team information
Inputs: team_id (required). Returns: result
search_playerB
Search for players by name.
Args:
query: Name to search for
Returns:
List of matching players
Inputs: query (required). Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 17 tools
Most tools have distinct purposes targeting different resources (heroes, matches, players, teams, pro scene). However, some player-focused tools like get_player_heroes and get_player_rankings could potentially overlap in retrieving hero-related player data, though descriptions clarify their specific focuses.
All tools follow a consistent verb_noun pattern with get_ prefix and snake_case throughout. The naming is highly predictable and readable, making it easy to understand each tool's function at a glance.
17 tools is slightly high but reasonable for a comprehensive Dota 2 statistics server. The count supports detailed player analysis, match data, hero stats, and professional scene coverage without being overwhelming for the domain scope.
The toolset provides excellent coverage of the OpenDota API domain with comprehensive player analysis (stats, matches, heroes, peers, rankings), match data (public, pro, detailed), hero statistics, team info, and search functionality. No obvious gaps exist for typical agent workflows.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol server for Wix AI tools
Model Context Protocol server for Studex tools, notifications, and profile integrations
The official Model Context Protocol server for Ambee. It gives any MCP-compatible AI assistant — Claude, ChatGPT, Cursor, VS Code, Ollama, and more direct access to live air quality, pollen, and weather data. To get started, including information on signing up and obtaining your Ambee key, check out the Ambee documentation on https://docs.ambeedata.com
Related MCP Servers
- AlicenseBqualityDmaintenanceA community-developed Model Context Protocol server that integrates with the Riot Games API to provide League of Legends data, enabling AI assistants to retrieve player information, ranked stats, champion mastery, and match summaries through natural language queries.527MIT
- AlicenseBqualityDmaintenanceA Model Context Protocol server that enables LLMs to interact with all MonkeyType API endpoints, providing access to typing test data, user profiles, leaderboards, and statistics through natural language.2017 npmMIT
- AlicenseNot gradedqualityDmaintenanceA server that implements the Model Context Protocol, providing a standardized way to connect AI models to different data sources and tools.10 npm12MIT
- FlicenseAqualityDmaintenanceA Model Context Protocol server that enables LLMs to retrieve NBA data including player stats, team information, game logs, and league standings through the nba_api library.101-