Skip to content
Back to search
45
MCP MCP 2025-11-25 streamable-http

PuckAPI

io.github.noahowsh/puckapi

The hockey data API. Stats, odds, and everything between. REST API and MCP server.

Watch this dependency Share evidence report
Uptime
100.0%
3 direct probes · 30d
Response
60ms
last probe
Tools
22
callable
Resources
0
readable
Prompts
0
available
Score: 45/100
The server exists but requires sign-in before we can list its tools.
partial Answers the MCP handshake 35/50
The endpoint answered HTTP 401 to an anonymous server/discover, so it exists, but we could not list its tools without credentials. It does advertise OAuth protected-resource metadata.
How to earn +15 points
Let anonymous clients discover what the server offers
Answer server/discover and tools/list without credentials and require auth only on tools/call. If the whole server must stay private, return a WWW-Authenticate header with resource_metadata pointing at /.well-known/oauth-protected-resource (RFC 9728) so MCP clients can sign in on their own; 2026-07-28 clients identify themselves with a Client ID Metadata Document rather than dynamic registration.
Docs →
n/a Lists tools, resources or prompts 0/30
Not scored: a catalogue only counts once the handshake succeeds.
n/a 3 or more catalogue items 0/10
Not scored: a catalogue only counts once the handshake succeeds.
pass Describes itself 10/10
82 characters; more than 30 earns these points.

Tools · 22

get_standings

Use when checking where teams rank in their division or conference. Returns points, wins, losses, OT losses, point%, goal differential, goals for/against per game, and 5v5 possession: Corsi%, Fenwick%…

get_team_stats

Use when you need full details for one team: record, goals for and against, league rank, and 5v5 possession (Corsi%, Fenwick%, expected goals for and against). Possession is 5v5 only. Requires a team …

list_teams

Use when you need team abbreviations, or to see all 32 active NHL teams with city, conference, division, and arena. Excludes historical franchises (ATL, ARI). Cheapest tool at 1 credit.

get_games

Use when querying past or future games with filters. Returns scores, teams, venue, and game metadata. For upcoming-only games, prefer get_schedule (2 cr) instead. Costs 5 credits.

get_schedule

Use when checking what games are coming up. Returns only unplayed future games for the next N days (default 7). For past games, use get_games instead. Costs 2 credits.

get_game_detail

Use when you need everything about one game: both teams' full info, all betting odds, and the goalies who started, with their time on ice. Requires a game ID (get one from get_games or get_schedule). …

get_head_to_head

Use when comparing two teams' history. Returns recent matchups with win/loss record. Can filter by season or get all-time. Costs 10 credits.

search_players

Use when looking up a player by name. Searches 4,900+ players across every season since 2010-11. Returns active players by default; set active=false for retired/historical. Use the returned player ID …

get_player_stats

Use when you need full details for one player: bio, team, and physical attributes. For skaters, also returns the latest season line (games, goals, assists, points, +/-, PP/SH, shooting%, TOI). For goa…

get_goalie_stats

Use when ranking goalies or comparing goalie performance. Returns a leaderboard sorted by save%, GAA, GSAX, or wins, with a games-played filter. Includes goals saved above expected, high-danger save%,…

get_skater_season_stats

Use when ranking skaters or comparing scoring. Returns a leaderboard sorted by points, goals, assists, plus/minus, or shots, with a games-played filter. Includes power play and shorthanded production,…

get_player_game_log

Use when you need a player's game-by-game stat lines for a season, not a season total. For skaters: date, opponent, home/away, goals, assists, points, shots, PIM and power-play points for each game. F…

get_odds

Use when checking betting lines. Pass game_id for one game (10 credits): moneyline, puck line and total by bookmaker, opening and closing. Or pass season (optionally with team) for a whole season of c…

get_line_movement

Use when analyzing how betting lines moved over time. Returns time-series snapshots grouped by bookmaker. Most expensive tool (25 cr). If you only need current lines, use get_odds (10 cr) instead. Pri…

get_player_props

Use for player prop lines by sportsbook: over/under on points, goals, assists, shots on goal, blocked shots, goalie saves and anytime goal scorer, from May 2023 (DraftKings, FanDuel, BetMGM, ESPN BET,…

get_prop_history

Use to see how a player did against his prop line over time: for one market (points, goals, assists, shots on goal, blocked shots, goalie saves or anytime goal scorer), one row per game with the closi…

get_plays

Use for play-by-play events: goals, shots, misses, blocks, faceoffs, hits, giveaways, takeaways, penalties, with rink coordinates, strength state (5v5, 5v4), zone, and the players involved. Filter by …

get_shot_map

Use when you want shot locations rather than a list of events: every shot attempt with rink coordinates, shot type, strength, shooter and goalie. Filter by game, or by season plus a team or player. Pa…

get_shifts

Use for who was on the ice and when: every player's shifts in one NHL game, each with period, start and end (period clock and seconds from the opening faceoff) and duration, plus the official boxscore…

get_situation_time

Use for exact time at each strength: the seconds each team spent at 5v5, 5v4, 4v5, 4v4, 6v5 with the goalie pulled and every other on-ice state in an NHL game, split into regulation and overtime, from…

get_predictions

Use for the model's win probability for each NHL game on the current slate: home and away win probability, the A/B/C confidence grade, start time, plus the model version and when the slate was generat…

get_prop_projections

Paid plans only (not available on the free plan). Use for the model's projected stat lines for tonight's NHL players: for each game, each skater's projected goals, assists, points and shots with a low…

How to use

Claude Desktop or claude.ai: add a custom connector (Customize → Connectors; on Team and Enterprise plans an owner adds it under Organization settings → Connectors) with this server URL: https://mcp.puckapi.com/mcp

Cursor or Cline: add to your MCP config:

{
  "mcpServers": {
    "puckapi": {
      "url": "https://mcp.puckapi.com/mcp",
      "transport": "streamable-http"
    }
  }
}