PuckAPI MCP Server

**The hockey data API.** Stats, odds, and everything between.
REST API and MCP server. Free to start.
[![License: MIT](https://img.shields.io/badge/License-MIT-10b981.svg?style=flat-square)](LICENSE) [![Tools](https://img.shields.io/badge/tools-16-10b981?style=flat-square)](#available-tools) [![Seasons](https://img.shields.io/badge/seasons-16+-10b981?style=flat-square)](#data-coverage) [![Skills](https://img.shields.io/badge/skills-28-10b981?style=flat-square)](https://github.com/PuckAPI/claude-sports-analytics) [![Smithery](https://img.shields.io/badge/Smithery-listed-ff5601?style=flat-square)](https://smithery.ai/servers/noahowsh/PuckAPI) [Quick Start](#quick-start) · [Tools](#available-tools) · [Data](#data-coverage) · [Pricing](#pricing) · [REST API](#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`: ```json { "mcpServers": { "puckapi": { "url": "https://mcp.puckapi.com/mcp?key=YOUR_API_KEY" } } } ``` **Claude Code** -- one command: ```bash 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](https://puckapi.com) -- 500 credits, no credit card. --- ## Available Tools
Games -- 4 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 |
Teams -- 3 tools
| 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 |
Players -- 5 tools
| 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% |
Odds -- 2 tools
| 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 |
Play-by-play -- 2 tools
| 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](https://puckapi.com/pwhl)) | | **Updates** | Games daily; odds captured hourly | Live coverage by season: [historical odds](https://puckapi.com/data/historical-odds) · [play-by-play](https://puckapi.com/data/play-by-play) · [shot data](https://puckapi.com/data/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](https://puckapi.com/pricing)). Wallet top-ups from $5 never expire. --- ## REST API PuckAPI also offers a standard REST API: ```bash curl -X POST https://mcp.puckapi.com/v1/get_standings \ -H "x-api-key: YOUR_API_KEY" ``` Full documentation at [puckapi.com/docs](https://puckapi.com/docs). --- ## Used by [PuckCast](https://puckcast.ai/), our NHL predictions site, runs on this API. ## Related | | | |---|---| | **[PuckAPI Skills](https://github.com/PuckAPI/claude-sports-analytics)** | 28 free Claude Code skills for hockey analytics, betting models, and research | | **[puckapi.com](https://puckapi.com)** | Sign up, dashboard, API docs | | **[NHL odds tonight](https://puckapi.com/odds)** | Every tracked sportsbook's moneyline, puck line and total, refreshed hourly | | **[NHL player props today](https://puckapi.com/props)** | Points, goals, shots, saves and anytime scorer: the consensus line and the best over and under price per player | | **[Shots on goal prop history](https://puckapi.com/guides/nhl-shots-on-goal-prop-history-python)** | How often a player goes over his shots line, game by game, in Python | ### Other sports, same tools and key format | | | |---|---| | **[EndzoneAPI](https://github.com/noahowsh/endzoneapi-mcp)** | NFL and college football | | **[DunkAPI](https://github.com/noahowsh/dunkapi-mcp)** | NBA, WNBA and college basketball | | **[FastballAPI](https://github.com/noahowsh/fastballapi-mcp)** | MLB and college baseball | | **[StrikerAPI](https://github.com/noahowsh/strikerapi-mcp)** | Soccer, 17 competitions | | **[AcesAPI](https://github.com/noahowsh/acesapi-mcp)** | ATP and WTA tennis | | **[BirdieAPI](https://github.com/noahowsh/birdieapi-mcp)** | PGA Tour and other golf tours | | **[FighterAPI](https://github.com/noahowsh/fighterapi-mcp)** | UFC, PFL and Bellator | ---
**[puckapi.com](https://puckapi.com)** · **[API Docs](https://puckapi.com/docs)** · **[Skills](https://github.com/PuckAPI/claude-sports-analytics)** MIT License