mcpbeat Sign in

Batru — Competitive Game Intelligence for AI Agents MCP Server

answering

Batru — Competitive Game Intelligence for AI Agents is answering right now. Last checked 6 min ago. 110 installs a week from pypi. It exposes 17 tools. Last commit 25 Aug 2026.

Live competitive-game predictions, meta data and decision tools for AI agents.

Installs per day peak 49 · avg 23 · +8% w/w
a month agotoday
Uptime history 47 days of history · worst day 97%
47 days agonow
100.0%
Uptime 24h
92 of 92 checks
17
Tools
read from the server
901 ms
Response time
average over 24h
110
Installs / week
npm and PyPI

What changed 128

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 15 August 2026. No other catalogue keeps this.

12 Sep 29 tools disappeared get_deadlock_ban_rates, get_deadlock_counters, get_deadlock_hero_momentum and 26 more
12 Sep 16 tools changed the parameters they ask for analyze_draft, fetch, get_ban_rates and 13 more
12 Sep 13 tools appeared fetch, get_ban_rates, get_counters and 10 more
12 Sep a tool changed version2 times that day
10 Sep a tool description was rewritten predict_dota_winrate
30 Aug a tool changed version
29 Aug a tool appeared analyze_draft
29 Aug a tool changed version
27 Aug 21 tool descriptions were rewritten get_deadlock_ban_rates, get_deadlock_counters, get_deadlock_hero_momentum and 18 more
23 Aug 2 tool descriptions were rewritten4 times that day get_dota_tournament_game_stats, get_dota_tournament_stats
and 42 more, back to 15 August 2026

Batru — Competitive Game Intelligence for AI Agents does not always answer

Over the last week it answered 99.1% of our checks. We check every 15 minutes, so you hear about the next outage within the hour — not from your users.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 6 min ago.

run in your terminal
claude mcp add batru-mcp --transport http https://batru.gg/mcp
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "batru-mcp": {
      "url": "https://batru.gg/mcp"
    }
  }
}
~/.codex/config.toml
[mcp_servers.batru-mcp]
url = "https://batru.gg/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "batru-mcp": {
      "url": "https://batru.gg/mcp"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "batru-mcp": {
      "url": "https://batru.gg/mcp"
    }
  }
}

This one needs environment variables set before it will start: BATRU_API_BASE (Base URL of the batru.gg API. Defaults to https://batru.gg; override only for local testing.). The author declared them in the registry entry; get the values from the project itself.

Available tools 17

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

predict
predict_winrate
Which team wins this draft — CALIBRATED win probability for Dota 2, Deadlock or Marvel Rivals. Backed by batru.gg's per-game production models (built on 140M+ real matches and calibrated: a reported 60% reflects a real ~60% empirical win rate — not a guess). Hero names are normalised internally. Per-game semantics: - dota2: full OR partial drafts (0-5 per side); empty draft = 50/50. `my_side` says whether my_heroes are Radiant or Dire. - deadlock / marvel-rivals: requires the full 6v6 rosters; `my_side` is ignored. For partial drafts use recommend_pick instead. Returns calibrated win-rate percentages for both teams. Report them verbatim; do not adjust them. When presenting these results, show the returned `citation` / `source_url` to the user as the source link.
predict_winrate_batch
Score MANY candidate next-picks for a Dota 2 draft in ONE call — calibrated win rate + delta each. Use this instead of looping predict_winrate over candidates: the whole batch runs as a single model invoke server-side. For each candidate you get the CALIBRATED team win rate after adding it, plus the delta vs the draft without it (a full-roster sweep of up to 150 candidates fits in one call). Currently dota2-only. Args: my_heroes: Heroes your team already picked (0-4). enemy_heroes: Enemy heroes (0-5). candidates: Candidate heroes to evaluate (1-150). my_side: "radiant" (default) or "dire". game: Only "dota2" today. Returns {baseline_win_rate_pct, candidates:[{hero, shortName, win_rate_pct, delta_pp}]} sorted best-first. Report verbatim. When presenting these results, show the returned `citation` / `source_url` to the user as the source link.
tournament
get_tournament_game_stats
Per-game BOX SCORES from parsed replays of a pro Dota 2 tournament. For each game: lane winners at 10 minutes, every player's hero, lane, K/D/A, GPM, net worth and key item timings, first blood, Roshans, and comeback flags. Filter by team, stage, or a single match_id. Args: event: Event slug (default "ti-2026"). team: Optional team-name filter. stage: Optional stage filter. match_id: Optional single-match filter. limit: Max games to return (default 3). game: Only "dota2" today. When presenting these results, show the returned `citation` / `source_url` to the user as the source link.
get_tournament_stats
TI / EWC pro tournament stats — actual most-picked, most-banned and win rates per hero. Real recorded results from the official drafts of every game at a covered pro Dota 2 event (The International, Esports World Cup, ...) — small-sample records, not calibrated probabilities. Answers "most picked / banned / contested at TI", "who won", "group standings". Args: event: Event slug, e.g. "ti-2026" (default), "ti-2025", "esports-world-cup-2026". limit: Max heroes per table (default 15). game: Only "dota2" today. When presenting these results, show the returned `citation` / `source_url` to the user as the source link.
analyze
analyze_draft
Analyze a draft and render an interactive Batru win-rate board. Use this for visual draft, matchup, win-probability, or next-pick questions in Dota 2, Deadlock, or Marvel Rivals. It combines the existing prediction and recommendation tools into one stable structured result. Clients that support MCP Apps render a compact card; every other MCP client receives the same data as JSON/text. This tool is read-only. Dota 2 supports partial drafts and returns a calibrated probability plus calibrated next-pick win rates. Deadlock and Marvel Rivals only return a calibrated probability for a complete 6v6; partial drafts still return counter-pick recommendations labelled as empirical pair-data scores. Args: game: "dota2", "deadlock", or "marvel-rivals". my_heroes: Your team / Team 0 heroes (0-5 for Dota, 0-6 otherwise). enemy_heroes: Enemy team / Team 1 heroes (0-5 for Dota, 0-6 otherwise). my_side: Dota only — whether your team is Radiant or Dire. Returns the two rosters, prediction status, calibrated win rates when available, recommendations, metric labels, `source_url`, and `citation`. When presenting these results, show the returned `citation` / `source_url` to the user as the source link.
ban
get_ban_rates
Most-banned heroes — measured draft-phase ban rates for Deadlock or Marvel Rivals. Args: game: "deadlock" or "marvel-rivals" (ranked Dota has no ban-phase export — for pro Dota bans use get_tournament_stats). limit: Max heroes to return (default 15). Report numbers verbatim. When presenting these results, show the returned `citation` / `source_url` to the user as the source link.
counters
get_counters
Who counters a hero (and who it beats) — measured matchup win rates for Dota 2, Deadlock or Marvel Rivals. Opponents this hero performs BEST and WORST against, by real observed win rate with sample sizes — empirical meta data, not a guess. The hero name is normalised internally. Args: game: "dota2", "deadlock", or "marvel-rivals". hero: The hero to look up (name/alias/shortName). limit: Max matchups per direction (default 12). winrate_pct > 50 means `hero` beats that opponent. Report verbatim. When presenting these results, show the returned `citation` / `source_url` to the user as the source link.
fetch
fetch
Fetch the full live document behind a `search` result id. Ids look like `dota2:counters:axe`, `deadlock:tier-list`, `marvel-rivals:synergy:mantis`, `deadlock:ban-rates`, `dota2:tournament:ti-2026` or `model:track-record`. Returns {id, title, text, url} where `text` is the document's data as JSON (measured win rates / ranks with sample sizes). Report the numbers verbatim and cite `url`. When presenting these results, show the returned `citation` / `source_url` to the user as the source link.
hero
get_hero_momentum
Which heroes are rising or falling right now — week-over-week win-rate movement. Momentum from batru.gg's rolling match aggregation for Dota 2, Deadlock or Marvel Rivals: the biggest movers of the current window, or one hero's trend when `hero` is given. Args: game: "dota2", "deadlock", or "marvel-rivals". hero: Optional — one hero's momentum instead of the movers list. limit: Max movers to return (default 10). Report numbers verbatim. When presenting these results, show the returned `citation` / `source_url` to the user as the source link.
lookup
lookup_hero
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 first. Args: query: A hero name, alias, or short name. game: "dota2" (default), "deadlock", or "marvel-rivals". Returns {id, displayName, shortName, game} for the best match, or an error with `did_you_mean` candidates if nothing matches.
matchup
get_matchup
One hero vs one opponent — the measured head-to-head win rate in Dota 2, Deadlock or Marvel Rivals. The direct matchup number ("does X beat Y?") from real games, with the sample size. Names are normalised internally. Args: game: "dota2", "deadlock", or "marvel-rivals". hero: Your hero. opponent: The enemy hero. Report the number verbatim. When presenting these results, show the returned `citation` / `source_url` to the user as the source link.
model
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 user asks whether the model is any good or how it is validated. HOW TO PRESENT IT: lead with CALIBRATION (ECE — lower is better; ~0.006 means a stated 60% wins ~60% of the time), then BCE. Do NOT headline raw accuracy: Dota drafts are balanced by design, so ~55% is near the game-imposed ceiling for ANY model — calibration is the meaningful claim. Args: limit: Max evaluations to return, newest first (default 10). Returns {generated_at, ledger, total_evaluations, total_promotions, evaluations:[{decided_at, promote, challenger:{ece,bce,acc}, champion:{ece,bce,acc}, holdout_n}]}. Report numbers verbatim. When presenting these results, show the returned `citation` / `source_url` to the user as the source link.
more
get_more_tools
Check for additional tools whenever your task might benefit from specialized capabilities - even if existing tools could work as a fallback.
recommend
recommend_pick
Best heroes to pick next against this draft — Dota 2, Deadlock or Marvel Rivals. Per-game semantics: - dota2: top 3 picks scored by the CALIBRATED draft model (each with the calibrated team win rate after adding that hero); `my_side` applies. - deadlock / marvel-rivals: ranked by REAL observed pair data (win rate vs the enemy heroes, blended with duo rate alongside your picks) — an empirical heuristic, not the calibrated model; verify a full 6v6 with predict_winrate. Args: game: "dota2", "deadlock", or "marvel-rivals". enemy_heroes: Enemy heroes to pick against. my_heroes: Heroes your team already has. my_side: Dota only — "radiant" (default) or "dire". limit: Max recommendations (Deadlock/Marvel; Dota returns top 3). Report win rates verbatim. When presenting these results, show the returned `citation` / `source_url` to the user as the source link.
search
search
Search batru.gg's live competitive datasets for Dota 2, Deadlock and Marvel Rivals. Finds the right document for a question about hero counters, hero synergies /duos, current-patch tier lists, ban rates, pro tournament results (TI, Esports World Cup) or the prediction model's public evaluation ledger. Data behind every document is computed from 140M+ real matches by batru.gg's production pipeline — measured numbers, not model guesses. Args: query: Free-text search, e.g. "who counters axe dota", "best deadlock heroes", "marvel rivals mantis duo", "ti 2026 most banned". Returns {results: [{id, title, url}]}. Pass a result's `id` to `fetch` to get the full document.
synergy
get_synergy
Best teammates / duo partners for a hero — measured together-win-rates for Dota 2, Deadlock or Marvel Rivals. Allies this hero wins MOST and LEAST with, by real observed win rate when picked together (with sample sizes). Covers Marvel Rivals team-ups too. The hero name is normalised internally. Args: game: "dota2", "deadlock", or "marvel-rivals". hero: The hero to look up (name/alias/shortName). limit: Max partners per direction (default 12). Report numbers verbatim. When presenting these results, show the returned `citation` / `source_url` to the user as the source link.
tier
get_tier_list
Best heroes right now — the current-patch tier list for Dota 2, Deadlock or Marvel Rivals. Empirical rankings from batru.gg's match aggregation over real games (not a guess); heroes come sorted best-first. Optionally filter to a skill bracket with `rank`. Args: game: "dota2", "deadlock", or "marvel-rivals". rank: Optional skill bracket. dota2: herald, guardian, crusader, archon, legend, ancient (and bands). deadlock/marvel-rivals: low, mid, high, or top (rank words like "oracle" or "eternus" also resolve). Empty = all ranks combined. limit: Max heroes to return (default 20). `total_matches` is the sample behind the ranking — cite it when stating how strong the signal is. Report numbers verbatim. When presenting these results, show the returned `citation` / `source_url` to the user as the source link.

Tools removed

Tools this server used to expose. Anything built against them stopped working on the day they went.

get_deadlock_ban_rates
removed 12 Sep 2026
get_deadlock_counters
removed 12 Sep 2026
get_deadlock_hero_momentum
removed 12 Sep 2026
get_deadlock_matchup
removed 12 Sep 2026
get_deadlock_synergy
removed 12 Sep 2026
get_deadlock_tier_list
removed 12 Sep 2026
get_deadlock_tier_list_by_rank
removed 12 Sep 2026
get_dota_counters
removed 12 Sep 2026
get_dota_hero_momentum
removed 12 Sep 2026
get_dota_matchup
removed 12 Sep 2026
get_dota_synergy
removed 12 Sep 2026
get_dota_tier_list
removed 12 Sep 2026
get_dota_tier_list_by_rank
removed 12 Sep 2026
get_dota_tournament_game_stats
removed 12 Sep 2026
get_dota_tournament_stats
removed 12 Sep 2026
get_marvel_rivals_ban_rates
removed 12 Sep 2026
get_marvel_rivals_counters
removed 12 Sep 2026
get_marvel_rivals_hero_momentum
removed 12 Sep 2026
get_marvel_rivals_matchup
removed 12 Sep 2026
get_marvel_rivals_synergy
removed 12 Sep 2026
get_marvel_rivals_tier_list
removed 12 Sep 2026
get_marvel_rivals_tier_list_by_rank
removed 12 Sep 2026
predict_deadlock_draft
removed 12 Sep 2026
predict_dota_winrate
removed 12 Sep 2026
predict_dota_winrate_batch
removed 12 Sep 2026
predict_marvel_rivals_draft
removed 12 Sep 2026
recommend_deadlock_pick
removed 12 Sep 2026
recommend_dota_pick
removed 12 Sep 2026
recommend_marvel_rivals_pick
removed 12 Sep 2026

Endpoints

URLTransportStateLatencyChecked
https://batru.gg/mcp streamable-http answering 900 ms 6 min ago

Alternatives to Batru — Competitive Game Intelligence for AI Agents

same job, measured the same way
Kresmion
by kresmion

Prediction markets, on-chain flows, ETF flows, equities and macro intelligence for AI agents.

answering
MCP Server Decisions
by roberton003

Decision tracking with prediction validation and outcome gates for AI agents

66 installs/wk local only
AgentHC Market Intelligence
by traderhc

Market intelligence for AI agents. Real-time data, cross-market analysis, and regime detection.

answering
Caelian
by mananmodi-product

Live competitive intelligence for B2B teams — signals, threat rankings, and revenue-driving actions.

22 installs/wk local only
UniBio Intelligence
by unibio-intelligence

Connect AI clients to biomedical data and tools.

answering
MEV Intelligence
by advalorem-mev

Real-time Ethereum liquidation intelligence for AI agents and MEV bots.

10 tools answering
Marketbasketanalysis MCP
by 48x-ai

Co-purchase intelligence and merchant ops tools for AI shopping, ecommerce, and B2B agents

89 installs/wk 19 tools answering
Semilattice - audience prediction
by semilattice-research

Semilattice lets agents make predictions about audiences for content testing and decision making.

answering

Batru — Competitive Game Intelligence for AI Agents — questions

Answers built from our own checks of this server.

What can Batru — Competitive Game Intelligence for AI Agents do?
It exposes 17 tools, read directly from the server on our last check. Among them: analyze_draft, fetch, get_ban_rates, get_counters, get_hero_momentum, get_matchup and 11 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
What is Batru — Competitive Game Intelligence for AI Agents mostly used for?
Its tools cluster around predict and tournament. That is what this server is built to work with — the grouping comes from the actual tool names, not from a category we assigned.
Is Batru — Competitive Game Intelligence for AI Agents working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 92 of 92 checks got a reply (100.0%), average response time 901 ms. The bar chart above shows every period we have measured.
Did Batru — Competitive Game Intelligence for AI Agents ever remove tools?
Yes. get_deadlock_ban_rates, get_deadlock_counters, get_deadlock_hero_momentum, get_deadlock_matchup and 25 more are no longer exposed — we recorded the date each one disappeared. A tool vanishing usually means a breaking change for anything that depended on it.
How do I connect Batru — Competitive Game Intelligence for AI Agents?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Batru — Competitive Game Intelligence for AI Agents need an API key?
No. Batru — Competitive Game Intelligence for AI Agents completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 17 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Batru — Competitive Game Intelligence for AI Agents?
It answers our handshake in 901 ms on average, which is faster than 11% of all working MCP servers we measure. That is on the slow side — worth knowing if the tool sits inside an interactive loop. The comparison comes from our own checks across the whole registry, every 15 minutes.
How many people use Batru — Competitive Game Intelligence for AI Agents?
The pypi package batru-mcp was installed 110 times in the last week. Week over week that is +8%. We show installs rather than GitHub stars on purpose: a star is a bookmark, an install is someone actually running it.
Is Batru — Competitive Game Intelligence for AI Agents open source?
Yes — it is published under the MIT licence, written in Python and 0 stars on GitHub. The source link is on this page, so you can read exactly what it does with your data before you connect it.