Nba Mcp Server
Access real-time NBA statistics and live game data, including player stats, team standings, and game results for integration into sports applications.
Author

obinopaul
Quick Info
Actions
Tags
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.