PuckAPI MCP server
Commit Oct 17, 2026Provides NHL and PWHL statistics, play-by-play data, expected goals, and sportsbook odds to AI clients.
Also known as PuckAPI/mcp, mcp
- Stars
- 0
- Tools
- 16
- Downloads, 30 days
- —
- Latest version
- 1.1.6
- Last commit
- Oct 17, 2026
- License
- MIT
What is PuckAPI MCP?
PuckAPI provides NHL and PWHL statistics, play-by-play data, expected goals, and sportsbook odds to AI clients. It exposes 16 tools, such as get_games, get_schedule, get_game_detail.
Summary generated from the project's README
About PuckAPI MCP server
PuckAPI provides comprehensive hockey data for developers and analysts using AI clients. It delivers statistics and play-by-play information for both the NHL and PWHL, covering over 23,000 games and millions of event coordinates. Users can access advanced metrics like expected goals, GSAX, Corsi, and Fenwick to perform deep research or build betting models.
This MCP server connects to Claude Desktop, Claude Code, or any client supporting Streamable HTTP via a remote URL. While connecting and listing tools is possible without authentication, calling specific tools requires an API key. The service operates on a credit system where tool calls cost between 1 and 25 credits. A free tier provides 500 monthly credits to get started without a credit card.
Specific tools allow for detailed inquiries into game results, player performance, and sportsbook activity. You can retrieve game schedules, player game logs, goalie statistics, and historical matchup data. The server also includes specialized tools for tracking line movement and odds from various bookmakers.
What you can do with it
- 1Examine spatial shot dataAccess shot attempts including their specific rink coordinates and shooter details.
Written from the project's README. Every use case is checked against a quote from it.
How to install PuckAPI MCP
Formats verified 10 Nov 2026Install PuckAPI MCP in Claude Code
$ claude mcp add --transport http mcp https://mcp.puckapi.com/mcpInstall PuckAPI MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"mcp": {
"url": "https://mcp.puckapi.com/mcp"
}
}
}Install PuckAPI MCP in VS Code
.vscode/mcp.json
{
"servers": {
"mcp": {
"type": "http",
"url": "https://mcp.puckapi.com/mcp"
}
}
}Install PuckAPI MCP in Codex
~/.codex/config.toml
[mcp_servers.mcp] url = "https://mcp.puckapi.com/mcp"
Install PuckAPI MCP in Gemini CLI
~/.gemini/settings.json
{
"mcpServers": {
"mcp": {
"httpUrl": "https://mcp.puckapi.com/mcp"
}
}
}PuckAPI MCP tools 16
Detected from the READMEget_gamesget_scheduleget_game_detailget_head_to_headget_standingsget_team_statslist_teamssearch_playersget_player_statsget_skater_season_statsget_goalie_statsget_player_game_log
| get_games | — | |
| get_schedule | — | |
| get_game_detail | — | |
| get_head_to_head | — | |
| get_standings | — | |
| get_team_stats | — | |
| list_teams | — | |
| search_players | — | |
| get_player_stats | — | |
| get_skater_season_stats | — | |
| get_goalie_stats | — | |
| get_player_game_log | — |
Show all 16 toolsShow fewer tools
get_oddsget_line_movementget_playsget_shot_map
| get_odds | — | |
| get_line_movement | — | |
| get_plays | — | |
| get_shot_map | — |
Automated checks
Ran Nov 14, 2026Full report →Not verified yet. A server needs a score of 80, no serious finding, and enough data for us to check. How checks work
- Source repository linked and reachablepuckapi/mcp is public and reachablegithub.com/puckapi/mcp ↗Pass
- Package names this repository as its sourceNot checked
- Build provenance (Sigstore attestation)Not checked
- Open source license (OSI)MITspdx.org/licenses/MIT.html ↗Pass
- Commit or release in the last yearLast commit or release 2026-10-17github.com/puckapi/mcp ↗Pass
- OpenSSF ScorecardNot checked
- Package name not close to a popular packageNot checked
- No critical advisory in the package or its dependenciesNot checked
- No hidden instructions to the model16 tool descriptions and the README read; no override phrases, credential paths or hidden charactersPass
- Destructive tools are labelledNo tool named like delete, drop or execPass
- Remote endpoint answers the MCP handshakeinitialize answered with protocol 2025-06-18 in 260 msPass
README
View on GitHubThe hockey data API. Stats, odds, and everything between.REST API and MCP server. Free to start.
Quick Start · Tools · Data · Pricing · REST API
You: "What were last night's NHL scores?"
Claude: [calls get_games → returns scores, periods, shots, goals]
You: "Show me the line movement on the Sabres game"
Claude: [calls get_line_movement → opening line, current line, timestamps, book-by-book]
You: "Compare McDavid and MacKinnon this season"
Claude: [calls get_player_stats x2 → side-by-side goals, assists, points, TOI, shooting %]
Quick Start
Claude Desktop -- add to claude_desktop_config.json:
{
"mcpServers": {
"puckapi": {
"url": "https://mcp.puckapi.com/mcp?key=YOUR_API_KEY"
}
}
}
Claude Code -- one command:
claude mcp add --transport http puckapi \
"https://mcp.puckapi.com/mcp?key=YOUR_API_KEY"
Other MCP clients -- any client supporting Streamable HTTP:
| Setting | Value |
|---|---|
| URL | https://mcp.puckapi.com/mcp?key=YOUR_API_KEY |
| Transport | Streamable HTTP |
Also accepts Authorization: Bearer or x-api-key headers. Connecting and listing tools works without a key; calling a tool needs one.
Get your free key at puckapi.com -- 500 credits, no credit card.
Available Tools
| Tool | Description |
|---|---|
get_games |
Game results with scores, periods, shots, and goals |
get_schedule |
Upcoming and past game schedules |
get_game_detail |
Full box score for a specific game |
get_head_to_head |
Historical matchup data between two teams |
| Tool | Description |
|---|---|
get_standings |
Current or historical standings by season |
get_team_stats |
Team-level stats (goals, shots, PP%, PK%, etc.) |
list_teams |
All NHL teams with abbreviations and metadata |
| Tool | Description |
|---|---|
search_players |
Find players by name |
get_player_stats |
Skater stats (goals, assists, points, TOI, etc.) |
get_skater_season_stats |
Season stats leaderboard -- goals, assists, points, TOI, shooting %, filterable by team and sortable by 5 metrics |
get_goalie_stats |
Goalie stats (SV%, GAA, wins, shutouts, etc.) |
get_player_game_log |
Game-by-game lines for a skater or goalie in a season: goals, assists, shots, PIM, saves, SV% |
| Tool | Description |
|---|---|
get_odds |
Opening and closing moneyline, puck line and total by sportsbook, every game from 2019-20 |
get_line_movement |
Time-series odds grouped by bookmaker |
| Tool | Description |
|---|---|
get_plays |
Play-by-play events with rink coordinates, strength state and the players involved |
get_shot_map |
Every shot attempt with rink coordinates, shot type, shooter and goalie |
Data Coverage
| Category | Details |
|---|---|
| Games | 23,000+ across 16 seasons |
| Play-by-play | Every event since 2010-11 with rink coordinates (6.8M+ events) |
| Odds | Every game from 2019-20: about 12-14 books a game for 2020-21 to 2023-24, 60+ in 2025-26, and 8 books including Pinnacle captured hourly from October 2026 |
| Line movement | Hourly snapshots from September 2026 |
| Players | 4,800+ skaters and goalies |
| Computed | Expected goals, GSAX, Corsi and Fenwick |
| PWHL | Games, standings, play-by-play and shot locations; pass league: "pwhl" (details) |
| Updates | Games daily; odds captured hourly |
Live coverage by season: historical odds · play-by-play · shot data
Pricing
| Plan | Credits/mo | Price |
|---|---|---|
| Free | 500 every month | $0 |
| Starter | 10,000 | $19/mo |
| Pro | 30,000 | $49/mo |
| Scale | 125,000 | $149/mo |
Tools cost 1 to 25 credits a call (per-tool costs). Wallet top-ups from $5 never expire.
REST API
PuckAPI also offers a standard REST API:
curl -X POST https://mcp.puckapi.com/v1/get_standings \
-H "x-api-key: YOUR_API_KEY"
Full documentation at puckapi.com/docs.
Used by
PuckCast, our NHL predictions site, runs on this API.
Related
| PuckAPI Skills | 28 free Claude Code skills for hockey analytics, betting models, and research |
| puckapi.com | Sign up, dashboard, API docs |
| NHL odds tonight | Every tracked sportsbook's moneyline, puck line and total, refreshed hourly |
| NHL player props today | Points, goals, shots, saves and anytime scorer: the consensus line and the best over and under price per player |
| Shots on goal prop history | How often a player goes over his shots line, game by game, in Python |
Other sports, same tools and key format
| EndzoneAPI | NFL and college football |
| DunkAPI | NBA, WNBA and college basketball |
| FastballAPI | MLB and college baseball |
| StrikerAPI | Soccer, 17 competitions |
| AcesAPI | ATP and WTA tennis |
| BirdieAPI | PGA Tour and other golf tours |
| FighterAPI | UFC, PFL and Bellator |
puckapi.com · API Docs · Skills
MIT License
PuckAPI MCP questions
How do I add PuckAPI MCP to Claude Code?
Run claude mcp add --transport http mcp https://mcp.puckapi.com/mcp in your terminal. Add --scope user to make it available in every project.
How do I add PuckAPI MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
What tools does PuckAPI MCP provide?
It exposes 16 tools, including get_games, get_schedule, get_game_detail, get_head_to_head, get_standings.
Does the server support PWHL data?
Yes, it includes games, standings, play-by-play, and shot locations for the PWHL.
How often is the data updated?
Games are updated daily and odds are captured hourly.