Content
# 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.
```python
# 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)
1. Clone this repository
```
git clone https://github.com/obinopaul/nba-mcp-server.git
cd nba-mcp-server
```
2. Install dependencies
```
pip install -r requirements.txt
```
3. Build the Docker image
```
docker build -t nba_mcp_server .
```
4. Run the Docker container
```
docker run -d -p 5000:5000 --name nba_mcp_server nba_mcp_server
```
5. Add this to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"nba_mcp_server": {
"command": "docker",
"args": [
"exec",
"-i",
"nba_mcp_server",
"python",
"nba_server.py"
]
}
}
}
```
#### Option 2: Direct Python Execution
1. Clone this repository
```
git clone https://github.com/obinopaul/nba-mcp-server.git
cd nba-mcp-server
```
2. Create a new environment
```
conda create --name your_env_name python=3.13
conda activate your_env_name
```
3. Install dependencies
```
pip install -r requirements.txt
```
4. Run NBA mcp server on the terminal
```
mcp run nba_server.py
```
5. Add this to your `claude_desktop_config.json`, adjusting the Python path as needed:
```json
{
"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.
Connection Info
You Might Also Like
MarkItDown MCP
MarkItDown-MCP is a lightweight server for converting URIs to Markdown.
Filesystem
Node.js MCP Server for filesystem operations with dynamic access control.
Sequential Thinking
A structured MCP server for dynamic problem-solving and reflective thinking.
TrendRadar
TrendRadar: Your hotspot assistant for real news in just 30 seconds.
Github
GitHub MCP Server connects AI tools to manage repositories, issues, and workflows.
opik
Opik is a versatile tool for managing and tracking experiments in machine learning.