Batru for Developers

Batru is built agent-native: the same calibrated predictions the site runs on, exposed to LLM agents as a hosted MCP server and to code as a Python SDK. Read-only, no API key required.

MCP server — for LLM agents

batru-mcp gives any MCP-capable assistant (Claude, ChatGPT, and a growing list of clients) tools backed by our live production models across Dota 2, Deadlock and Marvel Rivals: win-rate prediction, pick recommendations, counters & synergy, tier lists (including per-rank), single matchups, hero momentum, ban rates and our public model-evaluation ledger. The tools instruct the model to report our numbers verbatim instead of guessing from memory.

Hosted endpoint — no install, always the newest tool set. Paste it into Claude (Settings → Connectors → Add custom connector) or ChatGPT (Apps → Developer mode), or:

https://batru.gg/mcp

Try it in 10 seconds — this button sends a real request to the same live model the MCP tools call (no key, straight from your browser):

POST https://batru.gg/api/winrate
{"radiant":["antimage","axe"],"dire":["lina","tinker"]}

Claude Code — one line (hosted):

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

Prefer local stdio? Claude Desktop — claude_desktop_config.json:

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

Endpoint docs & tool list · Listed on the official MCP Registry as gg.batru/batru-mcp · PyPI · GitHub

Python SDK

batru is the official Python client — a thin, read-only wrapper over the public prediction API. Early preview (alpha): Dota 2 today, surface may evolve.

pip install batru

import batru
batru.winrate(radiant=["antimage", "axe"], dire=["lina", "tinker"])
# {'radiant_win_rate': 52.31, 'dire_win_rate': 47.69}
batru.recommend(radiant=["antimage"], dire=["lina", "tinker"])

PyPI · GitHub

Numbers a machine can act on

Agents don’t read vibes — they act on the number you hand them. Our probabilities are calibrated: when the model says 60%, that side wins about 60% of the time on held-out data. That property — not a headline accuracy figure — is what makes a prediction safe to build on. How we measure it.

Rate limits & free API keys

Everything works without a key. If you’re building something that calls us often, grab a free key — it lifts every limit 10× and gives your integration its own quota instead of sharing a per-IP one.

TierPrediction requestsHow
No key60 / min per IPJust call the API
Free key600 / min per key (each batch call = 1 request, up to 150 drafts)Button below — instant, no approval
Bigger than thatLet’s talkContact us

Requires a (free) account — login exists only to stop abuse, same as the site.

Attribution — appreciated, never required

Everything here is free and keyless, no strings attached. If you build something user-facing on this data, a small credit helps other players find the source — and it’s what keeps the API free:

Powered by <a href="https://batru.gg?utm_source=powered_by">batru.gg</a>

Agents get this for free: every MCP tool result already includes a ready-made citation / source_url field to show alongside the numbers.

Fair use

The API behind these clients is free and keyless. Please keep request volume reasonable, let your client identify itself via User-Agent (the MCP server and SDK already do), and cache what you can. Building something that needs more — or a language we don’t cover yet? Talk to us.

Analysis only — these tools don’t provide betting advice, and we don’t endorse or facilitate sports betting.

Stay Ahead of the Meta

Join our community. Get the weekly data-driven hero tier lists, synergy insights, and meta shifts for Dota 2, Deadlock and Marvel Rivals directly in your inbox.

One email a week. No spam, unsubscribe anytime.