Skip to main content
Glama

NHL MCP Server

by argotdev
README.md6.58 kB
# NHL MCP Server (Python) A Model Context Protocol (MCP) server that provides access to NHL live data and statistics through natural language queries. This is an idiomatic Python implementation of the NHL MCP server. ## Features - **Live Game Data**: Get real-time scores, game status, and schedules - **Team Statistics**: Access comprehensive team performance data - **Player Statistics**: Query top players by various categories (points, goals, assists, etc.) - **Goalie Statistics**: Specialized goalie metrics including save percentage and GAA - **Standings**: Current NHL standings with filtering by division or conference - **Head-to-Head Comparisons**: Compare teams and analyze matchup history - **Streak Analysis**: Track team winning/losing streaks - **Season Comparisons**: Compare statistics across multiple NHL seasons - **Playoff Data**: Access playoff brackets and series information ## Installation ### From Source 1. Clone this repository 2. Install dependencies: ```bash cd nhl-mcp-python pip install -e . ``` ### Using pip (once published) ```bash pip install nhl-mcp-server ``` ## Usage ### Running the Server The server communicates via stdio and is designed to be used with MCP clients: ```bash python -m nhl_mcp.server ``` Or if installed via pip: ```bash nhl-mcp-server ``` ### Configuration Add to your MCP client configuration (e.g., Claude Desktop): ```json { "mcpServers": { "nhl": { "command": "python", "args": ["-m", "nhl_mcp.server"] } } } ``` Or if using a virtual environment: ```json { "mcpServers": { "nhl": { "command": "/path/to/venv/bin/python", "args": ["-m", "nhl_mcp.server"] } } } ``` ## Available Tools ### `get_live_games` Get live NHL game scores and status for today or a specific date. **Parameters:** - `date` (optional): Date in YYYY-MM-DD format **Example:** ``` Get today's NHL scores Show me games on 2024-03-15 ``` ### `get_game_details` Get detailed information about a specific game including play-by-play data. **Parameters:** - `gameId` (required): The NHL game ID **Example:** ``` Get details for game 2024020123 ``` ### `get_standings` Get current NHL standings with optional filtering. **Parameters:** - `date` (optional): Date in YYYY-MM-DD format - `division` (optional): Atlantic, Metropolitan, Central, or Pacific - `conference` (optional): Eastern or Western **Example:** ``` Show me the Atlantic division standings Get Eastern conference standings ``` ### `get_team_stats` Get detailed statistics for a specific NHL team. **Parameters:** - `teamAbbrev` (required): Team abbreviation (e.g., TOR, NYR, BOS) - `season` (optional): Season in format YYYYYYYY (e.g., 20242025) **Example:** ``` Get Toronto Maple Leafs stats Show me Boston Bruins statistics ``` ### `get_player_stats` Get statistics for top NHL players. **Parameters:** - `category` (optional): points, goals, assists, plusMinus, shots, shootingPctg - `limit` (optional): Number of players to return (default: 20) - `season` (optional): Season in format YYYYYYYY **Example:** ``` Show me top goal scorers Get top 10 players by points ``` ### `get_goalie_stats` Get statistics for NHL goalies. **Parameters:** - `limit` (optional): Number of goalies to return (default: 20) - `season` (optional): Season in format YYYYYYYY **Example:** ``` Show me top goalies Get top 15 goalies by save percentage ``` ### `get_schedule` Get NHL schedule for upcoming games. **Parameters:** - `date` (optional): Date in YYYY-MM-DD format - `teamAbbrev` (optional): Team abbreviation for specific team schedule **Example:** ``` Show me the Maple Leafs schedule Get NHL schedule for next week ``` ### `get_playoff_bracket` Get current playoff bracket information. **Parameters:** - `season` (optional): Season year (e.g., 2024) **Example:** ``` Show me the current playoff bracket Get 2024 playoff bracket ``` ### `compare_teams` Compare head-to-head statistics between two teams. **Parameters:** - `team1` (required): First team abbreviation - `team2` (required): Second team abbreviation - `season` (optional): Season in format YYYYYYYY **Example:** ``` Compare Toronto and Montreal Show me Bruins vs Rangers head to head ``` ### `get_team_streak` Get current winning or losing streak for a team. **Parameters:** - `teamAbbrev` (required): Team abbreviation **Example:** ``` What's the Maple Leafs current streak? Show me Boston's win/loss streak ``` ### `compare_seasons` Compare statistics across multiple NHL seasons. **Parameters:** - `seasons` (required): Array of seasons to compare - `teamAbbrev` (optional): Team abbreviation for team-specific comparison **Example:** ``` Compare the 2023-24 and 2024-25 seasons for Toronto Compare league stats between 20232024 and 20242025 ``` ## Team Abbreviations Common NHL team abbreviations: - **Atlantic**: TOR (Toronto), BOS (Boston), MTL (Montreal), TBL (Tampa Bay), FLA (Florida), OTT (Ottawa), DET (Detroit), BUF (Buffalo) - **Metropolitan**: NYR (Rangers), NYI (Islanders), CAR (Carolina), NJD (New Jersey), PHI (Philadelphia), PIT (Pittsburgh), WSH (Washington), CBJ (Columbus) - **Central**: COL (Colorado), DAL (Dallas), MIN (Minnesota), WPG (Winnipeg), NSH (Nashville), STL (St. Louis), ARI (Arizona), CHI (Chicago) - **Pacific**: VGK (Vegas), EDM (Edmonton), LAK (Los Angeles), SEA (Seattle), CGY (Calgary), VAN (Vancouver), SJS (San Jose), ANA (Anaheim) ## API Data Sources This server interfaces with the official NHL APIs: - `api-web.nhle.com` - Primary data source for games, standings, and schedules - `api.nhle.com/stats/rest` - Statistics and player data ## Development ### Requirements - Python 3.10 or higher - Dependencies listed in `requirements.txt` ### Project Structure ``` nhl-mcp-python/ ├── src/ │ └── nhl_mcp/ │ ├── __init__.py │ ├── __main__.py │ ├── server.py # Main MCP server implementation │ └── nhl_api.py # NHL API client with type models ├── pyproject.toml ├── requirements.txt └── README.md ``` ### Code Style This implementation follows Python best practices: - Type hints throughout using Python 3.10+ syntax - Pydantic models for data validation - Async/await for all I/O operations - Snake_case naming conventions - Comprehensive docstrings ### Testing ```bash # Install development dependencies pip install -e ".[dev]" # Run tests (if you add them) pytest ``` ## License MIT ## Contributing Contributions are welcome! Please feel free to submit a Pull Request.

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/argotdev/nhl-mcp-python'

If you have feedback or need assistance with the MCP directory API, please join our Discord server