Skip to main content

Add your description here

Project description

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)

  1. Clone this repository
git clone https://github.com/obinopaul/nba-mcp-server.git
cd nba-mcp-server
  1. Install dependencies
pip install -r requirements.txt
  1. Build the Docker image
docker build -t nba_mcp_server .
  1. Run the Docker container
docker run -d -p 5000:5000 --name nba_mcp_server nba_mcp_server
  1. 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

  1. Clone this repository
git clone https://github.com/obinopaul/nba-mcp-server.git
cd nba-mcp-server
  1. Create a new environment
conda create --name your_env_name python=3.13
conda activate your_env_name
  1. Install dependencies
pip install -r requirements.txt
  1. Run NBA mcp server on the terminal
mcp run nba_server.py
  1. 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nba_mcp_server-0.1.0.tar.gz (12.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nba_mcp_server-0.1.0-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

File details

Details for the file nba_mcp_server-0.1.0.tar.gz.

File metadata

  • Download URL: nba_mcp_server-0.1.0.tar.gz
  • Upload date:
  • Size: 12.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.9

File hashes

Hashes for nba_mcp_server-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3fe75d0e41dcada38d4df5eb2ffc0fa0a9622a7042a9a36b895fba6b46c05b64
MD5 70547672e6341dd6fcca9e7bc074e241
BLAKE2b-256 cbc4e42c975e2b2b338ddec5539abc74e0fa0e730648b112e1d82daff3497116

See more details on using hashes here.

File details

Details for the file nba_mcp_server-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for nba_mcp_server-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2063e22a5814a6f9bd760b30e155f10c017e35c5130485955834a620a87ffc53
MD5 80fc760e37802b5b6dcdc2487bb4c7be
BLAKE2b-256 d838603cfd755951aab8426078850cccb245dfb83bfade6068b32dcf936a5bf3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page