MLB Stats Server MCP Server

Provide structured access to Major League Baseball statistics through an MCP server. Query and retrieve detailed baseball data including statcast, fangraphs, an

MCP servers#56 · score 55Smithery

What it does

Provide structured access to Major League Baseball statistics through an MCP server. Query and retrieve detailed baseball data including statcast, fangraphs, an

How to install the MLB Stats Server MCP Server

Install it with one Smithery CLI line and enter the settings below when asked.

Claude Desktop

npx -y @smithery/cli install etweisberg/mlb-mcp --client claude

Cursor

npx -y @smithery/cli install etweisberg/mlb-mcp --client cursor

Remote server address (Streamable HTTP)

https://mlb-mcp--etweisberg.run.tools

Keys and passwords go only to the provider and your own machine; ListeningMind never receives them.

46 tools

  • get_stats
  • get_schedule Get list of games for a given date/range and/or team/opponent.
  • get_player_stats Returns a list of current season or career stat data for a given player.
  • get_standings Returns a dict of standings data for a given league/division and season.
  • get_team_leaders Returns a python list of stat leader data for a given team
  • lookup_player Get data about players based on first, last, or full name.
  • get_boxscore Get a formatted boxscore for a given game.
  • get_team_roster Get the roster for a given team.
  • get_game_pace Returns data about pace of game for a given season (back to 1999).
  • get_meta Get available values from StatsAPI for use in other queries, or look up descriptions for values found in API results.
  • get_available_endpoints Get MLB StatsAPI endpoints directly
  • get_notes Get additional notes on an endpoint
  • 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 - sorted list of scoring play data
  • get_last_game Get the gamePk (gameid) 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_next_game Get the game ID for a team's next scheduled game.
  • get_game_highlight_data Returns a list of highlight data for a given game.
  • get_statcast_data Pulls statcast play-level data from Baseball Savant for a given date range.
  • get_statcast_batter_data Pulls statcast pitch-level data from Baseball Savant for a given batter. ARGUMENTS startdt : YYYY-MM-DD : the first date for which you want a player's statcast data enddt : YYYY-MM…
  • get_statcast_pitcher_data Pulls statcast pitch-level data from Baseball Savant for a given pitcher. ARGUMENTS startdt : YYYY-MM-DD : the first date for which you want a player's statcast data enddt : YYYY-M…
  • 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 data. Format: YYYY.
  • 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 retrieve batted ball against data. Format: YYYY.
  • 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 retrieve expected stats data. Format: YYYY.
  • 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 wish to retrieve expected stats data.
  • 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. Format: YYYY.
  • 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.
  • 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 retrieve pitch arsenal data. Format: YYYY.
  • 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 expected stats data. Format: YYYY.
  • get_statcast_single_game Pulls statcast play-level data from Baseball Savant for a single game, identified by its MLB game ID (gamepk in statcast data) INPUTS: gamepk : 6-digit integer MLB game ID to retri…
  • create_strike_zone_plot Produces a pitches overlaid on a strike zone using StatCast data Args: data: (pandas.DataFrame) StatCast pandas.DataFrame of StatCast pitcher data title: (str), default = '' Option…
  • create_spraychart_plot Produces a spraychart using statcast data overlayed on specified stadium Args: data: (pandas.DataFrame) StatCast pandas.DataFrame of StatCast batter data teamstadium: (str) Team wh…
  • create_bb_profile_plot Plots a given StatCast parameter split by bbtype Args: df: (pandas.DataFrame) pandas.DataFrame of StatCast batter data (retrieved through statcast, statcastbatter, etc) parameter:…
  • create_teams_plot Plots a scatter plot with each MLB team Args: data: (pandas.DataFrame) pandas.DataFrame of Fangraphs team data (retrieved through teambatting or teampitching) xaxis: (str) Stat nam…
  • 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 in YYYY-MM-DD format.
  • get_pitching_stats Get season-level pitching data from FanGraphs. Args: startseason: First season to retrieve data from endseason: Final season to retrieve data from.
  • get_playerid_lookup Lookup playerIDs (MLB AM, bbref, retrosheet, FG) for a given player Args: last (str, required): Player's last name. first (str, optional): Player's first name. Defaults to None.
  • reverse_lookup_player Retrieve a table of player information given a list of player ids :param playerids: list of player ids :type playerids: list :param keytype: name of the key type being looked up (o…
  • 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/saving pitcher.

Why it was picked · #56 · score 55

  • Popularity (58%)65
  • Trust (42%)40
  • Member reviewsNot used this week
  • Search demandNot used this week
  • Search and AI Overview presenceNot used this week

Source: Smithery · 4,958 uses · First picked 2026-10-23

Trust checks

  • – Verified at the source
  • – In the official MCP Registry
  • – Own homepage
  • ✓ Live endpoint
  • ✓ Clear description

How we pick →

Made it? Add the badge to your README

[![ListeningMind pick](https://daas.listeningmind.ai/badge/mcps/x-mcp-etweisberg-mlb-mcp.svg)](https://daas.listeningmind.ai/en/catalog/mcps/x-mcp-etweisberg-mlb-mcp)

How to buy

People

Top up Lima and pay for what you use (1 Lima = $0.077 whole Lima). For now top-ups go through our team. Ask to top up · m-support@listeningmind.com

Agents

Agents connect the provider's way. Paying in ListeningMind Lima opens once the provider registers and links it.

Reviews ·

    No reviews yet.

    Who can review: Any member. Say in one line what you did with it; it is shown after a check. Only the first letter of your name is shown. A new review replaces your earlier one.

    Questions people ask

    What is the MLB Stats Server MCP Server?

    Provide structured access to Major League Baseball statistics through an MCP server. Query and retrieve detailed baseball data including statcast, fangraphs, an. It is listed on Smithery and ranks #56 (score 55) in ListeningMind.AI's weekly picks.

    How do I install the MLB Stats Server MCP Server?

    Run npx -y @smithery/cli install etweisberg/mlb-mcp --client claude in a terminal to add it to Claude Desktop. For Cursor, use --client cursor.

    Do I need an API key?

    The provider lists no required settings.

    Which tools does it provide?

    46 tools: get_stats, get_schedule, get_player_stats, get_standings, get_team_leaders, lookup_player, get_boxscore, get_team_roster, get_game_pace, get_meta, get_available_endpoints, get_notes.

    How much does it cost?

    Free to connect · provider's own fees apply. The provider may charge for use on its own terms.

    Can I trust it?

    Checks passed: Live endpoint, Clear description. Skim a server or repository you have not used before connecting it.