NHL MCP Server
Supports configuration of API credentials through environment variables, allowing secure storage of API keys needed for accessing NHL data.
Supports version control integration for contributing to the project through branching, committing changes, and pushing to repositories.
Enables collaboration through Pull Requests, forking the repository, and managing project contributions.
Provides access to NHL data including teams, players, standings, schedules, and game statistics. Enables retrieval of team rosters, player information, league standings, game scores, and statistical leaders.
Provides package management for installing dependencies and running development scripts.
Implemented in TypeScript to provide strongly typed interfaces for NHL data structures and API endpoints.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@NHL MCP Server show me the current NHL standings"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
NHL API - Model Context Protocol
A TypeScript implementation of the NHL API using the Model-Context Protocol pattern. This MCP server provides access to NHL data including teams, players, standings, schedules, and statistics.
Overview
This library provides a clean interface to the NHL's official APIs using the Model-Context Protocol (MCP). It allows you to fetch data from the NHL's APIs and provides it in a structured, easy-to-use format through MCP tools.
Related MCP server: NHL MCP Server
📊 Current State
As of March 10, 2025, the platform provides the following functionality:
✅ Working Features
Standings
League-wide standings with division breakdowns
Complete team record information
Teams
Basic team identity information
Current roster information with player details
Team statistics (skaters and goalies)
Prospect tracking
Players
Player biographical information
Current season and career statistics
Award recognition
Schedules
Current team schedules
Date-specific league schedules
Upcoming game information
Statistics
Current statistical leaders (skaters and goalies)
Team-specific statistical breakdowns
Game Information
Live game scores and status
Game schedules
❌ Issues Identified
Team Information Gaps
Team division and conference information missing in team lookup
Basic team data incomplete (city/location details absent)
Game Details
Limited game state information for in-progress games
Play-by-play data implementation needs further testing
Historical Data
Seasonal historical data access needs verification
Historical schedule retrieval requires additional testing
UI Integration
No current UI components for data visualization
Raw data format requires transformation for frontend display
📝 TODO List
High Priority
Fix team information API to include complete team details (division, conference, location)
Implement more detailed game state tracking for live games
Create data transformation layers for UI integration
Complete testing of historical data endpoints
Medium Priority
Develop standard data visualization components
Add player image integration
Implement team logo/brand assets
Create search functionality across all data types
Low Priority
Build caching system for frequently accessed data
Add fantasy hockey integration points
Develop news/media integration
Add social media content connections
🚀 Getting Started
Clone the repository:
git clone https://github.com/yourusername/nhl-mcp.git cd nhl-mcpInstall dependencies:
npm installConfigure API credentials:
cp .env.example .env # Edit .env with your API keysStart the development server:
npm run dev
🔧 API Reference
The NHL-MCP platform provides the following core API endpoints:
Teams
get-team: Retrieve basic team informationget-team-roster: Get current team rosterget-team-stats: Get team statisticsget-team-prospects: Get team prospect information
Players
get-player-landing: Get detailed player information
Standings
get-current-standings: Get current NHL standings
Schedule
get-schedule: Get general schedule informationget-current-schedule: Get a team's upcoming scheduleget-date-schedule: Get schedule for a specific date
Statistics
get-current-stat-leaders: Get current statistical leadersget-current-goalie-leaders: Get current goalie statistical leaders
Games
get-scores-now: Get current scores and game states
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Fork the repository
Create your feature branch (
git checkout -b feature/amazing-feature)Commit your changes (
git commit -m 'Add some amazing feature')Push to the branch (
git push origin feature/amazing-feature)Open a Pull Request
📞 Contact
Project Maintainer: Dylan Groos
Note: This README documents the current state of the NHL-MCP project based on testing conducted on March 10, 2025. The platform accesses NHL data which is subject to terms and conditions set by the National Hockey League.
Available Tools
25 toolsget-current-goalie-leadersC
Get current NHL goalie stats leaders
Inputs: category (required), limit.
get-current-scheduleC
Get the current NHL schedule for a specific team
Inputs: teamAbbrev (required), limit.
get-current-standingsB
Get current NHL standings
Inputs: no named parameters.
get-current-stat-leadersC
Get current NHL skater stats leaders
Inputs: category (required), limit.
get-current-team-statsC
Get current statistics for an NHL team
Inputs: teamAbbrev (required).
get-date-range-scheduleC
Get the NHL schedule for a date range
Inputs: startDate (required), endDate (required).
get-date-scheduleC
Get the NHL schedule for a specific date
Inputs: date (required).
get-game-play-by-playB
Get play-by-play data for a specific NHL game
Inputs: gameId (required), maxEvents, filterByType.
get-month-scheduleC
Get the NHL schedule for a specific team for a given month
Inputs: teamAbbrev (required), year (required), month (required).
get-player-landingC
Get information about an NHL player
Inputs: playerId (required).
get-roster-by-seasonC
Get an NHL team's roster for a specific season
Inputs: teamAbbrev (required), season (required).
get-scheduleC
Get NHL game schedule
Inputs: teamAbbrev, date.
get-scores-by-dateB
Get NHL scores for a specific date
Inputs: date (required), includeCompleted, includeUpcoming.
get-scores-nowC
Get current NHL scores
Inputs: includeCompleted, includeUpcoming.
get-season-goalie-leadersC
Get NHL goalie stats leaders for a specific season and game type
Inputs: category (required), season (required), gameType, limit.
get-season-scheduleC
Get the full season schedule for a specific team
Inputs: teamAbbrev (required), season (required), gameType.
get-season-stat-leadersC
Get NHL skater stats leaders for a specific season and game type
Inputs: category (required), season (required), gameType, limit.
get-skater-leadersC
Get NHL statistical leaders for skaters
Inputs: category (required), limit.
get-teamC
Get information about an NHL team
Inputs: teamAbbrev (required).
get-team-prospectsC
Get prospects for an NHL team
Inputs: teamAbbrev (required).
get-team-rosterB
Get information about an NHL team's current roster
Inputs: teamAbbrev (required), seasonAbbrev (required).
get-team-statsC
Get statistics for an NHL team
Inputs: teamAbbrev (required).
get-team-stats-by-seasonC
Get statistics for an NHL team for a specific season and game type
Inputs: teamAbbrev (required), season (required), gameType.
get-team-stats-seasonsC
Get available seasons with statistics for an NHL team
Inputs: teamAbbrev (required).
get-week-scheduleC
Get the NHL schedule for a specific team for a given week
Inputs: teamAbbrev (required), date (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 25 tools
The tools have clear purposes within the NHL domain, but there is significant overlap that could cause confusion. For example, 'get-current-team-stats', 'get-team-stats', and 'get-team-stats-by-season' all retrieve team statistics with subtle distinctions, and multiple schedule tools (e.g., 'get-current-schedule', 'get-date-schedule', 'get-month-schedule') target similar data with different filters. Descriptions help differentiate, but agents might misselect due to these overlaps.
All tool names follow a consistent verb_noun pattern with 'get-' as the prefix, using snake_case throughout. This predictability makes it easy for agents to parse and understand the tool purposes, such as 'get-player-landing' or 'get-season-goalie-leaders'. There are no deviations in naming conventions across the set.
With 25 tools, the count feels excessive for an NHL data server, leading to redundancy and potential bloat. Many tools could be consolidated into more flexible ones with parameters (e.g., a single schedule tool with date/team filters). This high number may overwhelm agents and complicate tool selection without adding proportional value.
The tool set covers a broad range of NHL data needs, including schedules, scores, standings, player and team statistics, rosters, and prospects. However, there are minor gaps, such as lack of tools for historical game data beyond play-by-play or detailed player career stats. Overall, it supports core workflows but could be more comprehensive for advanced queries.
Maintenance
Related MCP Connectors
NHL and PWHL stats, play-by-play, expected goals and odds. REST API and MCP server. Free to start.
Provides access to live sports data and analytics from BALLDONTLIE: The Sports API
Live sports stats and pre-computed analysis for AI assistants across NBA, MLB, NFL, and NHL.
Related MCP Servers
- AlicenseBqualityDmaintenanceProvides Formula One data and statistics through a Model Context Protocol interface, allowing users to access race calendars, session results, driver statistics, telemetry data, and championship standings.811MIT
- AlicenseAqualityDmaintenanceProvides access to live NHL game data, player and team statistics, standings, schedules, playoff brackets, and historical comparisons through natural language queries using the official NHL API.11MIT
- FlicenseNot gradedqualityDmaintenanceProvides access to live NHL data including player statistics, team standings, game scores, schedules, and playoff information through 40+ NHL API endpoints.3-
- AlicenseNot gradedqualityDmaintenanceProvides real-time access to football (soccer) data including fixtures, standings, teams, players, transfers, and injuries through the API-Football service via the Model Context Protocol.4ISC