mcsr-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcsr-mcp Scout v_strid before my match"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcsr-mcp is a Model Context Protocol server that gives AI assistants real-time access to the MCSR Ranked competitive Minecraft speedrunning API.
Ask your AI anything about any ranked player — form analysis, personal bests, ELO history, pre-match scouting, rivals, decay status — in plain language. No commands, no dashboards, no manual API calls.
"Scout v_strid before my match"
"What are Feinberg's top 10 fastest runs this season?"
"Has v_strid been tilting? Show me their ELO history"
"When does my rank decay?"
"Who are v_strid's rivals and where are they weakest?"How it looks
Related MCP server: OSRS MCP Server
What it can do
All 18 tools
Tool | What it does |
| Profile, ELO, rank, tier, stats, Twitch/YouTube links |
| Raw match history with seed and bastion data |
| Season-by-season performance history |
| Head-to-head record between two players |
| Full H2H match list |
| Global ranked standings |
| Single match details by ID |
| Weekly race leaderboard |
| Win rates by seed type, bastion type, opponent ELO bracket |
| Leaderboard neighborhood + ELO gaps to milestone ranks |
| Pre-match scouting report with Twitch VOD timestamps |
| Side-by-side player comparison with H2H |
| Opponents a player consistently loses to |
| Fastest ranked completions, filterable by seed type |
| Full ELO trajectory — peak, trough, streaks, per-match deltas |
| Exact decay date + urgency level (✅ SAFE → 🚨 CRITICAL) |
| Per-session stats grouped by playtime gaps |
| Ask your AI "what can this MCP do?" to get the full guide |
Installation
Requirements
Node.js v18 or later
An MCP-compatible AI client (see below)
1. Clone and build
git clone https://github.com/miyakejima/mcsr-mcp.git
cd mcsr-mcp
npm install
npm run buildThe compiled server will be at dist/index.js.
2. Add to your AI client
Add the following block to your MCP config file:
{
"mcpServers": {
"mcsr": {
"command": "node",
"args": ["/absolute/path/to/mcsr-mcp/dist/index.js"]
}
}
}Config file locations
Client | Config file |
Antigravity |
|
Claude Desktop (macOS) |
|
Claude Desktop (Windows) |
|
Cursor |
|
Windsurf |
|
Windows path example:
{
"mcpServers": {
"mcsr": {
"command": "node",
"args": ["C:/Users/yourname/mcsr-mcp/dist/index.js"]
}
}
}3. Restart your client
After saving, restart your AI client. The mcsr server will appear with all 18 tools enabled. You can verify by asking:
"What can the mcsr MCP do?"
Usage examples
Pre-match scouting
"Scout v_strid — I'm miyakejima"Returns: recent form, seed/bastion win rates, weaknesses, your H2H record, and Twitch VOD links with timestamps so you can jump straight to their runs.
Form analysis
"What are Feinberg's weaknesses over the last 30 matches?"Returns: win rate by every seed type and bastion variant, ELO bracket performance, streak data.
Personal bests
"Show me v_strid's top 5 fastest Buried Treasure runs"Returns: ranked list of fastest completions for that seed, with opponent, date, and VOD timestamp link.
ELO history
"Has v_strid been tilting lately? Show me their last 50 matches"Returns: full ELO timeline, peak/trough, total delta, longest win and loss streaks.
Decay tracker
"When does my rank decay? I'm miyakejima"Returns: exact date, days/hours remaining, urgency level, last match date.
Rivals
"Who does Feinberg consistently lose to?"Returns: opponents with a net losing record, sorted by ELO proximity and net loss count.
Notes
No API key required. Uses the public MCSR Ranked REST API at
api.mcsrranked.com.Rate limit: The API allows ~500 requests per 10 minutes. A 150ms delay between requests is applied automatically.
Loss times are unavailable. The MCSR Ranked API only records the winner's finish time — this is an upstream API limitation.
VOD links include Twitch timestamps to jump directly to the run start.
Season filtering: Add "season 10" (or any number) to any query to pull historical season data.
Seed type filter on
get_personal_bests:RUINED_PORTAL,SHIPWRECK,DESERT_TEMPLE,VILLAGE,BURIED_TREASURE.
Data source
All data is from the official MCSR Ranked API. This project is not affiliated with or endorsed by MCSR Ranked.
License
Available Tools
18 toolsanalyze_player_formB
Analyze a player's recent form over their last N matches. Returns: win rate, ELO trajectory (delta), average win time, win/loss streaks, win rate broken down by seed type (Desert Temple, Shipwreck, etc.), by bastion type (Stables, Treasure, etc.), and by opponent ELO bracket (vs higher/lower rated). Designed for AI coaching-style analysis.
Inputs: identifier (required), count, season.
analyze_session_formA
Group a player's recent matches into sessions (consecutive matches within a configurable time gap, default 90 minutes) and analyze each session's performance: wins, losses, ELO gained/lost, and best run time. Shows up to the 10 most recent sessions.
Inputs: identifier (required), season, matchCount, sessionGapMinutes.
compare_playersB
Compare two players side by side: ELO, rank, tier, season stats, recent form (win rate, ELO delta, avg win time), head-to-head record, and per-seed-type win rate breakdown for both players.
Inputs: identifier1 (required), identifier2 (required), season.
find_rivalsA
Find a player's rivals — opponents they have a losing record against — sorted by net losses weighted by ELO proximity. Helps identify specific matchup weaknesses. Returns up to 10 rivals with win/loss record and ELO context.
Inputs: identifier (required), season, matchWindow.
get_capabilitiesA
Returns a complete guide to what the MCSR Ranked MCP can do — all available tools, what each one does, and example natural-language queries you can use. Call this when asked what this MCP can do, what tools are available, or how to use it.
Inputs: no named parameters.
get_decay_statusA
Check when a player's rank will decay if they stop playing ranked matches. Returns the exact decay date, days and hours remaining, urgency level (SAFE / WATCH / WARNING / CRITICAL / DECAYED), and when they last played.
Inputs: identifier (required).
get_elo_historyA
Reconstruct a player's ELO trajectory across their last N matches — every gain and loss in chronological sequence. Returns a summary (peak, trough, delta, streaks) and a full timeline of ELO changes. Useful for spotting tilt spirals, hot streaks, or sustained momentum.
Inputs: identifier (required), count, season.
get_leaderboardA
Get the MCSR Ranked global leaderboard. Returns player rank, ELO, tier, country, and phase points. Use offset to paginate.
Inputs: count, offset, season.
get_matchB
Get full details for a specific match by ID: both players, winner, finish time, seed with all variations, ELO changes, VOD links with jump timestamps, and personal best rank.
Inputs: matchId (required).
get_personal_bestsA
Find a player's fastest ranked completions (personal bests), sorted by time. Only wins are included since the API only records the winner's finish time. Optionally filter by seed type. Returns time, date, opponent, seed details, and VOD link with timestamp.
Inputs: identifier (required), count, season, seedType.
get_playerA
Get a player's full MCSR Ranked profile: ELO, rank, tier, season stats (wins/losses/win rate/best time), all-time stats, Twitch/YouTube links, and season phase results.
Inputs: identifier (required), season.
get_player_matchesA
Get a player's match history with full detail per match: opponent, finish times, ELO changes, seed type, bastion type, seed variations, VOD links with timestamps, win/loss outcome.
Inputs: identifier (required), after, count, before, +2 more.
get_player_seasonsA
Get all historical season results for a player: final ELO, rank, and phase points for every season they participated in.
Inputs: identifier (required).
get_rank_contextA
Get a player's position on the leaderboard with surrounding context: who is directly above and below them, ELO gaps to neighbors, and how far they are from milestone ranks (Top 10, Top 50, Top 100).
Inputs: identifier (required), contextSize.
get_versusA
Get the head-to-head win/loss record between two players, including win rates for both sides.
Inputs: identifier1 (required), identifier2 (required), season.
get_versus_matchesA
Get the full match-by-match history between two players, with all match details (seed, times, ELO changes, VODs).
Inputs: identifier1 (required), identifier2 (required), count, season.
get_weekly_raceA
Get the current weekly race leaderboard: top times for the week's seed, with player, country, and formatted finish time.
Inputs: no named parameters.
scout_opponentA
Generate a scouting report on a target player before a match. Returns their ELO/rank/tier, best time, recent form (win rate, ELO trend, preferred seed types), head-to-head record (if you provide your own identifier), and links to their recent VODs with timestamps.
Inputs: targetIdentifier (required), myIdentifier.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 18 tools
Each tool has a clearly distinct purpose, from player profile to match history, versus analysis, form analysis, scouting, leaderboard, and decay status. No two tools appear to do the same thing.
Most tools follow a consistent get_noun pattern, but five tools use different verbs (analyze, scout, compare, find). However, all names still follow a verb_noun structure, making them understandable.
With 18 tools covering player stats, matches, versus, leaderboard, form analysis, and more, the count is well-scoped for the MCSR Ranked domain. Each tool serves a distinct purpose without bloat.
The tool set covers core player profile, match history, versus, leaderboard, weekly races, and advanced analysis (form, scouting, rivals). Missing a player search tool and season-specific leaderboard, but the surface is largely complete for common use cases.
Related MCP Connectors
Hosted MCP server for live public-data APIs and Skills for AI agents.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP server for OpenAI API (chat completions, image generation, embeddings) via AceDataCloud
An MCP server that gives your AI access to the source code and docs of all public github repos
Related MCP Servers
- AlicenseAqualityBmaintenanceA Model Context Protocol server that enables LLMs to interact with all MonkeyType API endpoints, providing access to typing test data, user profiles, leaderboards, and statistics through natural language.22551 npmMIT

OSRS MCP Serverofficial
AlicenseBqualityNot gradedmaintenanceMCP Server for interacting with Old School RuneScape Wiki API and game data files, providing tools to search the OSRS Wiki and access game data definitions through the Model Context Protocol.61990 npm1-- AlicenseNot gradedqualityDmaintenanceAn MCP server that makes superpowers skills available to any LLM that supports the Model Context Protocol.1,848 npm20MIT
- AlicenseNot gradedqualityCmaintenanceA Model Context Protocol server that gives AI assistants native access to Minecraft mod development tools — decompile, remap, search, and analyze Minecraft source code directly from your AI workflow.130 npm50MIT