# TrackDIFF (remote · trackdiff.com)

League of Legends ranked ladders, cutoffs, player profiles, live games, champion stats and builds.

- Trust score: 71/100 (medium)
- Change this week: +48
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `trackdiff.com`: 71/100 (this document), [markdown](https://verifymcp.io/servers/com-trackdiff-mcp/trackdiff.md), [page](https://verifymcp.io/servers/com-trackdiff-mcp/trackdiff)

## Channel facts

- Endpoint: `https://trackdiff.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 80/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 63/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 2124 tokens (~193/item across 11 items; 11 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 3/100
  - Stability observed for 1 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 90/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 71% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 11 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 12 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the TrackDIFF MCP server?

TrackDIFF is a hosted endpoint at https://trackdiff.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http com-trackdiff-mcp 'https://trackdiff.com/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "com-trackdiff-mcp": {
      "url": "https://trackdiff.com/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-trackdiff-mcp": {
      "type": "http",
      "url": "https://trackdiff.com/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.com-trackdiff-mcp]
url = "https://trackdiff.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-trackdiff-mcp": {
      "type": "remote",
      "url": "https://trackdiff.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-trackdiff-mcp --url 'https://trackdiff.com/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-trackdiff-mcp:
    url: "https://trackdiff.com/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "com-trackdiff-mcp": {
      "Transport": "http",
      "Url": "https://trackdiff.com/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-trackdiff-mcp -t streamable-http -u 'https://trackdiff.com/mcp'
```

### Other

```json
{
  "mcpServers": {
    "com-trackdiff-mcp": {
      "type": "http",
      "url": "https://trackdiff.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-05 (score 71, 0)

- [functional improvement] Stability: unverified → 0.03

### 2026-11-04 (score 71, +48)

- [security improvement] Authorization: unverified → partial
- [security improvement] Injection markers: unverified → pass
- [security improvement] HSTS header: fail → pass
- [security improvement] Transport: fail → pass
- [security] First check of Judged manipulation: pass
- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] MCP protocol: unverified → pass
- [functional] First check of Schema quality: fail
- [functional] First check of Destructive annotations: pass
- [functional] First check of Schema quality: fail
- [functional] First check of Tool coverage: 71
- [functional] First check of Schema quality: good

### 2026-10-26 (score 23)

First indexed and scored.

## MCP tools (11)

### `get_leaderboard` (~257 tokens)

Ranked ladder page

One page (100 rows) of a region's Master+ ranked solo/duo ladder as TrackDIFF shows it: rank, Riot ID (summonerName#tagLine), tier/division/LP, wins/losses, LP change over `span`, whether the player is live-streaming or in a game, and their public persona (streamer/pro) if any. `board: "prestige"` is the global Master+ board filtered to ≥69% win rate and ignores `region`. Use `get_rank_cutoffs` for the Challenger/Grandmaster thresholds and `get_player_profile` for one player. Pages beyond 10 are not served — this is an answer, not a dataset.

Input parameters:

- `board` (string)
- `page` (integer)
- `region` (string, required): Riot platform or alias: "na", "euw", "kr", "br", "jp", "oce", … (case-insensitive).
- `role` (string): Only players whose primary role is this.
- `span` (string): Window for the LP-change column.
- `tier` (string): Only one apex tier: "CHALLENGER", "GRANDMASTER" or "MASTER".

### `get_rank_cutoffs` (~132 tokens)

Challenger / Grandmaster LP cutoffs

A region's apex cutoffs right now: the LP needed for Challenger and for Grandmaster (`challengerCutoff`, `grandmasterCutoff`), how many players hold each apex tier, how much each cutoff moved since the region's midnight (`*DeltaToday`, null when unknown), when the ladder snapshot ran (`updatedAtMs`), and the primary-role mix of the top 200. Cutoffs are positional (Riot's apex slots), not a formula.

Input parameters:

- `region` (string, required): Riot platform or alias: "na", "euw", "kr", … (case-insensitive).

### `get_player_profile` (~206 tokens)

Player profile

One League of Legends account by Riot ID: identity (Riot ID, level, primary role, linked public persona), current ranked solo/duo standing with wins/losses, this split's peak, apex ladder rank (null below Master), the most-played champions with win rate/KDA/CS per minute, and recent form summarised from the last 20 solo games (wins, losses, win rate, average K/D/A). `indexed: false` means TrackDIFF has not seen this account; no data is fetched on demand. Win rates are 0–1 fractions; timestamps are Unix ms. For the game they are in right now use `get_player_live_game`.

Input parameters:

- `region` (string, required): The account's platform or alias: "na", "euw", "kr", … (case-insensitive).
- `riot_id` (string, required): The Riot ID as "GameName#TAG", e.g. "Faker#KR1".

### `get_player_live_game` (~189 tokens)

Player's current game

Whether an account is in a ranked game right now and, if so, the lobby TrackDIFF shows on its Live Game tab: `gameId`, `startedAtMs`, bans, and all ten participants with champion, team, summoner spells, keystone, current rank/LP, primary role, their win rate on the champion they are playing (0–1), and public persona. `in_game: false` means no game is in progress (or the account is not indexed). Data comes from TrackDIFF's own live-game tracker and may lag a game start by a minute or two.

Input parameters:

- `region` (string, required): The account's platform or alias: "na", "euw", "kr", … (case-insensitive).
- `riot_id` (string, required): The Riot ID as "GameName#TAG", e.g. "Faker#KR1".

### `get_persona` (~160 tokens)

Streamer / pro persona

A public TrackDIFF persona (a streamer or pro player) by site slug or display name: their linked Riot accounts with region, current tier/division/LP and whether they played recently, live status per platform (Twitch/Kick/SOOP) with stream title and start time, social links, esports team, best champion-board standing, and recent clips. Only accounts the owner made public are listed. `found: false` means no persona matches — try `search` with the name. For one account's ranked detail call `get_player_profile` with its Riot ID.

Input parameters:

- `name` (string, required): The persona slug from a trackdiff.com/p/<slug> URL, or the display name (e.g. "Tyler1").

### `get_champion_stats` (~245 tokens)

Champion win / pick / ban rates

Without `champion`: the current-patch champion board (top `limit` rows by TrackDIFF's tier grade): rank, champion, games, win rate, pick rate, ban rate (all 0–1), tier grade (S+…D), roles played and worst matchups, optionally for one role and one rank bucket. With `champion`: that champion's headline stats, per-role split, and its board standing, pinnable to a `patch` like "16.17". Stats are ranked solo/duo from the games TrackDIFF tracks. For items/runes/skill order call `get_champion_build`.

Input parameters:

- `champion` (string): English name or slug: "Lee Sin", "lee-sin".
- `limit` (integer)
- `patch` (string): Only with `champion`: pin to a patch like "16.17".
- `rank_bucket` (string): Rank scope, e.g. "DIAMOND_PLUS", "MASTER_PLUS". Omit for all ranks.
- `role` (string): Riot team position: TOP, JUNGLE, MIDDLE, BOTTOM, UTILITY.

### `get_champion_build` (~209 tokens)

Champion build

The build TrackDIFF shows for a champion in its main role: starting items (+ trinket), the highest-win-rate core three-item builds, situational items, full build paths, skill max orders and level-by-level skill points, summoner spells, rune pages with stat shards, and final-item presence — each with games and win rate (0–1). Items, runes and spells are Data Dragon numeric ids. `patch` is the patch the numbers come from (TrackDIFF falls back one patch when the newest has too few games unless you pin `patch`). `null` means no build data for that champion/patch yet.

Input parameters:

- `champion` (string, required): English name or slug: "Lee Sin", "lee-sin".
- `patch` (string): Pin to a patch like "16.17"; omit for the latest with data.
- `rank_bucket` (string): Rank scope, e.g. "DIAMOND_PLUS". Omit for all ranks.

### `list_live_streamers` (~201 tokens)

Live League streamers

League of Legends streamers live right now that TrackDIFF tracks, as cards: display name, platform and channel, stream title, viewer count, the champion they are playing (`liveChampionId`), their best account's rank, primary role, region and top champions. Filter by champion, role, tier or region; 24 cards per page. Empty rows mean nobody matching is live. For one streamer's full page call `get_persona`.

Input parameters:

- `champion` (string): Only streamers currently playing this champion ("Jinx", "lee-sin").
- `inGame` (boolean)
- `page` (integer)
- `region` (string): Only streamers whose main account is on this platform ("na", "kr", …).
- `role` (string)
- `sort` (string)
- `tier` (string): Only streamers whose best account is this tier, e.g. "CHALLENGER".

### `list_events` (~125 tokens)

Events and races

TrackDIFF's public events — ranked races, team events, champion challenges — as hub cards: slug, name, description, kind, lifecycle status (scheduled/active/ended/…), start/end dates, roster size and the regions the roster plays on. Filter by `status`, `featured` (the curated hub) or `kind`. Call `get_event_standings` with a card's `slug` for its leaderboard.

Input parameters:

- `featured` (boolean)
- `kind` (string)
- `status` (string): Lifecycle filter; omit for every public event.

### `get_event_standings` (~150 tokens)

Event standings

One public event by slug: its summary (name, kind, status, dates) and the standings board — each member's rank, Riot ID, region, current tier/division/LP, persona and team tag, done/failed flags, and the kind-specific `progress` payload (LP gained for a race, challenge counters, …). `peak: true` shows the board as a record (best standings, hidden members re-admitted) instead of live. Unknown slug → an error; find slugs with `list_events` or `search`.

Input parameters:

- `peak` (boolean)
- `slug` (string, required): The event slug from a trackdiff.com/events/<slug> URL.

### `search` (~168 tokens)

Search TrackDIFF

The site's typeahead over everything TrackDIFF indexes: players (whole ladder, typo-tolerant; each with region, tier/division/LP, persona and whether they are in a game), personas (streamers/pros, with live status), champions (name and slug) and events. Use it to turn a half-remembered name into a Riot ID, persona slug, champion slug or event slug for the other tools. `resolveHint` is set when the query is already an exact "Name#TAG". `source: "fallback"` means the full-ladder index was unavailable and players are apex-only.

Input parameters:

- `q` (string, required): Free text: a player name, Riot ID, streamer, champion or event.
- `region` (string): Bias player results to one platform.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-trackdiff-mcp/trackdiff#diagnostics

## Score history

- 2026-11-05: 71
- 2026-11-04: 71
- 2026-11-03: 23
- 2026-11-02: 23
- 2026-11-01: 23
- 2026-10-31: 23
- 2026-10-30: 23
- 2026-10-29: 23
- 2026-10-28: 23
- 2026-10-27: 23
- 2026-10-26: 23

## Common questions

### What is the TrackDIFF MCP server?

TrackDIFF is an MCP server listed in the public MCP registry as com.trackdiff/mcp. League of Legends ranked ladders, cutoffs, player profiles, live games, champion stats and builds. This page covers its hosted endpoint (https://trackdiff.com/mcp).

### Is the TrackDIFF MCP server safe to use?

TrackDIFF scores 71 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the TrackDIFF MCP server expose?

TrackDIFF exposes 11 tools: get_leaderboard, get_rank_cutoffs, get_player_profile, get_player_live_game, get_persona, and 6 more. Their descriptions and schemas cost roughly 2,042 tokens of context every time the server is loaded.

### Does the TrackDIFF MCP server require authentication?

No. We connected to TrackDIFF without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the TrackDIFF MCP server still maintained?

TrackDIFF is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://trackdiff.com/mcp
- Website: https://trackdiff.com/
- Changelog RSS feed: https://verifymcp.io/servers/com-trackdiff-mcp/trackdiff.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-trackdiff-mcp/trackdiff.json
- HTML version of this page: https://verifymcp.io/servers/com-trackdiff-mcp/trackdiff
