# Batru — Competitive Game Intelligence for AI Agents

Gives your agent calibrated win-rate predictions, pick suggestions and matchup tables for Dota 2 and Deadlock. Handy when you want draft advice instead of guesses from memory.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI
- Author: batrugg
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/batrugg/batru-mcp
- Updated: 2026-08-25
- HTML: https://affpapa.org/en/nevibecode/mcp/batru-competitive-game-intelligence-for-ai-agents

## What it does

The server sits on top of batru.gg's public API and runs no model of its own: every figure comes from the same production model the site serves. It exposes 31 read-only tools covering Dota 2, Deadlock and Marvel Rivals. The core ones are `predict_dota_winrate`, `recommend_dota_pick`, `get_dota_counters` and `predict_deadlock_draft`.

Hero names go in however you like, aliases such as `am` or `anti mage` included, and get normalised on the way in. The backend drops names it does not recognise without complaining, so call `lookup_hero` first — skip that step and the numbers drift. Partial drafts are fine; an empty one returns 50/50.

There is nothing to install for the canonical setup: point your client at the hosted endpoint `https://batru.gg/mcp`. The PyPI package `uvx batru-mcp` is frozen at an early version with a smaller tool set, though it proxies the same live API. Running it locally needs `uv` and Python 3.12+, and the API base is set through `BATRU_API_BASE`.

## Requirements
- Needs: Python and uv (commands run via uvx)
- Remote server: `https://batru.gg/mcp`
- Environment variables: `BATRU_API_BASE` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

1. **Platform CLI: remote server**
```bash
claude mcp add --transport http batru-mcp https://batru.gg/mcp
```

2. **Platform CLI**
```bash
claude mcp add --env BATRU_API_BASE=<BATRU_API_BASE> --transport stdio batru-competitive-game-intelligence-for-ai-agents -- uvx batru-mcp
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from batru-mcp <command>

### Codex

1. **Platform CLI: remote server**
```bash
codex mcp add batru-competitive-game-intelligence-for-ai-agents --url https://batru.gg/mcp
```

2. **Platform CLI**
```bash
codex mcp add batru-competitive-game-intelligence-for-ai-agents --env BATRU_API_BASE=<BATRU_API_BASE> -- uvx batru-mcp
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from batru-mcp <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "batru-competitive-game-intelligence-for-ai-agents": {
            "url": "https://batru.gg/mcp"
        }
    }
}
```
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "batru-competitive-game-intelligence-for-ai-agents": {
            "command": "uvx",
            "args": [
                "batru-mcp"
            ],
            "env": {
                "BATRU_API_BASE": "<BATRU_API_BASE>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from batru-mcp <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "batru-competitive-game-intelligence-for-ai-agents": {
            "type": "http",
            "url": "https://batru.gg/mcp"
        }
    }
}
```
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "batru-competitive-game-intelligence-for-ai-agents": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "batru-mcp"
            ],
            "env": {
                "BATRU_API_BASE": "<BATRU_API_BASE>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from batru-mcp <command>

### Gemini CLI

1. **Platform CLI: remote server**
```bash
gemini mcp add -t http batru-competitive-game-intelligence-for-ai-agents https://batru.gg/mcp
```

2. **Platform CLI**
```bash
gemini mcp add -e BATRU_API_BASE=<BATRU_API_BASE> batru-competitive-game-intelligence-for-ai-agents uvx batru-mcp
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from batru-mcp <command>

## When to use it
- score a Dota 2 draft that is only half filled in
- shortlist three heroes for the next pick
- check who a given hero beats and loses to
- read the odds in a Deadlock 6v6 draft
- map a hero alias to its canonical name

## Example prompts
- Predict the win rate for this draft: we have `Anti-Mage` and `Invoker`, they have `Phantom Assassin`
- Who should we pick third against `am` and `lina`?
- Show me the matchups for `Anti-Mage`, first 12

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 392262
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33989
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81163
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119231
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47577
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43902

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
