Eliteprospects
About
Unofficial CLI + MCP server for eliteprospects.com Resources
Details
- Author
- troelskn
- Downloads
- 132
- Categories
- Other, Web Scraping
Jump to
Setup
Install Eliteprospects in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/troelskn/eliteprospects
Follow the installation instructions in the repository README, then restart your MCP client.
Unofficial access toeliteprospects.comhockey data — leagues, teams, players, and staff — as structured output rather than scraped HTML.
It comes in two forms backed by the same TypeScript core: acommand-line toolfor browsing and searching from the terminal (with--jsonfor piping into other tools), and anMCP serverthat exposes the same lookups to MCP clients such as Claude. No API key and no build step.
- Bun>= 1.0 (runs TypeScript natively — no build step)
# List all leagues ./bin/eliteprospects leagues # Filter by country — accepts a 2- or 3-letter code (DK or DNK) ./bin/eliteprospects leagues --country DK # Machine-readable output ./bin/eliteprospects leagues --json # Show a single league: metadata, teams, and available seasons ./bin/eliteprospects leagues denmark-u18 # A specific season ./bin/eliteprospects leagues denmark-u18 --season 2024-2025 # Show a team by id: metadata, roster, and available seasons ./bin/eliteprospects teams 42107 ./bin/eliteprospects teams 42107 --season 2024-2025 # Show a player's profile by id (bio, draft, current team) ./bin/eliteprospects players 8862 # Look a player up by name instead of id (renders only on a single match) ./bin/eliteprospects players --search "connor mcdavid" # Show a staff member's profile by id (role, current team) ./bin/eliteprospects staff 14739 # Staff can be looked up by name too ./bin/eliteprospects staff --search "daniel rasmussen" # Search by name (across players, staff, teams, leagues) ./bin/eliteprospects search "connor mcdavid" # Limit search to one type (--player, --staff, --team, --league) ./bin/eliteprospects search rasmussen --staff # Help ./bin/eliteprospects help
searchis the way to find an id to feed into the other commands. It returns aTYPEcolumn so a result's id can be used withplayers,staff,teams, orleaguesas appropriate. For the common case of looking up one person,players/staffalso accept--search <name>, which runs the search for you and renders the profile when there is exactly one match (erroring, and listing the candidates, when there are several).
Players and staff are separate commands because they are separate id namespaces: player14739and staff14739are different people. A person can hold both a player and a staff profile (e.g. Daniel Rasmussen is player16271and staff14739), and each profile links to the other in its output.
The same functionality is exposed to MCP clients (e.g. Claude) bybin/eliteprospects-mcp, a Model Context Protocol server speaking JSON-RPC 2.0 over stdio. It is dependency-free — the protocol is implemented directly insrc/mcp.ts.
Register it with an MCP client by pointing at the launcher, e.g. in amcpServersconfig:
{ "mcpServers": { "eliteprospects": { "command": "bun", "args": ["/absolute/path/to/eliteprospects/bin/eliteprospects-mcp"] } } }
See also:https://coworkerai.io/guide/mcp-setup
EliteProspects is a Next.js site. Two data sources are used, both structured JSON rather than scraped HTML:
- Index pages(e.g./leagues) embed their data in a<script id="__NEXT_DATA__">tag. Seesrc/leagues.ts.
- Detail pages(e.g./league/<slug>) sit behind a Cloudflare challenge in their rendered form, so we instead fetch Next.js's data endpoint/_next/data/<buildId>/<route>.json, which returns the samepagePropsand is not challenged. ThebuildIdchanges per deploy, so it is read at runtime from the reachable/leaguespage and cached. Seesrc/client.tsandsrc/league.ts.
Search uses a different backend entirely: the site's autocomplete API atautocomplete.eliteprospects.com(the same one the site's search box uses). It is a separate, unauthenticated host — not behind the Cloudflare challenge, and not subject to the member limits of the on-site search form. The/allendpoint returns mixed types (each tagged with_type);/players,/staff,/teams, and/leagueseach return a single type. Seesrc/search.ts.
Team, player, and staff URLs carry both an id and a slug (/team/42107/aalborg-u18,/player/8862/joe-sakic,/staff/14739/daniel-rasmussen). A request for the id alone soft-redirects to the canonical path, which the scraper follows to learn the slug — soteams,players, andstaffwork from just the numeric id. This id→slug resolution lives infetchEntityData(src/client.ts) and is shared bysrc/team.tsandsrc/profile.ts.
EliteProspects identifies countries with ISO 3166-1alpha-3codes (DNK). The output and--countryfilter use the more universalalpha-2form (DK); both forms are accepted as input. The two UK home nations EP lists separately — England and Scotland — are not ISO countries and have no alpha-2, so they keep the ISO 3166-2 subdivision codesGB-ENG/GB-SCT(distinct fromGB= U.K.). The mapping is an embedded, verified ISO table — seesrc/countries.ts.
- bin/eliteprospects— CLI launcher
- bin/eliteprospects-mcp— MCP server launcher
- src/cli.ts— command parsing and output formatting
- src/mcp.ts— MCP (Model Context Protocol) server
- src/client.ts— HTTP fetching (HTML + Next.js data endpoint)
- src/nextData.ts—__NEXT_DATA__extraction
- src/leagues.ts— leagues-list parser
- src/league.ts— single-league parser
- src/team.ts— single-team parser (metadata + roster)
- src/profile.ts— player and staff profile parsers
- src/search.ts— autocomplete search
- src/countries.ts— ISO alpha-3 ↔ alpha-2 conversion
- src/types.ts— shared types
bun install # install dev dependencies (TypeScript, @types/bun) bun run typecheck
Real-time surf, trails, volcano, ocean safety, weather, and restaurants for all Hawaiian islands — built for AI agents.
Real-time football live scores, fixtures, team stats, and player data from 1000+ leagues via SSE transport. Free, no API key required.
Provides comprehensive NBA player statistics from basketball-reference.com, including career stats, season comparisons, and advanced metrics.
Live sports scores and stats from NBA, NFL, and NHL
An MCP server for retrieving Major League Baseball (MLB) game results, schedules, and specific game details using the mlb-statsapi library.
An MCP server that provides chess statistics for any player.
Provides club information and advanced player statistics for Euroleague and Eurocup basketball from the Euroleague API.
MCP server for Fantasy Premier League analysis and strategy. This server provides AI assistants with powerful tools, resources, and prompts to help you dominate your FPL mini-leagues with data-driven insights
Ask your AI assistant which players are injured or doubtful before this weekend's matches.
Austin & Travis County civic and real-estate data in plain English — active MLS listings, TCAD tax/appraisal, permits, zoning, crime, 311, schools, and FEMA flood across 36 tools, no API key.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




