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
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 claudeCursor
npx -y @smithery/cli install etweisberg/mlb-mcp --client cursorRemote 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_statsget_scheduleGet list of games for a given date/range and/or team/opponent.get_player_statsReturns a list of current season or career stat data for a given player.get_standingsReturns a dict of standings data for a given league/division and season.get_team_leadersReturns a python list of stat leader data for a given teamlookup_playerGet data about players based on first, last, or full name.get_boxscoreGet a formatted boxscore for a given game.get_team_rosterGet the roster for a given team.get_game_paceReturns data about pace of game for a given season (back to 1999).get_metaGet available values from StatsAPI for use in other queries, or look up descriptions for values found in API results.get_available_endpointsGet MLB StatsAPI endpoints directlyget_notesGet additional notes on an endpointget_game_scoring_play_dataReturns 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 dataget_last_gameGet the gamePk (gameid) for the given team's most recent completed game.get_league_leader_dataReturns a list of stat leaders overall or for a given league (103=AL, 104=NL).get_linescoreGet formatted linescore data for a specific MLB game.get_next_gameGet the game ID for a team's next scheduled game.get_game_highlight_dataReturns a list of highlight data for a given game.get_statcast_dataPulls statcast play-level data from Baseball Savant for a given date range.get_statcast_batter_dataPulls 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_dataPulls 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_barrelsRetrieves 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_barrelsRetrieves 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_statsRetrieves 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_statsRetrieves 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_ranksRetrieves 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_ranksRetrieves 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_arsenalRetrieves 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_arsenalRetrieves 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_gamePulls 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_plotProduces 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_plotProduces 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_plotPlots 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_plotPlots 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_brefGet all pitching stats for a set season. If no argument is supplied, gives stats for current season to date.get_pitching_stats_rangeGet 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_statsGet season-level pitching data from FanGraphs. Args: startseason: First season to retrieve data from endseason: Final season to retrieve data from.get_playerid_lookupLookup 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_playerRetrieve 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_recordRetrieve 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
Made it? Add the badge to your README
[](https://daas.listeningmind.ai/en/catalog/mcps/x-mcp-etweisberg-mlb-mcp)How to buy
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 connect the provider's way. Paying in ListeningMind Lima opens once the provider registers and links it.
Reviews ·
No reviews yet.
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.