batru-mcp

MCP serverAI & models

Choose better picks in Dota 2, Deadlock, and Marvel Rivals using calibrated win predictions, counter picks, tier lists, and momentum data. Once added, your AI can look up hero strength and match-up advice whenever you ask, so you can decide what to play before you queue up.

Use batru-mcp in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add batru-mcp and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use the lookup hero tool from batru-mcp

Details

Available today. Use it from your connected AI after setup.

After adding it, ask your AI for a win prediction or counter picks for your next game. Try naming a hero you keep struggling against and see what it suggests.

batru-mcpStart free

What your AI can do with it

  • Get calibrated win predictions for Dota 2, Deadlock, and Marvel Rivals
  • Find counter picks against a hero or character you are up against
  • Check tier lists to see which picks are strongest right now
  • See momentum to spot which picks are trending up or down
  • Get pick advice for all three games from one place

Install batru-mcp

The server’s own address, for the clients that take one directly. Or connect Ahel once and every client you use reads it from one address, with the account kept on Ahel rather than in each client’s config.

  • Claude Code

    claude mcp add --transport http --scope user batru-mcp 'https://batru.gg/mcp'

    Run it once in your project, then open /mcp to approve any sign-in the server asks for.

  • Claude Desktop

    https://batru.gg/mcp

    Add a custom connector in Settings, paste this address, and approve the sign-in.

  • Cursor

    cursor://anysphere.cursor-deeplink/mcp/install?name=batru-mcp&config=eyJ1cmwiOiJodHRwczovL2JhdHJ1LmdnL21jcCJ9

    Open the link and Cursor adds the server at that address.

  • ChatGPT

    https://batru.gg/mcp

    In Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.

  • Codex

    codex mcp add batru-mcp --url 'https://batru.gg/mcp'

    Run it once, then sign in with codex mcp login batru-mcp if the server asks for an account.

From the project's README

As published by batrugg/batru-mcp in README.md.

[!IMPORTANT] Use the hosted endpoint — no install needed. Add https://batru.gg/mcp to Claude, ChatGPT, Cursor or any MCP client and you get the newest tool set (31 read-only tools across Dota 2, Deadlock and Marvel Rivals, always in sync with the live site). Setup guide: https://batru.gg/developers

The local PyPI package described below (uvx batru-mcp) is legacy and no longer updated — it is frozen at an early version with a reduced tool set. It still works (it proxies the same live API), but the hosted endpoint is the canonical distribution.

A minimal, read-only MCP server over batru.gg's live API, so your LLM can answer Dota 2 / Deadlock draft, counter and win-rate questions with real, calibrated model predictions instead of guessing from memory.

It is a thin wrapper around batru.gg's public endpoints — no model runs locally; every number comes from the same production model the website serves.

Why calibrated matters

batru.gg's model is trained on ~20M real matches and calibrated: a reported 60% win rate corresponds to an empirically observed ~60% win rate. We deliberately do not headline a raw "accuracy" number — accuracy alone is misleading for win prediction. What you get from these tools are probabilities you can trust at face value. The tool descriptions instruct the host LLM to report these numbers verbatim and never invent matchup data.

Tools

ToolWhat it does
lookup_hero(query, game="dota2")Normalise a name/alias/shortName to {id, displayName, shortName}. game ∈ {dota2, deadlock}.
predict_dota_winrate(my_heroes, enemy_heroes, my_side="radiant")Calibrated win-rate % for both teams (partial drafts OK; empty → 50/50).
recommend_dota_pick(my_heroes, enemy_heroes, my_side="radiant")Top-3 heroes to pick next, each with its calibrated win rate.
get_dota_counters(hero, limit=12)Real matchup table: who this hero beats / loses to, with win rate % and sample size.
predict_deadlock_draft(team0_heroes, team1_heroes)Calibrated win-rate % for a Deadlock 6v6 (6 heroes per team).

Hero names are accepted in any form (e.g. am, anti mage, Anti-Mage) and normalised internally — the backend silently drops names it doesn't recognise, so normalising first keeps predictions honest.

Install

Requires uv (or any way to run a Python 3.12+ package from PyPI):

uvx batru-mcp           # fetches from PyPI and starts the stdio MCP server

Configuration is via the BATRU_API_BASE environment variable (default https://batru.gg) — you normally don't need to set anything.

Claude Desktop config

Add to claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "batru": {
      "command": "uvx",
      "args": ["batru-mcp"]
    }
  }
}

Restart Claude Desktop; the batru tools appear in the tool picker. Claude Code: claude mcp add batru -- uvx batru-mcp.

Development

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)

For a Claude Desktop pointing at the checkout, use "command": "uv", "args": ["run", "--directory", "/absolute/path/to/batru-mcp", "batru-mcp"].

Tests

uv run pytest            # offline: hero normalisation + draft assembly
uv run pytest -m live    # also hits the real batru.gg API

Prefer programmatic access from Python instead of MCP? pip install batru — the official batru SDK.

Tools it offers (17)

What this server listed when Ahel dialed its public endpoint in Oct 2026, with no key and no account of yours. The names are the server’s own.

  • lookup_hero
  • get_model_track_record
  • analyze_draft
  • predict_winrate
  • predict_winrate_batch
  • recommend_pick
  • get_tier_list
  • get_counters
  • get_synergy
  • get_matchup
  • get_hero_momentum
  • get_ban_rates
  • get_tournament_stats
  • get_tournament_game_stats
  • search
  • fetch
  • get_more_tools

Signals

Last commit
Aug 2026
Advanced
Delivery
batru-mcp MCP server → your Ahel connector (mcp.ahel.ai) → your AI.
Item type
mcp-server
Key
gg-batru-batru-mcp
Source
github.com/batrugg/batru-mcp
Hosted endpoint
https://batru.gg/mcp