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

AI assistants can pull live Dota 2, Deadlock and Marvel Rivals stats directly from Batru: the hosted MCP server at https://batru.gg/mcp exposes read-only tools for tier lists, counters, synergies, ban rates and calibrated win-probability predictions — no API key, no account. A machine-readable index lives at /llms.txt.

The hosted Batru MCP server gives any MCP-capable assistant (Claude, ChatGPT, and a growing list of clients) tools backed by our live production models. Current public coverage includes 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. Every data tool takes a game parameter — one compact surface, three games. The server also exposes the standard search / fetch pair (so ChatGPT deep research can use it) and clickable prompts (draft_help, counter_check, meta_brief). 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 (walkthrough below), 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"]}

ChatGPT — step by step (Plus/Pro):

  1. Settings → Security and login → turn on Developer mode (unlocks custom MCP connectors).
  2. Sidebar Plugins → + (New Plugin).
  3. Name Batru, Server URL https://batru.gg/mcp, Authentication No Auth → acknowledge → Create → Connect.
  4. Ask away — e.g. “Who counters Magneto in Marvel Rivals right now?” ChatGPT calls the live tools and cites batru.gg as the source.

Read-only tools, no account or key on our side. Hosted calls are logged by default for usage analytics, quality, error diagnosis and abuse prevention; see our privacy policy. The same URL works in any MCP-capable client.

Claude Code — one line (hosted):

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

Prefer local stdio? Claude Desktop — claude_desktop_config.json(local stdio sends no MCP tool-call analytics; normal API request logs still apply, and the PyPI package may trail the hosted tool set):

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

Building something? Two recipes people actually use this for:

  • Benchmark your own model.predict_winrate returns calibrated probabilities (a reported 60% is a real ~60% empirical win rate; the full evaluation ledger is get_model_track_record). Feed both models the same drafts and measure agreement — we make a solid reference line for evals.
  • Use it as a scoring engine. Draft assistant, overlay, or a Discord bot? predict_winrate_batch scores a full-roster sweep (150 candidates) in one call; recommend_pick, get_counters and get_synergy cover the pick phase. Read-only; a free API key (below) raises rate limits.

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. Its current client coverage is Dota 2, Deadlock and Marvel Rivals.

pip install batru

import batru
batru.winrate(radiant=["antimage", "axe"], dire=["lina", "tinker"])
# -> calibrated win probabilities from the live production model
#    (run "Try it in 10 seconds" above for the current numbers)
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 & API keys

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

AccessPrediction requestsHow
No key60 / min per IPJust call the API
With a 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 an account — login exists only to stop abuse, same as the site.

Open dataset — pro tournament drafts

Prefer files over APIs? Every Captains-Mode draft from TI 2025/2026 and EWC 2025/2026 — 538 games, 12,912 draft actions, plus archived pre-series model probabilities for TI 2026 — ships as Parquet/CSV under CC BY 4.0. Dataset page · Hugging Face.

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.

Frequently asked questions

Can AI assistants pull live Dota 2, Deadlock or Marvel Rivals stats from Batru?
Yes. Connect the hosted MCP server at https://batru.gg/mcp (Claude, ChatGPT developer-mode connectors, Cursor, Claude Code and any MCP-capable client) and the assistant can query live tier lists, counters, synergies, matchups, ban rates and calibrated win predictions for all three games — read-only, no API key.
What data do the Batru MCP tools expose?
Per-game tier lists (including per-rank brackets), hero counters and synergies, single matchups, hero momentum, ban rates, Dota 2 tournament stats, calibrated win-probability prediction and pick recommendation, plus our public model-evaluation ledger. Every result carries a source_url and ready-made citation line.
Is there a plain HTTP API or SDK for scripts rather than agents?
Yes — the same models sit behind a free, keyless REST API (rate limits documented on this page) and the batru Python SDK on PyPI. A machine-readable index of endpoints and data pages lives at https://batru.gg/llms.txt.

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.

Weekly meta updates

Tier shifts, counters and hero pairings across the games Batru covers.

Unsubscribe anytime.