PuckAPI
by puckapi.com in Developer tools
NHL and PWHL stats, play-by-play, expected goals and odds. REST API and MCP server. Free to start.
https://mcp.puckapi.com/mcp
Last 30 days
- Uptime
- 100%
- Response time
- 300 ms typical, 319 ms slowest 5%
- Last check
- 1 h ago
- Next check
- in 5 h
How to call it
Add it to any MCP client that supports remote servers.
{
"mcpServers": {
"puckapi": {
"type": "http",
"url": "https://mcp.puckapi.com/mcp"
}
}
}18 tools
- 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% and expected goals for and against. The possession columns are 5v5 only, so the
- 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 abbreviation (use list_teams if unsure). Costs 5 credits.
- 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). Odds for every game from 2019-20 on (and part of the 2019 playoffs). Goalie star
- 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 with get_player_stats for full details. Costs 2 credits.
- get_player_stats
Use when you need full details for one player: bio, team, physical attributes, and headshot. For skaters, also returns the latest season line (games, goals, assists, points, +/-, PP/SH, shooting%, TOI). For goalies, save%, GAA, GSAX, and trend data. Requires player ID from search
- 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%, rolling save% and GSAX over the last 10 appearances, form trend and rest days.
- 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, shooting%, faceoff%, and average time on ice. Seasons from 2010-11 on. Costs 5
- 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. For goalies: date, opponent, home/away, decision, shots against, saves, goals aga
- 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 closing lines in one call, with final scores, at 10 credits per game returned (a
- 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.
- 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, Pinnacle and others). Pass game_id for every player's props in one game (10 cre
- 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 closing line (the median across books, or one book's), the opening line, the prices,
- 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 game, season, team, player (any role), event type, strength, zone, or period. Re
- 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. Paginated: follow next_offset, since a season runs past one page and pages are chr
Security scan
- No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.
Recent checks
| When | Result | HTTP | Time |
|---|---|---|---|
| 1 h ago | Passed | 200 | 300 ms |
| 10 h ago | Passed | 200 | 299 ms |
| 19 h ago | Passed | 200 | 415 ms |
| 29 h ago | Passed | 200 | 319 ms |