Skip to main content
Glama
alex-rimerman

Statcast MCP Server

batting_stats_date_range

Analyze baseball batting statistics for any custom date range to identify performance trends, hot streaks, or specific time periods. Filter by player to examine individual performance during selected windows.

Instructions

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 Name / mlbID).

Returns rate stats (AVG, OBP, SLG, OPS) and counting stats for that span. Row limit applies — many players may qualify in long ranges.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
start_dateYes
end_dateYes
player_nameNo

Implementation Reference

  • The implementation of the `batting_stats_date_range` MCP tool. It uses `pybaseball.batting_stats_range` to fetch data for the given date range and filters the results if a player name is provided.
    def batting_stats_date_range(
        start_date: str,
        end_date: str,
        player_name: str | None = None,
    ) -> str:
        """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 ``Name`` / ``mlbID``).
    
        Returns rate stats (AVG, OBP, SLG, OPS) and counting stats for that span.
        Row limit applies — many players may qualify in long ranges.
        """
        from pybaseball import batting_stats_range as _fn
    
        try:
            data = _fn(start_date, end_date)
        except Exception as e:
            return f"Error fetching batting stats for date range: {e}"
    
        if player_name:
            try:
                data = _filter_player_rows(data, player_name)
            except ValueError as e:
                return str(e)
            if data.empty:
                return f"No batting stats for {player_name} in {start_date}–{end_date}."
    
        return _fmt(data, max_rows=50)

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/alex-rimerman/statcast-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server