Stratz

liveGamesSportsEntertainment

STRATZ API — Dota 2 hero stats, match history, player profiles, live matches, and tournament data via GraphQL. Requires your own STRATZ API token (_apiKey), free at stratz.com/api.

12tools
0msauth
free tier50 calls/day
🔑Authentication

BYO token only — free token at stratz.com/api. Pass _apiKey on the gateway URL.

Config with credentials
{
  "mcpServers": {
    "pipeworx-stratz": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://gateway.pipeworx.io/stratz/mcp?_apiKey=your_stratz_token"
      ]
    }
  }
}

Tools

graphql

Send an arbitrary GraphQL query (with optional variables) directly to the STRATZ API at api.stratz.com/graphql. Use when no named tool covers the data you need. Field names are camelCase and must matc

No parameters required.

▶Try it
hero

Fetch a single Dota 2 hero's full detail by numeric hero id — display name, short name, roles, and base/gain stats (armor, strength, agility, intelligence, primary attribute, attack type/range/rate, s

No parameters required.

▶Try it
heroes

Fetch the complete list of all Dota 2 heroes from STRATZ, returning each hero's numeric id, name, displayName, and shortName. No arguments required.

No parameters required.

▶Try it
hero_stats

Fetch daily win-rate and pick-rate statistics for a Dota 2 hero by numeric hero_id, optionally filtered to a rank bracket (e.g. HERALD, ARCHON, LEGEND, DIVINE, IMMORTAL). Returns matchCount and winCou

No parameters required.

▶Try it
match

Fetch full details of a single Dota 2 match by numeric match id — duration, start time, Radiant/Dire teams, game mode, lobby type, and per-player stats (heroId, K/D/A, GPM, XPM, level).

No parameters required.

▶Try it
player

Fetch a Dota 2 player's profile by Steam account id — Steam name, profile URL, avatar, total match count, and win count via STRATZ.

No parameters required.

▶Try it
player_matches

Fetch a Dota 2 player's recent match history by Steam account id. Returns one row per match: match id, duration, start time, game mode, Radiant win flag, plus this player's heroId, side, win/loss, K/D

No parameters required.

▶Try it
player_heroes

Fetch the top heroes played by a Dota 2 player (by Steam account id), ranked by match count — returns heroId, matchCount, and winCount for up to `take` heroes (default 20).

No parameters required.

▶Try it
live_matches

Fetch all currently live Dota 2 matches from STRATZ, returning matchId, radiantTeamId, direTeamId, and current game time. No arguments required.

No parameters required.

▶Try it
tournament

Fetch details for a single Dota 2 tournament (league) by numeric id — display name, description, tier, start/end dates, and prize pool.

No parameters required.

▶Try it
tournaments

List Dota 2 tournaments (leagues) from STRATZ, most recent start date first (up to 50) — id, name, tier, start/end dates and prize pool. Pass only_premium=true to restrict to MAJOR and INTERNATIONAL t

No parameters required.

▶Try it
meta

Fetch current Dota 2 meta constants from STRATZ: the list of game versions (patches) with their id and name. No arguments required.

No parameters required.

▶Try it

Test with curl

The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.

List available tools
bash
curl -X POST https://gateway.pipeworx.io/stratz/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Call a tool
bash
curl -X POST https://gateway.pipeworx.io/stratz/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"graphql","arguments":{}}}'

Use with the SDK

Install @pipeworx/sdk to call tools from any TypeScript/Node project.

TypeScript
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("graphql", {});
ask_pipeworx
// Or ask in plain English:
const answer = await px.ask("stratz api — dota 2 hero stats, match history, player profiles, live matches, and tournament data via graphql");