MLB STATS SERVER TOOLS

46 tools from the MLB Stats Server MCP Server, categorised by risk level.

View the MLB Stats Server policy →

READ TOOLS

42
get_available_endpoints Get MLB StatsAPI endpoints directly get_boxscore Get a formatted boxscore for a given game. get_game_highlight_data Returns a list of highlight data for a given game. get_game_pace Returns data about pace of game for a given season (back to 1999). get_game_scoring_play_data Returns a dictionary of scoring plays for a given game containing 3 keys: * home - home team data * away - away team data * plays - so... get_last_game Get the gamePk (game_id) for the given team's most recent completed game. get_league_leader_data Returns a list of stat leaders overall or for a given league (103=AL, 104=NL). get_linescore Get formatted linescore data for a specific MLB game. get_meta Get available values from StatsAPI for use in other queries, or look up descriptions for values found in API results. For example, to get ... get_next_game Get the game ID for a team's next scheduled game. get_notes Get additional notes on an endpoint get_pitching_stats Get season-level pitching data from FanGraphs. Args: start_season: First season to retrieve data from end_season: Final s... get_pitching_stats_bref Get all pitching stats for a set season. If no argument is supplied, gives stats for current season to date. get_pitching_stats_range Get all pitching stats for a set time range. This can be the past week, the month of August, anything. Just supply the start and end date ... get_player_splits Returns a dataframe of all split stats for a given player. If player_info is True, this will also return a dictionary that includes player... get_player_stats Returns a list of current season or career stat data for a given player. get_playerid_lookup Lookup playerIDs (MLB AM, bbref, retrosheet, FG) for a given player Args: last (str, required): Player's last name. first (str... get_pybaseball_standings Returns a pandas DataFrame of the standings for a given MLB season, or the most recent standings if the date is not specified. ARGUME... get_schedule Get list of games for a given date/range and/or team/opponent. get_schedule_and_record Retrieve a team's game-level results for a given season, including win/loss/tie result, score, attendance, and winning/losing/savi... get_standings Returns a dict of standings data for a given league/division and season. get_statcast_batter_data Pulls statcast pitch-level data from Baseball Savant for a given batter. ARGUMENTS start_dt : YYYY-MM-DD : the first ... get_statcast_batter_exitvelo_barrels Retrieves batted ball data for all batters in a given year. ARGUMENTS year: The year for which you wish to retrieve batted ball d... get_statcast_batter_expected_stats Retrieves expected stats based on quality of batted ball contact in a given year. ARGUMENTS year: The year for which you wish to ... get_statcast_batter_percentile_ranks Retrieves percentile ranks for batters in a given year. ARGUMENTS year: The year for which you wish to retrieve percentile data. ... get_statcast_batter_pitch_arsenal Retrieves outcome data for batters split by the pitch type in a given year. ARGUMENTS year: The year for which you wish to retrie... get_statcast_data Pulls statcast play-level data from Baseball Savant for a given date range. INPUTS: start_dt: YYYY-MM-DD : the first date for which you wa... get_statcast_pitcher_data Pulls statcast pitch-level data from Baseball Savant for a given pitcher. ARGUMENTS start_dt : YYYY-MM-DD : the first... get_statcast_pitcher_exitvelo_barrels Retrieves batted ball against data for all qualified pitchers in a given year. ARGUMENTS year: The year for which you wish to ret... get_statcast_pitcher_expected_stats Retrieves expected stats based on quality of batted ball contact against in a given year. ARGUMENTS year: The year for which you ... get_statcast_pitcher_percentile_ranks Retrieves percentile ranks for each player in a given year, including batters with 2.1 PA per team game and 1.25 for pitchers. It incl... get_statcast_pitcher_pitch_arsenal Retrieves high level stats on each pitcher's arsenal in a given year. ARGUMENTS year: The year for which you wish to retrieve exp... get_statcast_single_game Pulls statcast play-level data from Baseball Savant for a single game, identified by its MLB game ID (game_pk in statcast data) INPUT... get_stats get_stats get_team_batting Get season-level Batting Statistics for Specific Team (from Baseball-Reference) ARGUMENTS: team : str : The Team Abbreviation (i.e. '... get_team_fielding Get season-level Fielding Statistics for Specific Team (from Baseball-Reference) ARGUMENTS: team : str : The Team Abbrevia... get_team_leaders Returns a python list of stat leader data for a given team get_team_pitching Get season-level Pitching Statistics for Specific Team (from Baseball-Reference) ARGUMENTS: team : str : The Team Abbreviation (i.e. ... get_team_roster Get the roster for a given team. get_top_prospects Retrieves the top prospects by team or leaguewide. It can return top prospect pitchers, batters, or both. ARGUMENTS team: The... lookup_player Get data about players based on first, last, or full name. reverse_lookup_player Retrieve a table of player information given a list of player ids :param player_ids: list of player ids :type player_ids: list :param ...

WRITE TOOLS

4
How many tools does the MLB Stats Server MCP server have? +

The MLB Stats Server MCP server exposes 46 tools across 2 categories: Read, Write.

How do I enforce policies on MLB Stats Server tools? +

Use Intercept, the open-source MCP proxy. Write YAML rules for each tool — rate limits, argument validation, or deny rules — then run Intercept in front of the MLB Stats Server server.

What risk categories do MLB Stats Server tools fall into? +

MLB Stats Server tools are categorised as Read (42), Write (4). Each category has a recommended default policy.

Enforce policies on MLB Stats Server

Open source. One binary. Zero dependencies.

npx -y @policylayer/intercept
github.com/policylayer/intercept →
// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.