MLB SportRadar MCP Server
Provides access to MLB game data through the SportRadar API, including live and historical game schedules, scores, play-by-play data, pitch metrics, team standings, player statistics and profiles, league leaders, injury reports, transactions, and draft information.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MLB SportRadar MCP Server show me today's MLB schedule"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MLB SportRadar MCP Server
Model Context Protocol (MCP) server for connecting Claude with the SportRadar MLB API. It provides tools for accessing MLB game data, standings, player statistics, and more through the SportRadar API.
Requirements
Python 3.12 or higher
Model Context Protocol (MCP) Python SDK
httpx
python-dotenv
SportRadar API key
Related MCP server: Yahoo Fantasy Baseball MCP Server
Setup
1. Get SportRadar API Key
Sign up at SportRadar Developer Portal
Get your MLB API key (trial or production)
2. Install uv (recommended)
curl -LsSf https://astral.sh/uv/install.sh | sh3. Clone this repository
git clone https://github.com/yourusername/mlb-sportradar-mcp.git
cd mlb-sportradar-mcp4. Create and activate a virtual environment
# Create virtual environment
uv venv
# Activate virtual environment
# On macOS/Linux:
source .venv/bin/activate
# On Windows:
.venv\Scripts\activate5. Install dependencies
# Option 1: Using uv (recommended)
uv sync
# Option 2: Using pip with requirements.txt
pip install -r requirements.txt
# Option 3: Install as editable package
uv pip install -e .6. Set up environment variables
Create a .env file in the project root with your SportRadar API key:
SPORTRADAR_API_KEY=your_api_key_hereUsage
1. Configure Claude Desktop
First, install the MCP CLI globally:
uv tool install "mcp[cli]"Then add this server to your Claude Desktop configuration file (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"MLB SportRadar": {
"command": "/Users/<USERNAME>/.local/share/uv/tools/mcp/bin/mcp",
"args": ["run", "/full/path/to/mlb-sportradar-mcp/src/mlb_sportradar_mcp/server.py"]
}
}
}Important: Replace /full/path/to/ with the actual absolute path to your mlb-sportradar-mcp directory.
Restart Claude Desktop after saving the configuration.
2. Use the MCP server with Claude
Once configured, Claude Desktop will have access to these MLB SportRadar tools:
Game Data:
get_daily_schedule: Get MLB schedule for a specific date or todayget_game_summary: Get summary information for a specific gameget_game_boxscore: Get detailed boxscore for a specific gameget_game_play_by_play: Get detailed play-by-play data for a gameget_game_pitch_metrics: Get pitch-level metrics and Statcast data
Team & League:
get_standings: Get MLB standings for a specific year and leagueget_team_profile: Get detailed team informationget_team_roster: Get current roster for a specific teamget_team_hierarchy: Get complete MLB team hierarchy with divisionsget_seasonal_statistics: Get seasonal statistics for a team
Player Data:
get_player_profile: Get detailed player informationget_player_seasonal_stats: Get seasonal statistics for a playerget_seasonal_splits: Get player splits (home/away, vs lefty/righty, etc.)get_league_leaders: Get MLB league leaders in various categories
League Information:
get_injuries: Get current MLB injury reportget_transactions: Get MLB transactions for a specific dateget_draft_summary: Get MLB draft summary for a specific year
Example queries to try with Claude:
"Show me today's MLB schedule"
"Get the current AL standings"
"What are the current batting leaders in MLB?"
"Show me the injury report for MLB"
"Get play-by-play data for game [game_id]"
"Show me pitch metrics for the latest game"
"Get player splits for [player_name]"
"What transactions happened today in MLB?"
Development and testing
Install development dependencies and run the test suite with:
uv sync --all-extras
pytest -v testsRunning the server locally
To start the server manually (useful when developing or testing), run:
mlb-sportradar-mcpAlternatively, you can run it directly with:
uv run python src/mlb_sportradar_mcp/server.pyInstalling MCP CLI globally
If you want to use mcp run commands, install the MCP CLI globally:
uv tool install "mcp[cli]"Then you can run:
mcp run src/mlb_sportradar_mcp/server.pyAPI Endpoints
This MCP server uses the SportRadar MLB API v8 endpoints:
Schedule:
/en/games/{year}/{month}/{day}/schedule.jsonGame Summary:
/en/games/{game_id}/summary.jsonGame Boxscore:
/en/games/{game_id}/boxscore.jsonStandings:
/en/seasons/{year}/standings.jsonPlayer Profile:
/en/players/{player_id}/profile.jsonTeam Profile:
/en/teams/{team_id}/profile.jsonLeague Leaders:
/en/seasons/{year}/leaders.jsonTeam Roster:
/en/teams/{team_id}/roster.jsonInjuries:
/en/injuries.json
Rate Limits
Please be aware of SportRadar's API rate limits. The trial API typically has lower limits than production keys. Monitor your usage to avoid hitting rate limits.
License
MIT
Test change
Available Tools
19 toolsget_daily_scheduleB
Get MLB schedule for a specific date (YYYY-MM-DD format) or today if not specified.
Inputs: date_str.
get_draft_summaryC
Get MLB draft summary for a specific year.
Inputs: year (required).
get_game_boxscoreC
Get detailed boxscore for a specific MLB game.
Inputs: game_id (required).
get_game_pitch_metricsC
Get pitch-level metrics and Statcast data for a specific MLB game.
Inputs: game_id (required).
get_game_play_by_playC
Get detailed play-by-play data for a specific MLB game.
Inputs: game_id (required).
get_game_summaryC
Get summary information for a specific MLB game.
Inputs: game_id (required).
get_injuriesB
Get current MLB injury report.
Inputs: no named parameters.
get_league_leadersC
Get MLB league leaders for a specific year and category (hitting/pitching).
Inputs: year, category.
get_player_profileC
Get detailed profile information for a specific MLB player.
Inputs: player_id (required).
get_player_seasonal_statsC
Get seasonal statistics for a specific player.
Inputs: player_id (required), year.
get_seasonal_pitch_metricsC
Get detailed Statcast pitch metrics for a player's season.
Inputs: player_id (required), year.
get_seasonal_splitsC
Get seasonal splits for a player (home/away, vs lefty/righty, etc.).
Inputs: player_id (required), year.
get_seasonal_statisticsC
Get seasonal statistics for a specific team.
Inputs: team_id (required), year, season_type.
get_standingsB
Get MLB standings for a specific year and league (AL/NL) or current season.
Inputs: year, league.
get_statcast_leadersC
Get Statcast leaderboards (exit_velocity, launch_angle, barrel_rate, etc.).
Inputs: year, category.
get_team_hierarchyB
Get complete MLB team hierarchy with divisions and leagues.
Inputs: no named parameters.
get_team_profileC
Get detailed profile information for a specific MLB team.
Inputs: team_id (required).
get_team_rosterC
Get current roster for a specific MLB team.
Inputs: team_id (required).
get_transactionsC
Get MLB transactions for a specific date or recent transactions.
Inputs: date_str.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 19 tools
Every tool has a clearly distinct purpose targeting specific MLB data categories like schedules, games, players, teams, and statistics. The descriptions precisely differentiate each tool's scope, such as get_game_boxscore vs get_game_summary, eliminating any ambiguity.
All tools follow a consistent verb_noun pattern with 'get_' prefix and descriptive nouns (e.g., get_daily_schedule, get_player_profile). The naming is uniform throughout, using snake_case without any deviations or mixed conventions.
With 19 tools, the count is slightly high but reasonable for the comprehensive MLB data domain. It covers a wide range of queries without being excessive, though it might feel heavy compared to simpler servers.
The tool set provides complete coverage for MLB data, including schedules, games, players, teams, statistics, injuries, transactions, and drafts. It supports core workflows like game analysis, player profiling, and team tracking with no obvious gaps.
Maintenance
Related MCP Connectors
AMZScout Skill + MCP gives AI agents live access to real Amazon marketplace data across 14 Amazon marketplaces. Analyze any ASIN, validate product ideas, research niches, compare competitors, discover profitable keywords, and build data-driven PPC strategies using trusted Amazon insights instead of AI assumptions. Works with Claude, ChatGPT, Cursor, and any other MCP-compatible AI client. To connect, you'll need an AMZScout API plan and authorize your account. Get access and view pricing here: https://learn.amzscout.net/amazon-product-api-for-ai-agents
Connect Claude to your Platform7n workspaces: chat, links, work and decks. One-click OAuth.
Connect Claude to your Platform7n workspaces: chat, links, work and decks. One-click OAuth.
Read-only Google Ads, GA4 and Search Console data for Claude, with no Google Cloud setup.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables users to query MLB Statcast, FanGraphs, and Baseball Reference data using natural language through an AI assistant. It provides comprehensive tools for analyzing player performance, pitch-level data, season leaderboards, and team standings.2436MIT
- AlicenseNot gradedqualityDmaintenanceEnables interaction with Yahoo Fantasy Sports API for fantasy baseball, providing tools to manage rosters and player stats via Claude.30 npm5MIT
- FlicenseNot gradedqualityDmaintenanceConnects Claude to your Yahoo Fantasy Baseball team, enabling lineup management, roster analysis, and free agent scouting through natural conversation.-
- FlicenseNot gradedqualityDmaintenanceEnables Claude to interact with Yahoo Fantasy Baseball and Basketball leagues, allowing roster analysis, matchup tracking, free agent browsing, and player stats retrieval via natural language.-