Batru — Competitive Game Intelligence for AI Agents

Registre officiel Jeux, sport et divertissement

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

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

Remote (streamable-http)
Claude Code
claude mcp add --transport http batru-competitive-game-intelligence-for- 'https://batru.gg/mcp'
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "batru-competitive-game-intelligence-for-": {
            "type": "http",
            "url": "https://batru.gg/mcp"
        }
    }
}
PYPI package batru-mcp
Claude Code
claude mcp add batru-competitive-game-intelligence-for- -e 'BATRU_API_BASE=https://batru.gg' -- uvx batru-mcp==0.2.1
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "batru-competitive-game-intelligence-for-": {
            "command": "uvx",
            "args": [
                "batru-mcp==0.2.1"
            ],
            "env": {
                "BATRU_API_BASE": "https://batru.gg"
            }
        }
    }
}

Variables d'environnement

  • BATRU_API_BASE Base URL of the batru.gg API. Defaults to https://batru.gg; override only for local testing.

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. batru-mcp
  2. Why calibrated matters
  3. Tools
  4. Install
  5. Claude Desktop config
  6. Development
  7. Tests

batru-mcp

[!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.

Questions fréquentes

Qu'est-ce que Batru — Competitive Game Intelligence for AI Agents ?

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

Comment installer Batru — Competitive Game Intelligence for AI Agents ?

Il fonctionne comme serveur distant. Dans Claude Code : claude mcp add --transport http batru-competitive-game-intelligence-for- 'https://batru.gg/mcp'. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour Batru — Competitive Game Intelligence for AI Agents ?

Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.

Batru — Competitive Game Intelligence for AI Agents est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient Batru — Competitive Game Intelligence for AI Agents ?

Il est publié par batrugg. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.