Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| player_lookup | Look up a baseball player to find their MLBAM ID, years active, and database IDs. Accepts names like 'Mike Trout', 'Trout, Mike', or 'Shohei Ohtani'. Useful for verifying a player's identity or finding their MLBAM / FanGraphs / Baseball-Reference IDs before running other queries. |
| statcast_search | Search for pitch-level Statcast data within a date range. Returns pitch-by-pitch data including pitch type, velocity, spin rate, exit velocity, launch angle, expected stats, and more. Args: start_date: Start date in YYYY-MM-DD format (e.g. '2024-07-04'). end_date: End date in YYYY-MM-DD format. Defaults to start_date for single-day queries. team: Optional three-letter team abbreviation to filter results (e.g. 'NYY', 'LAD', 'BOS'). Data is available from the 2008 season onward. Tip: keep date ranges to 1-5 days for faster results. |
| statcast_batter | Get pitch-level Statcast data for a specific batter in a date range. Returns every pitch the batter saw — pitch type, velocity, exit velocity, launch angle, expected batting average, and much more. Args: player_name: Full name of the batter (e.g. 'Aaron Judge'). start_date: Start date in YYYY-MM-DD format. end_date: End date in YYYY-MM-DD format (defaults to start_date). Great for analyzing a hitter's performance over a specific period. |
| statcast_pitcher | Get pitch-level Statcast data for a specific pitcher in a date range. Returns every pitch thrown — pitch type, velocity, spin rate, movement, exit velocity allowed, and more. Args: player_name: Full name of the pitcher (e.g. 'Gerrit Cole'). start_date: Start date in YYYY-MM-DD format. end_date: End date in YYYY-MM-DD format (defaults to start_date). Great for analyzing a pitcher's stuff, outings, or trends over time. |
| season_batting_stats | Get season-level batting statistics from FanGraphs. Returns comprehensive stats: AVG, OBP, SLG, wOBA, wRC+, HR, SB, WAR, and many more for every qualifying batter. Args: start_season: First season to include (e.g. 2024). end_season: Last season to include. Omit for a single year. min_plate_appearances: Minimum plate appearances to qualify. Leave blank to use the FanGraphs default qualified threshold. player_name: Optional. Filter to one player (e.g. 'Aaron Judge'). Great for finding league leaders, comparing players, or reviewing a full season. |
| season_pitching_stats | Get season-level pitching statistics from FanGraphs. Returns comprehensive stats: ERA, FIP, WHIP, K/9, BB/9, WAR, and many more for every qualifying pitcher. Args: start_season: First season to include (e.g. 2024). end_season: Last season to include. Omit for a single year. min_innings: Minimum innings pitched to qualify. Leave blank to use the FanGraphs default qualified threshold. player_name: Optional. Filter to one pitcher (e.g. 'Gerrit Cole'). Great for finding pitching leaders, comparing pitchers, or analyzing a season. |
| team_season_batting_stats | Full-season actual batting stats for one MLB team (entire roster). Uses FanGraphs when available; if that fails or returns no rows, falls back to scraping Baseball Reference's team page (same numbers as the site: PA, HR, AVG/OBP/SLG, OPS+, WAR, etc.). Args:
team: 3-letter team abbreviation — same as Baseball Reference
(e.g. Use this for “Phillies lineup stats”, “Yankees 2024 hitters”, etc. For league
leaderboards without a team filter, use |
| team_season_pitching_stats | Full-season actual pitching stats for one MLB team (rotation + bullpen). Uses FanGraphs when available; otherwise scrapes Baseball Reference's team pitching table (W, L, ERA, G, GS, SV, IP, SO, WAR, etc.). Args:
team: 3-letter abbreviation (e.g. Split rotation vs bullpen by sorting on |
| statcast_batter_expected_stats | Get expected batting stats (xBA, xSLG, xwOBA vs actual) from Statcast. Returns xBA, xSLG, xwOBA and the gap from actual stats — what a batter deserves based on quality of contact. Args: year: Season year (e.g. 2024). min_plate_appearances: Minimum PA to qualify (default 50). player_name: Optional. If set (e.g. 'Aaron Judge'), returns only that player's row — use this so a star is not cut off by the 50-row leaderboard limit. Great for identifying lucky/unlucky hitters or a single player's expected line. |
| statcast_pitcher_expected_stats | Get expected stats allowed by pitchers from Statcast. Returns xBA, xSLG, xwOBA, xERA allowed vs actual — contact quality vs results. Args: year: Season year (e.g. 2024). min_plate_appearances: Minimum PA against to qualify (default 50). player_name: Optional. If set (e.g. 'Gerrit Cole'), returns only that pitcher's row (avoids missing them in the truncated leaderboard). Great for finding pitchers who outperformed or underperformed their contact quality. |
| expected_stats_batch | Expected stats (xBA, xSLG, xwOBA vs actual) for multiple batters and/or pitchers in one call. Use this when the user asks for a lineup, rotation, "team starters", or any named group (e.g. Yankees 1–9 and five starters). Pass comma-separated names. The MCP does not fetch MLB rosters automatically — use current player names from context or a quick web lookup, then list them here. Args:
year: Season year (e.g. 2026). If Savant has not published that season’s leaderboard
yet (common before Opening Day or in early April), the table may be empty — use
the prior year for full-season expected stats, or lower Provide at least one of batters or pitchers. Semicolons and newlines also separate names. |
| statcast_batter_pitch_arsenal | Get batting stats broken down by pitch type for batters. Returns BA, SLG, wOBA, whiff rate, K rate, run value, and hard-hit rate for each pitch type a batter faced (4-seam, slider, curve, changeup, etc.). Args: year: Season year (e.g. 2024). player_name: Optional. Filter to a specific batter (e.g. 'Aaron Judge'). If omitted, returns the full leaderboard. min_plate_appearances: Minimum PA per pitch type to qualify (default 10). Great for analyzing how a hitter performs against fastballs vs. breaking balls. |
| statcast_batter_exitvelo_barrels | Get exit velocity and barrel rate leaderboard for batters. Returns average exit velocity, max exit velocity, barrel percentage, hard-hit rate, and batted ball quality metrics. A 'barrel' is a batted ball with the ideal combination of exit velocity and launch angle that almost always results in a hit. Args: year: Season year (e.g. 2024). min_batted_ball_events: Minimum batted ball events to qualify (default 50). player_name: Optional. Filter to one batter (e.g. 'Aaron Judge'). Great for finding the hardest hitters and best contact quality in baseball. |
| statcast_pitcher_exitvelo_barrels | Get exit velocity and barrel rate allowed by pitchers. Returns average exit velocity, barrel percentage, and hard-hit rate allowed. Lower values indicate a pitcher who limits hard contact. Args: year: Season year (e.g. 2024). min_batted_ball_events: Minimum batted ball events against (default 50). player_name: Optional. Filter to one pitcher (e.g. 'Gerrit Cole'). Great for finding pitchers who suppress hard contact most effectively. |
| statcast_pitcher_pitch_arsenal | Get pitch arsenal breakdown for all pitchers in a season. Shows average velocity (and related columns) per pitch type for qualifying pitchers. Args: year: Season year (e.g. 2024). min_pitches: Minimum total pitches thrown to qualify (default 100). player_name: Optional. Filter to one pitcher (e.g. 'Spencer Strider'). Great for understanding what pitches a pitcher throws and how often. |
| statcast_pitcher_arsenal_stats | Get performance stats broken down by pitch type for each pitcher. Shows batting average, slugging, whiff rate, put-away rate, and run values for every individual pitch type a pitcher throws. Args: year: Season year (e.g. 2024). min_plate_appearances: Minimum PA for each pitch type (default 25). player_name: Optional. Filter to one pitcher (all their pitch types). Great for evaluating which specific pitches are most (or least) effective. |
| sprint_speed_leaderboard | Get the Statcast sprint speed leaderboard. Returns each player's sprint speed in feet per second, measured on competitive running plays. Sprint speed is one of the best measures of raw speed and baserunning ability. Args: year: Season year (e.g. 2024). min_opportunities: Minimum competitive run opportunities (default 10). player_name: Optional. Filter to one player (e.g. 'Ronald Acuna Jr.'). Great for finding the fastest players in baseball. |
| team_standings | Get MLB division standings for a given season. Returns win-loss records, winning percentage, and games back for all 30 teams organised by division (AL East, AL Central, AL West, NL East, NL Central, NL West). Args: season: The season year (e.g. 2024). |
| batter_percentile_ranks | Statcast percentile ranks for hitters vs the league (exit velo, barrel%, xwOBA, etc.). Each metric is 0–100 where higher is better for that stat. Use to answer "How elite is this hitter on Statcast?" or compare league-wide. Args: year: Season year (e.g. 2024). player_name: Optional. If set, returns only that player's row (e.g. "Aaron Judge"). Qualifying batters: ~2.1 PA per team game (Statcast default). |
| pitcher_percentile_ranks | Statcast percentile ranks for pitchers vs the league (spin, whiff%, xERA, etc.). Each metric is 0–100. Use for "How does this pitcher's stuff compare?" Args: year: Season year (e.g. 2024). player_name: Optional. Filter to one pitcher (e.g. "Gerrit Cole"). Qualifying pitchers: Statcast minimum innings/appearance thresholds. |
| outs_above_average | Outs Above Average (OAA) leaderboard by defensive position. OAA estimates how many outs a fielder saved vs an average defender. Args: year: Season year (e.g. 2024). position: One of: SS, 2B, 3B, 1B, LF, CF, RF, or ALL (all infield + outfield positions supported by Savant). Not available for catcher in this leaderboard. min_attempts: Minimum fielding attempts, or "q" for qualified (default). player_name: Optional. Filter to one fielder (use a position they actually play). |
| outfield_directional_oaa | Outfielders' Outs Above Average broken out by direction (back/in, left/right). Shows where outfielders add or lose value relative to average. Args: year: Season year (e.g. 2024). min_opportunities: Minimum opportunities, or "q" for qualified (default). player_name: Optional. Filter to one outfielder. |
| batting_stats_date_range | Batting stats aggregated over a custom date range (Baseball Reference). Use for hot/cold streaks, post-deadline samples, or any window between two dates. Args:
start_date: Start date YYYY-MM-DD (2008+).
end_date: End date YYYY-MM-DD (inclusive).
player_name: Optional. Filter to one player (matches BRef Returns rate stats (AVG, OBP, SLG, OPS) and counting stats for that span. Row limit applies — many players may qualify in long ranges. |
| pitching_stats_date_range | Pitching stats aggregated over a custom date range (Baseball Reference). Args: start_date: Start date YYYY-MM-DD (2008+). end_date: End date YYYY-MM-DD (inclusive). player_name: Optional. Filter to one pitcher. Returns ERA, WHIP, K/9, IP, W-L, etc. for that span. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |