/install mlb-statcast
MLB Statcast
Get pitch-by-pitch Statcast data, expected stats, pitch arsenals, and advanced metrics for any MLB player, team, or season. Wraps the statcast MCP server (installed via pip install statcast-mcp).
When to use
Use this skill whenever the user asks about:
- An MLB player’s Statcast metrics (exit velocity, barrel rate, launch angle, sprint speed, etc.)
- Expected stats (xBA, xSLG, xwOBA) vs actual performance
- A pitcher’s arsenal (fastball, slider, changeup, etc.) and performance by pitch type
- Matchup analysis (batter vs a specific pitch type)
- League leaderboards (EV, barrel%, sprint speed, OAA)
- MLB standings or team-level season stats
- Defensive metrics (Outs Above Average)
If the question can be answered with traditional box-score stats only, prefer wikipedia or a web search. This skill is for advanced, Statcast-derived numbers.
Quick Usage
# Player ID lookup (always do this first for new players)
mcporter call statcast.player_lookup "player_name=Shohei Ohtani"
# Batter percentile ranks (note: param is `year`, not `season`)
mcporter call statcast.batter_percentile_ranks "player_name=Aaron Judge" "year=2025"
# Pitcher arsenal stats (param is `year`)
mcporter call statcast.statcast_pitcher_arsenal_stats "player_name=Paul Skenes" "year=2025"
# Expected stats for a custom group (param is `year`)
mcporter call statcast.expected_stats_batch "player_names=[\"Judge\",\"Ohtani\",\"Soto\"]" "year=2025"
# Standings (param is `year`)
mcporter call statcast.team_standings "year=2025"
# Pitch-level data for a single game
mcporter call statcast.statcast_search "start_date=2025-06-15" "end_date=2025-06-15" "team=NYY"
Tools (24 total)
Identity
player_lookup— Look up MLBAM ID + alternate IDs (FanGraphs, Baseball-Reference, Retro) for a playerteam_standings— Current/season MLB division standings
Pitch-level data (date-range)
statcast_search— All pitches in a date range (optionally filtered by team)statcast_batter— All pitches seen by a specific batterstatcast_pitcher— All pitches thrown by a specific pitcher
Season-level actual stats (FanGraphs)
season_batting_stats/season_pitching_stats— full-season traditional statsbatting_stats_date_range/pitching_stats_date_range— same metrics over a custom windowteam_season_batting_stats/team_season_pitching_stats— full-roster team totals
Expected stats (Statcast)
statcast_batter_expected_stats/statcast_pitcher_expected_stats— xBA, xSLG, xwOBA for a playerexpected_stats_batch— same, but for many players in one call (cheaper)
Pitch arsenals
statcast_batter_pitch_arsenal— hitter’s outcomes split by incoming pitch typestatcast_pitcher_pitch_arsenal— all pitchers’ pitch mix + outcomesstatcast_pitcher_arsenal_stats— performance (BA/SLG/wOBA/Whiff%/K%/Hard-Hit%) by pitch type for one pitcher
Batted-ball quality
statcast_batter_exitvelo_barrels— hitter EV + barrel% leaderboardstatcast_pitcher_exitvelo_barrels— pitcher EV-allowed + barrel%-allowed
League leaderboards & percentiles
batter_percentile_ranks— hitter percentile vs the league (EV, barrel%, xwOBA, sprint speed, etc.) — param:yearpitcher_percentile_ranks— pitcher percentile vs the league (spin, whiff%, xERA, K%, etc.) — param:yearsprint_speed_leaderboard— top sprinters (param:year)outs_above_average— OAA leaderboard by position (param:year,position)outfield_directional_oaa— outfield OAA split by direction
Workflow: how agents should use this
- Resolve IDs first. For any new player, call
player_lookupto get the MLBAM ID. Some downstream tools are stricter about exact names; aplayer_lookupconfirms spelling and years active. - Prefer batch tools.
expected_stats_batchover multiplestatcast_batter_expected_statscalls. - Keep date ranges short for
statcast_search/statcast_batter/statcast_pitcher. The upstream API is slow on long windows. 1–5 days is ideal; a full month can take 30+ seconds. - Use last names with care. Substring matching is loose —
player_lookup("Trout")works, but uncommon names may return multiple candidates. Always check the response. - Cross-check with Wikipedia for biographical context (career milestones, awards, draft info). The
wikipediaMCP is the right companion tool.
Naming & spelling gotchas
- For
player_lookupuseplayer_name="Ohtani"(last name only). The matcher is substring + last-name, and full first+last can over-match. - For downstream tools like
batter_percentile_ranks/pitcher_percentile_ranks/statcast_pitcher_arsenal_stats, use the full name ("Aaron Judge", not"Judge") — those tools reject single-name lookups. - For “Joe Green”-style common names,
player_lookupmay return multiple candidates — read the response and disambiguate bymlb_played_first/mlb_played_lastyears. - Pitcher/hitter ambiguity: if
player_lookupreturns a pitcher when you wanted a hitter (or vice versa), pass the full name inLast, Firstform to disambiguate.
Installation (Universal)
1. Install the MCP server
pip install statcast-mcp
This gives you the statcast-mcp command. The server uses pybaseball under the hood (no API key needed — it pulls from public Baseball Savant / FanGraphs endpoints).
2. Register the server with mcporter
Add to your mcporter.json:
{
"mcpServers": {
"statcast": {
"command": "statcast-mcp"
}
}
}
3. Verify
mcporter call statcast.player_lookup "player_name=Aaron Judge"
You should see Judge’s MLBAM ID (592450) and active years.
Requirements
- Python 3.10+
pip install statcast-mcp(pulls inlxml,mcp,pandas,pybaseball,tabulate)
Data sources
All data comes from public Baseball Savant (Statcast) and FanGraphs endpoints via pybaseball. No API keys, no rate-limit auth — but please be polite with call volume.
What this skill does NOT do
- Live game scores / play-by-play (use
mlb-daily-scoresClawHub skill or a sports-odds MCP) - Odds, props, betting lines (use a sportsbook or odds API)
- Minor league or college baseball (Statcast coverage is MLB-only)
- Historical seasons before 2008 (Statcast launched in 2008)
Example questions this answers
- “What was Aaron Judge’s 95th-percentile exit velocity in 2025?”
- “Show me Paul Skenes’ whiff% by pitch type.”
- “Which pitchers had the lowest barrel% allowed last season?”
- “Is Shohei Ohtani outperforming his expected stats?”
- “Who are the top 10 sprinters in baseball right now?”
- “Where did the Yankees rank in barrel% last year?”
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install mlb-statcast - 安装完成后,直接呼叫该 Skill 的名称或使用
/mlb-statcast触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
MLB Statcast 是什么?
Query MLB Statcast data via the statcast MCP server — player lookups, expected stats, pitch arsenals, exit velocity, barrel rate, percentile ranks, standings... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 43 次。
如何安装 MLB Statcast?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install mlb-statcast」即可一键安装,无需额外配置。
MLB Statcast 是免费的吗?
是的,MLB Statcast 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
MLB Statcast 支持哪些平台?
MLB Statcast 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 MLB Statcast?
由 Evan790(@evanfoglia)开发并维护,当前版本 v1.0.0。