Dota 2 MCP服务器v2.0
一个全面的模型上下文协议(MCP)服务器,使用OpenDota API提供广泛的Dota 2数据分析。现在有14个强大的工具,涵盖了从玩家档案到专业电子竞技分析的所有内容。
🌟 特性
玩家分析
- 全面的玩家档案 -详细的统计数据、排名和最近的活动
- 英雄表现跟踪 -胜率、玩过的游戏和性能指标
- 比赛历史分析 -最近与KDA的比赛、游戏模式和趋势
- 统计分析 -性能总计、平均值和详细指标
- 队友分析 -大多数与朋友一起玩和协作统计
比赛与游戏分析
- 🔥 横冲直撞检测 -通过多杀分析对200多场最近的比赛进行高级横冲直撞跟踪
- 详细的比赛明细 -对所有球员的表现进行完整的比赛分析
- 多杀追踪 -全面的多杀统计和跟踪
- 游戏模式支持 -所有Dota 2游戏模式,格式正确
- 性能可视化 -进度条、表情符号指示器和视觉格式
专业电子竞技
- 专业玩家目录 -具有团队信息的活跃职业球员
- 职业比赛 -最近的职业比赛和球队详细信息
- 区域排行榜 -按地区划分的顶级玩家(美洲、欧洲、东南亚、中国)
- 团队分析 -拥有评级、名册和比赛历史的专业球队
- 英雄元分析 -全球英雄统计数据和专业挑选率
搜索与发现
- 球员搜索 -在Dota 2数据库中按姓名查找玩家
- 英雄统计 -全球英雄表演和元趋势
🚀 快速开始
安装
# Clone or download the MCP server
cd dota2-mcp
# Install dependencies
npm install
# Build the server
npm run buildMCP配置
添加到您的MCP客户端设置中(例如,Cline的 cline_mcp_settings.json):
{
"mcpServers": {
"dota2-mcp": {
"autoApprove": [
"get_player_profile",
"get_player_heroes",
"get_recent_matches",
"get_match_details",
"get_player_stats",
"get_player_peers",
"get_hero_stats",
"search_players",
"get_pro_players",
"get_pro_matches",
"get_leaderboards",
"get_teams",
"get_team_details",
"get_rampage_data"
],
"disabled": false,
"timeout": 300,
"type": "stdio",
"command": "node",
"args": ["/path/to/dota2-mcp/build/index.js"],
"cwd": "/path/to/dota2-mcp",
"env": {}
}
}
}可选:OpenDota API密钥
为了获得更高的速率限制和更好的性能:
- 复制
.env.example到.env - 从获取API密钥 OpenDota 的
- 增添
.env:OPENDOTA_API_KEY=your_api_key_here
📊 可用工具
球员档案和统计数据
get_player_profile
获取全面的玩家概览,包括排名、统计数据和最近的活动。
参数:
account_id(数字,必填):Steam32帐户IDformat(字符串,可选):“美化”|“json”
输出示例:
👤 PLAYER PROFILE 👤
====================
📋 BASIC INFO
─────────────
🎮 **PlayerName**
🆔 Account ID: 12345678
🔗 Steam: https://steamcommunity.com/profiles/...
🌍 Country: US
⏰ Last Login: 11/11/2025, 10:30:00 PM
🏆 RANK & MMR
─────────────
🏆 **Divine II**
🥇 Leaderboard Rank: #1,234
⚔️ Solo MMR: 5,200
👥 Party MMR: 4,800
📊 MATCH STATISTICS
───────────────────
🎯 Total Games: 2,543
✅ Wins: 1,432
❌ Losses: 1,111
📈 Win Rate: [████████████░░░░░░░░] 56.3%get_player_heroes
分析玩家的英雄表现和偏好。
参数:
account_id(数字,必填):Steam32帐户IDlimit(数字,可选):要显示的英雄数量(默认值:20)format(字符串,可选):“美化”|“json”
get_player_stats
球员表现的详细统计分析。
参数:
account_id(数字,必填):Steam32帐户IDformat(字符串,可选):“美化”|“json”
get_player_peers
大多数人与队友一起玩,并进行协作分析。
参数:
account_id(数字,必填):Steam32帐户IDlimit(数字,可选):要显示的队友数量(默认值:15)format(字符串,可选):“美化”|“json”
匹配分析
get_recent_matches
最近的比赛历史记录,包括详细的表现指标。
参数:
account_id(数字,必填):Steam32帐户IDlimit(数字,可选):要显示的匹配数(默认值:10)format(字符串,可选):“美化”|“json”
get_match_details
对所有球员的表现进行全面的比赛分析。
参数:
match_id(数字,必填):匹配要分析的IDformat(字符串,可选):“美化”|“json”
输出示例:
⚔️ MATCH ANALYSIS ⚔️
=====================
📋 MATCH INFO
─────────────
🎮 Match ID: 7123456789
📅 Date: 11/11/2025, 8:30:00 PM
⏱️ Duration: 45:32
🎯 Mode: All Pick
🌅 Winner: Radiant
📊 Score: Radiant 42 - 28 Dire
🌅 RADIANT TEAM
───────────────
1. 🦸 Pudge - PlayerName
💀 KDA: 15/3/18 (11.00)
🔥 Multi-kills: Double(2) Triple(1) RAMPAGE(1)专业电子竞技
get_pro_players
活跃职业球员名录。
参数:
limit(数字,可选):要显示的玩家数量(默认值:20)format(字符串,可选):“美化”|“json”
get_pro_matches
最近的职业比赛,球队细节。
参数:
limit(数字,可选):要显示的匹配数(默认值:10)format(字符串,可选):“美化”|“json”
get_leaderboards
顶级玩家的区域排行榜。
参数:
region(字符串,必填):“美洲”|“欧洲”|“东南亚”|“中国”limit(数字,可选):要显示的玩家数量(默认值:20)format(字符串,可选):“美化”|“json”
get_teams
拥有评级和绩效的专业团队。
参数:
limit(数字,可选):要显示的团队数量(默认值:20)format(字符串,可选):“美化”|“json”
get_team_details
详细的球队分析,包括名单和最近的比赛。
参数:
team_id(数字,必填):团队IDformat(字符串,可选):“美化”|“json”
英雄&元分析
get_hero_stats
全球英雄统计和专业元趋势。
参数:
format(字符串,可选):“美化”|“json”
搜索与发现
search_players
在Dota 2数据库中按名字查找玩家。
参数:
query(字符串,必填):要搜索的玩家名称format(字符串,可选):“美化”|“json”
🔥 攻击检测和多重杀伤分析
get_rampage_data ⭐ 签名特征
先进的横冲直撞检测和多杀分析 -搜索200多场最近的比赛,找到确认的横冲直撞成就,并附上详细的多杀细分。
参数:
account_id(数字,必填):Steam32帐户IDformat(字符串,可选):“美化”|“json”
主要特点:
- 🔍 深度搜索:分析多达200场最近的比赛
- 🎯 已验证数据:仅返回与确认的multi_kills数据匹配的结果
- 🔥 完成多重杀伤追踪:双重、三重、超和RAMPAGE检测
- 📊 丰富的格式:带有英雄姓名、日期和统计数据的精美视觉输出
- 🔗 验证链接:直接链接到Dotabuff进行匹配验证
输出示例:
🔥 RAMPAGE DATA ANALYSIS
📊 SEARCH RESULTS
────────────────────
🔍 Matches searched: 200
🔥 Rampage matches found: 3
🎯 CONFIRMED RAMPAGE MATCHES
──────────────────────────────
1. 🦸 Pudge - 2024-01-15
🎮 Match ID: 7123456789
⏱️ Duration: 45:32
💀 KDA: 25/8/15
🔥 Rampages: 1
📊 Multi-kills: Double(3) Triple(2) Ultra(1) RAMPAGE(1)
🔗 Verify: https://www.dotabuff.com/matches/7123456789� 主要特点
增强视觉显示
- 进度条:视觉获胜率和绩效指标
- 表情符号集成:上下文表情符号可提高可读性
- 结构化格式:用隔板和集管清洁部分
- 丰富的统计数据:全面的数据展示
智能数据处理
- 速率限制:内置API节流以防止速率限制
- 错误处理:优雅的错误处理,信息丰富
- 数据验证:输入验证和净化
- 性能优化:高效的API使用和缓存
全面覆盖
- 所有游戏模式:支持所有Dota 2游戏模式
- 所有地区:全球排行榜和区域分析
- 专业场景:完成电子竞技数据集成
- 历史数据:匹配历史和趋势分析
🔧 Steam ID格式
服务器使用 Steam32(帐户ID) 格式:
- 蒸汽64:76561198012345678(17位数字)
- Steam32/帐户ID:12345678(从Steam64中减去76561197960265728)
- 使用Steam32格式 用于所有API调用
⚙️ 配置
环境变量
OPENDOTA_API_KEY:用于更高速率限制的可选API键
超时设置
- 默认超时:300秒(复杂操作时增加)
- 支持批处理和速率限制
📈 演出
API优化
- 批处理:高效处理多个API调用
- 智能缓存:英雄数据缓存,提高性能
- 速率限制:遵守API限制的内置延迟
- 错误恢复:妥善处理失败的请求
数据处理
- 视觉格式:带有进度条和表情符号的富文本输出
- 统计分析:综合性能计算
- 趋势分析:历史绩效跟踪
🛠️ 需求
- Node.js 18+
- 用于OpenDota API的Internet连接
- 用于玩家分析的有效Steam32帐户ID
📚 数据源
- 主要的,重要的: OpenDota API 的
- 英雄数据:实时英雄统计和元信息
- 专业数据:锦标赛和球队信息
- 球员数据:全面的球员统计数据和比赛历史
🚨 故障排除
未返回数据:检查帐户ID是否为Steam32格式,而不是Steam64。
速率限制:服务器包括内置延迟。对于大量使用,请考虑获取OpenDota API密钥。
超时错误:增加MCP配置中的超时设置,以进行复杂操作。
帐户ID无效:确保您使用的是正确的Steam32格式(8-9位数字)。
🔗 验证链接
所有匹配数据均包含以下验证链接:
- 多塔布夫:
https://www.dotabuff.com/matches/{match_id} - OpenDota 的:
https://www.opendota.com/matches/{match_id} - 玩家档案:
https://www.opendota.com/players/{account_id}
📄 许可证
MIT许可证
______________________________________________________________________
Dota 2 MCP服务器v2.0 -Dota 2数据分析和电子竞技见解的全面伴侣。
