NBA MCP Server
by obinopaul
The NBA MCP Server is a Python server that implements the Model Context Protocol (MCP) for accessing NBA statistics and live game data. It acts as a bridge between applications and the NBA API, providing tools for retrieving real-time and historical NBA information.
Last updated: N/A
NBA MCP Server
A Python server implementing Model Context Protocol (MCP) for NBA statistics and live game data.
Overview
This server provides a set of tools for accessing NBA data through the NBA API. It serves as a bridge between applications and the NBA's data services, offering both live game information and historical statistics.
Features
- Live game data (scoreboard, box scores, play-by-play)
- Player information and career statistics
- Team game logs and statistics
- League standings
- Game results and schedules
Tools
Live Game Data
-
nba_live_scoreboard
- Fetch today's NBA scoreboard (live or latest)
- Returns game IDs, start times, scores, and broadcast details
-
nba_live_boxscore
- Fetch real-time box score for a given NBA game ID
- Provides detailed player and team statistics
-
nba_live_play_by_play
- Retrieve live play-by-play actions for a specific game
- Includes scoring plays, fouls, timeouts, and substitutions
Player Information
-
nba_common_player_info
- Retrieve basic information about a player
- Includes biographical data, height, weight, team, position
-
nba_player_career_stats
- Obtain a player's career statistics
- Available in different formats (per game, totals, per 36 minutes)
-
nba_list_active_players
- Return a list of all currently active NBA players
-
nba_player_game_logs
- Obtain a player's game statistics within a specified date range
Team Data
-
nba_team_game_logs_by_name
- Fetch a team's game logs using the team name
- Avoids needing to know the team's numeric ID
-
nba_fetch_game_results
- Fetch game results for a given team ID and date range
-
nba_team_standings
- Fetch NBA team standings for a given season and season type
-
nba_team_stats_by_name
- Fetch team statistics using the team name
- Supports different aggregation methods (totals, per game, etc.)
-
nba_all_teams_stats
- Fetch statistics for all NBA teams across multiple seasons
Schedule Information
- nba_list_todays_games
- Returns scoreboard data for any specific date
Usage
The server is implemented using the MCP framework and can be run as a standalone service.
# Start the server
python nba_server.py
# or
mcp run nba_server.py
Configuration
- The server runs with a 30-second timeout for more reliable operation
- Signal handlers are implemented for graceful shutdown (Ctrl+C)
Usage with Claude Desktop
Option 1: Using Docker (Recommended)
- Clone this repository
git clone https://github.com/obinopaul/nba-mcp-server.git
cd nba-mcp-server
- Install dependencies
pip install -r requirements.txt
- Build the Docker image
docker build -t nba_mcp_server .
- Run the Docker container
docker run -d -p 5000:5000 --name nba_mcp_server nba_mcp_server
- Add this to your
claude_desktop_config.json
:
{
"mcpServers": {
"nba_mcp_server": {
"command": "docker",
"args": [
"exec",
"-i",
"nba_mcp_server",
"python",
"nba_server.py"
]
}
}
}
Option 2: Direct Python Execution
- Clone this repository
git clone https://github.com/obinopaul/nba-mcp-server.git
cd nba-mcp-server
- Create a new environment
conda create --name your_env_name python=3.13
conda activate your_env_name
- Install dependencies
pip install -r requirements.txt
- Run NBA mcp server on the terminal
mcp run nba_server.py
- Add this to your
claude_desktop_config.json
, adjusting the Python path as needed:
{
"mcpServers": {
"nba_mcp_server": {
"command": "/path/to/your/python",
"args": [
"/path/to/nba_server.py"
]
}
}
}
After adding your chosen configuration, restart Claude Desktop to load the NBA server. You'll then be able to use all the NBA data tools in your conversations with Claude.
Technical Details
The server is built on:
- NBA API (nba_api) Python package
- MCP for API interface
- Pydantic for input validation
- Pandas for data manipulation
License
This MCP server is available under the MIT License.