关于 Batru
Batru 是用于 Dota 2、Deadlock 和 Marvel Rivals 选人及对局分析的只读 MCP 服务。它查询 batru.gg 的实时 API,提供经过校准的模型预测,而非在本地运行模型。
主要功能
- 01预测经过校准的队伍胜率
- 02推荐 Dota 2 下一手选择
- 03查询英雄克制对局
- 04规范化英雄名称及别名
- 05分析 Deadlock 选人阵容
适用场景
- 01在 Dota 2 选人时比较胜率
- 02为 Dota 2 下一手选择英雄
- 03查看英雄的克制对局
- 04估算 Deadlock 阵容的胜率
MCP 相关
托管的 Streamable HTTP 端点向 MCP 客户端提供只读游戏分析工具。旧版 PyPI 包也可运行功能较少的 stdio 服务,并代理同一实时 API。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://batru.gg/mcpclaude mcp add --transport http batru https://batru.gg/mcp{"mcpServers":{"batru":{"type":"http","url":"https://batru.gg/mcp"}}}在 Cursor 中打开{"servers":{"batru":{"type":"http","url":"https://batru.gg/mcp"}}}在 VS Code 中打开{"mcpServers":{"batru":{"type":"http","url":"https://batru.gg/mcp"}}}{"mcpServers":{"batru":{"serverUrl":"https://batru.gg/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
17| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| game | string | 否 | "dota2"(默认)、"deadlock" 或 "marvel-rivals"。 |
| query | string | 是 | 用户输入的英雄名称、别名或简称。传入空字符串即可改为列出该游戏的完整阵容。 |
| context | string | 是 | 用第三人称以 15-25 个词说明调用此工具的原因,以及它如何支持用户目标。仅用于分析。你必须只描述工具调用的抽象目的。绝不能包含、重复、转述或推断用户请求或工具结果中的个人、敏感或可识别信息,包括姓名、电子邮件、电话号码、IP、ID 或凭据。必须将具体实体概括为“用户”“客户”或“账户”等角色。例如:“检索客户近期订单,以调查账单问题并帮助支持人员确定适当的解决方案。” |
详细介绍
batru-mcp
重要
请使用托管端点,无需安装。 将
https://batru.gg/mcp添加到 Claude、ChatGPT、Cursor 或任何 MCP 客户端,即可使用最新工具集(涵盖 Dota 2、Deadlock 和 Marvel Rivals 的 31 个只读工具,始终与线上网站同步)。设置指南:https://batru.gg/developers下文介绍的本地 PyPI 软件包(
uvx batru-mcp)已是旧版,不再更新——它停留在早期版本,工具集也有所精简。它仍可正常使用(会代理到同一个线上 API),但托管端点才是官方分发方式。
一个简洁、只读的 MCP 服务,用于访问 batru.gg 的线上 API,让大模型能够根据真实且经过校准的模型预测回答 Dota 2 / Deadlock 的阵容选择、克制关系和胜率问题,而不是凭记忆猜测。
它只是 batru.gg 公共端点的轻量封装——不会在本地运行模型;所有数值都来自网站使用的同一生产模型。
为什么校准很重要
batru.gg 的模型使用约 2,000 万场真实对局进行训练,并经过校准:报告胜率为 60%,就意味着实测胜率约为 60%。我们有意不强调原始“准确率”数值,因为准确率本身很容易误导人对胜率预测的判断。通过这些工具,你能获得可以直接信赖的概率。工具描述会要求宿主大模型原样报告这些数值,绝不编造对局数据。
工具
| 工具 | 功能 |
|---|---|
lookup_hero(query, game="dota2") | 将名称、别名或简称规范化为 {id, displayName, shortName}。game ∈ {dota2, deadlock}。 |
predict_dota_winrate(my_heroes, enemy_heroes, my_side="radiant") | 返回两支队伍经过校准的胜率百分比(支持未完整选人的阵容;输入为空时返回 50/50)。 |
recommend_dota_pick(my_heroes, enemy_heroes, my_side="radiant") | 推荐接下来可选择的 3 位英雄,并分别给出经过校准的胜率。 |
get_dota_counters(hero, limit=12) | 返回真实对局表:该英雄克制哪些英雄、会被哪些英雄克制,并列出胜率百分比和样本数。 |
predict_deadlock_draft(team0_heroes, team1_heroes) | 返回 Deadlock 6v6 对局经过校准的胜率百分比(每队 6 位英雄)。 |
英雄名称可以使用任意形式(例如 am、anti mage、Anti-Mage),系统会在内部进行规范化——后端会静默忽略无法识别的名称,因此先规范化名称有助于确保预测可靠。
安装
需要 uv(或任何能够运行 PyPI 上 Python 3.12+ 软件包的方式):
uvx batru-mcp # fetches from PyPI and starts the stdio MCP server
通过 BATRU_API_BASE 环境变量进行配置(默认值为 https://batru.gg)——通常无需进行任何设置。
Claude Desktop 配置
将以下内容添加到 claude_desktop_config.json(macOS:~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"batru": {
"command": "uvx",
"args": ["batru-mcp"]
}
}
}
重启 Claude Desktop;在工具选择器中即可看到 batru 工具。Claude Code:
claude mcp add batru -- uvx batru-mcp。
开发
git clone https://github.com/batrugg/batru-mcp && cd batru-mcp
uv sync
uv run batru-mcp # run the server from the checkout (blocks, waiting on stdin)
如果要让 Claude Desktop 指向本地检出目录,请使用
"command": "uv", "args": ["run", "--directory", "/absolute/path/to/batru-mcp", "batru-mcp"]。
测试
uv run pytest # offline: hero normalisation + draft assembly
uv run pytest -m live # also hits the real batru.gg API
如果想通过 Python 而非 MCP 以编程方式访问,请运行 pip install batru——安装官方 batru SDK。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。