Skip to main content
Glama
kashrockapi

kashrock-mcp

Official
by kashrockapi
README.md
# kashrock-mcp

<!-- mcp-name: com.kashrock/kashrock-mcp -->

Full tier-scoped KashRock esports MCP for Cursor, Claude, and other agents.

## Install (effortless)

```json
{
  "mcpServers": {
    "kashrock": {
      "command": "uvx",
      "args": ["kashrock-mcp"]
    }
  }
}
```

Then say **log in to KashRock**. Google opens; the agent gets your billed plan.

Requires [uv](https://docs.astral.sh/uv/). Optional: `KASHROCK_API_KEY` skips login.

## Local (this repo)

```bash
cd mcp && uv sync
```

Cursor `~/.cursor/mcp.json`:

```json
{
  "mcpServers": {
    "kashrock": {
      "command": "uv",
      "args": ["run", "--directory", "/ABS/PATH/TO/kashrock/mcp", "kashrock-mcp"],
      "env": { "KASHROCK_API_KEY": "kr_…" }
    }
  }
}
```

## What agents can do

- Board: DFS props (`get_props`), DFS+sportsbook player props (`get_player_props`), media (`get_media`), player snapshot (`get_player_snapshot`), consensus lines including DFS Teams (`get_lines` / `get_best_lines`), gaps (`get_gaps`)
- Players / research / rankings / streams / H2H
- Builder+: matches, **live in-game** (`get_live_boxscore` / `get_live_games` / `get_live_frame` / `get_live_odds` / `get_live_odds_history`), **live WebSocket** (`get_live_ws` → `WS /v6/esports/live/ws`), gamelogs, finished vault boxscores (`get_boxscore`), results, history tape, closing mainlines (`get_lines_history`)
- Match intel: `get_match_prep` (CS2, R6, COD, Valorant & Apex team stats, mode/map winrates, map pool/biases, key player matchups, betting insights), `get_player_board` (CS2 weapons / Valorant agents), `get_tournament_maps` — pass KashRock slug/`kr_match_id` only
- Public ids: lists and boxscores emit `kr_match_id`, `kr_tm_*` teams, `kr_pl_*` players. Lineup includes `STARTER` and `SUB`. Never pass foreign numerics.

Live KDA path: `get_live_boxscore("cs2")` → pick `game_id` → `get_live_boxscore("cs2", game_id)`. Sport boards: CS2 money/bomb, LoL gold/towers, Dota gold/roshan when visible, Deadlock gold/CS/level on tournament games. Do not use `get_boxscore` for mid-map stats (that is finished-match vault + lineup + model fields).

Live WebSocket (Builder+): call `get_live_ws` for the `wss://…/v6/esports/live/ws` URL + subscribe ops. Auth with your API key (`?api_key=` / Bearer / `x-api-key`). After `hello`, send `{"op":"subscribe","sport":"cs2","game_id":"<id>|*" }`. Pushes: snapshot, games_list, frame, boxscore, meta, event, odds. WS traffic does not count against HTTP req/min. MCP returns the contract only — your app holds the socket.

Call `whoami`, `list_capabilities`, or `suggest_build` first. Stacks are not exposed.

Docs: https://www.kashrock.com/mcp

App SDKs (not MCP): `pip install kashrock` · [Python](https://github.com/kashrockapi/kashrock-python) · [JS](https://github.com/kashrockapi/kashrock-js)

TDQS

C2.6/5.0

Scored across 46 tools

Disambiguation2/5

Several tools have heavily overlapping surfaces, such as get_props/get_player_props/get_player_snapshot, get_lines/get_best_lines/get_moneylines/get_live_odds, and get_live_games/get_live_boxscore (which also lists live games when game_id is omitted). Descriptions add caveats, but with 46 similarly named read tools an agent will often struggle to pick the right one.

Naming Consistency4/5

The vast majority of tools follow a get_/list_/search_/research_ + noun snake_case pattern, and there is no mixed casing. Minor deviations like login, whoami, explain_error, and suggest_build are still readable and conventional, though the abundance of get_lines/get_live_odds/get_moneylines/get_best_lines makes names semantically confusing.

Tool Count2/5

At 46 tools, this is far beyond the healthy 3-15 range and falls into the 'too many' category. Many tools could be consolidated, especially the live-game listing, props variants, and lines/odds families, which would reduce navigation burden without losing capability.

Completeness4/5

The surface covers the domain well: plan/auth, sports/books/markets catalogs, match scheduling, player search and stats, props, odds, live telemetry, results, media, and research tapes. Minor gaps exist—no tournament/event listing and no direct single-prop detail endpoint—but agents can work around them with existing tools.

Maintenance

ActivityMaintained
ResponsivenessNo issues