Normalise a hero name/alias/shortName to its canonical identity.
Use this to turn messy user input ("am", "anti mage", "Anti-Mage") into the
exact key batru.gg expects before calling the prediction tools. The backend
SILENTLY DROPS hero names it doesn't recognise, so always normalise fi
predict_dota_winrate
Predict the CALIBRATED win rate for a Dota 2 draft.
Backed by batru.gg's production model (trained on ~20M real matches and
calibrated, so a reported 60% reflects a real ~60% empirical win rate — it is
not a guess). Partial drafts are fine; an empty draft returns 50/50. Hero
names a
recommend_dota_pick
Recommend the top 3 Dota 2 heroes to pick next, with calibrated win rates.
Backed by batru.gg's production model. Each suggestion comes with the
CALIBRATED win rate your team would have after adding that hero against the
given enemy draft (a reported 60% reflects a real ~60% empirical w
get_dota_counters
Get the strongest matchups (counters) for a Dota 2 hero from real games.
Returns opponents this hero performs BEST and WORST against, by real observed
matchup win rate (with sample sizes). This is empirical meta data from
batru.gg's match aggregation, not a guess. The hero name is norma
get_dota_tier_list
Get the current Dota 2 hero tier list (best heroes this patch) from real games.
Ranked by batru.gg's match aggregation over ~real games — empirical meta, not
a guess. Heroes come sorted best-first (rank 1 = strongest). Report numbers
verbatim.
Args:
limit: Max number of her
get_deadlock_tier_list
Get the current Deadlock hero tier list (best heroes) from real games.
Ranked by batru.gg's match aggregation — empirical meta, not a guess. Heroes
come sorted best-first (rank 1 = strongest). Report numbers verbatim.
Args:
limit: Max number of heroes to return (default 20).
get_deadlock_counters
Get the strongest matchups (counters) for a Deadlock hero from real games.
Returns opponents this hero performs BEST and WORST against, by real observed
matchup win rate (with sample sizes). Empirical meta data from batru.gg's
match aggregation, not a guess. The hero name is normalised
get_marvel_rivals_tier_list
Get the current Marvel Rivals hero tier list (best heroes) from real games.
Ranked by batru.gg's match aggregation — empirical meta, not a guess. Heroes
come sorted best-first (rank 1 = strongest). Report numbers verbatim.
Args:
limit: Max number of heroes to return (default 20
get_marvel_rivals_counters
Get the strongest matchups (counters) for a Marvel Rivals hero from real games.
Returns opponents this hero performs BEST and WORST against, by real observed
matchup win rate (with sample sizes). Empirical meta data from batru.gg's
match aggregation, not a guess. The hero name is normal
get_marvel_rivals_synergy
Get the best (and worst) TEAMMATES for a Marvel Rivals hero from real games.
Returns teammates this hero performs BEST and WORST paired with, by real
observed team win rate (with sample sizes). Empirical meta data from
batru.gg's match aggregation, not a guess. The hero name is normalis
predict_deadlock_draft
Predict the CALIBRATED win probability for a Deadlock 6v6 draft.
Backed by batru.gg's Deadlock production model. Provide 6 heroes per team
(names are normalised to Deadlock hero ids internally). A reported 60%
reflects a real ~60% empirical win rate — it is calibrated, not a guess.
predict_marvel_rivals_draft
Predict the CALIBRATED win probability for a Marvel Rivals 6v6 draft.
Backed by batru.gg's live Marvel Rivals production model (weekly auto-retrained
on real matches). Provide exactly 6 heroes per team (names are normalised to
Marvel Rivals hero ids internally). The probability is CALIB
get_dota_synergy
Get the best (and worst) TEAMMATES for a Dota 2 hero from real games.
Returns teammates this hero performs BEST and WORST paired with (same team),
by real observed team win rate with sample sizes. Empirical meta data from
batru.gg's match aggregation, not a guess. The hero name is norma
get_dota_matchup
Get the head-to-head win rate for one specific Dota 2 hero pair.
Returns how `hero` performs AGAINST `opponent` (opposite teams) from real
observed games, with the sample size. Empirical data from batru.gg's match
aggregation covering every tracked pair — not a guess. Both names are
get_dota_tier_list_by_rank
Get the Dota 2 hero tier list for a specific rank bracket.
The meta differs a LOT by skill level — heroes that stomp Herald games can
be poor in Immortal. Data comes in four bands: Herald & Guardian,
Crusader & Archon, Legend & Ancient (merged pairs — the source has no finer
grain),
get_dota_hero_momentum
Get which Dota 2 heroes are rising or falling in the current patch.
Compares each hero's win rate over the last 14 days vs the prior 14 days
WITHIN the current patch — real trend data from batru.gg's match
aggregation, not a guess. Useful for "what's getting stronger lately?"
questi
get_model_track_record
Get batru.gg's public model evaluation ledger — every weekly test, wins AND losses.
batru.gg publishes EVERY champion-vs-challenger evaluation of its Dota 2
model (promoted or rejected), auto-generated from the promotion gate's
append-only log — nothing is hand-picked. Use this when a u
get_deadlock_ban_rates
Get the most-banned Deadlock heroes from real games.
Ban rate reveals what players FEAR facing — a different signal from win
rate. Empirical data from batru.gg's match aggregation. Heroes come sorted
most-banned first.
Args:
limit: Max number of heroes to return (default 15
get_marvel_rivals_ban_rates
Get the most-banned Marvel Rivals heroes from real competitive games.
Ban rate reveals what players FEAR facing — a different signal from win
rate. Empirical data from batru.gg's match aggregation (competitive mode,
where bans exist). Heroes come sorted most-banned first.
Args:
get_more_tools
Check for additional tools whenever your task might benefit from specialized capabilities - even if existing tools could work as a fallback.
Endpoint
https://batru.gg/mcp Category: AI & LLM · Last checked: 2026-08-15T09:23:52Z
Monitor your own MCP server
Get alerted the moment yours goes down, a tool schema drifts, or an upstream silently breaks.
What this means. This server responded to the MCP handshake and listed its tools without authentication. The schema fingerprint lets us flag if tool signatures silently change (schema drift) between checks.