maxpreps-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MAXPREPS_CACHE_TTL | No | Seconds to reuse a fetched page; 0 disables | 300 |
| MAXPREPS_TIMEOUT_MS | No | Per-request timeout | 20000 |
| MAXPREPS_USER_AGENT | No | Override the User-Agent sent to MaxPreps | built-in |
| MAXPREPS_MIN_INTERVAL_MS | No | Minimum spacing between requests | 250 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| maxpreps_searchA | Find a high school or an athlete by name. This is the entry point for every other tool: it returns each school's canonicalUrl (the site path the team tools need) and each athlete's careerCanonicalUrl. Search is exact-ish — prefer the plain school name ("myers park"), because appending qualifiers like "high" or "high school" usually returns nothing. Read-only. |
| maxpreps_get_schoolA | School profile: identifiers, location, state athletic association, partner flags, plus nearby schools and recent articles/videos. Take the path from maxpreps_search. Read-only. |
| maxpreps_list_teamsA | Every team path a school publishes, with sport, gender and level. Call this before any team tool — the sport path segments are not guessable (the default gender varies by sport, so girls golf is "golf/girls" while boys golf is "golf/spring", and field hockey has no gender segment at all). Passing a team path instead of a school path returns that team’s seasons. Read-only. |
| maxpreps_get_teamA | Team overview for one season: sport/level/season identifiers, the win-loss record and points for/against, conference standing, rankings, and the full list of seasons this team has on MaxPreps (roughly 20 years). Use it to confirm a record without summing a schedule. Read-only. |
| maxpreps_get_scheduleA | Every game for a team season, with the result and both scores. Scores are oriented team-vs-opponent ( |
| maxpreps_get_rosterA | Players on a team for one season: jersey, name, class year, positions, height and weight. Soft-deleted entries (duplicates and departed players the site hides) are excluded by default — a roster payload often carries substantially more rows than the page shows. Height and weight are null when the school did not publish them. Read-only. |
| maxpreps_get_stat_leadersA | Statistical leaders for a team season — each entry names the athlete, the stat, its value and the athlete's career URL. Also returns the qualifying minimums and the stat refresh time. Coverage varies by sport and by how diligently the school reports; an empty result is normal, not an error. Read-only. |
| maxpreps_get_athleteA | One athlete’s career page: season history, sports played, and available data. Pass the |
| maxpreps_get_rankingsA | Ranked leaderboard of teams for a sport — nationally, or within one state. Each entry carries the rank, rating, overall record, movement, and a |
| maxpreps_get_team_rankingsA | Where a single team sits in each ranking MaxPreps publishes for it — typically national, state, state division/class, and metro area — along with the teams ranked immediately around it. Use this for "how good is this team"; use maxpreps_get_rankings to browse a whole leaderboard. Read-only. |
| maxpreps_get_standingsA | The standings table a team sits in — every team in the conference with its conference and overall records and placement, not just this team's own line (maxpreps_get_team gives that). Also returns the ranked statistical leaders MaxPreps highlights for the season. Read-only. |
| maxpreps_list_stat_categoriesA | Which statistical leaderboards exist for a sport, with the path to each one plus the national and in-scope averages and the games-played minimum. Call this before maxpreps_get_stat_leaderboard — the leaf path is not derivable from the stat name (Total TDs lives at |
| maxpreps_get_stat_leaderboardA | The ranked athletes for one statistical category across a state or nationally — up to 200 per board, each with their full stat line, school, and a |
| maxpreps_healthcheckA | Verify MaxPreps is reachable and that the site build id — which every data route embeds and which changes on each deploy — resolves. Also probes a real data route, so a pass means tools will work. Reports a failure rather than throwing. No credentials are required by this server. Read-only. |
| maxpreps_get_pageA | Escape hatch: return the raw server-rendered data for any public MaxPreps page, undecoded. Use when a dedicated tool does not cover what you need (playoff brackets, conference standings, article listings). Note that positional payloads — team rosters and schedules — arrive as bare arrays here with no field names; use maxpreps_get_roster / maxpreps_get_schedule for those. Roster rows (athleteData) are always projected to public roster fields (name, jersey, positions, class, height, weight). Read-only. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 15 tools
Each tool targets a distinct resource or level of granularity: school, team, schedule, roster, athlete, standings, rankings, and stat leaderboards. Near neighbors are explicitly differentiated in the descriptions, such as get_standings vs get_team, get_rankings vs get_team_rankings, and get_stat_leaders vs get_stat_leaderboard. No two tools require semantic guessing.
The maxpreps_ prefix with a get_ or list_ verb is applied consistently across almost all tools, making the pattern predictable. Minor deviations are maxpreps_search and maxpreps_healthcheck, which do not follow the verb_noun shape, and the subtle singular/plural pair stat_leaders vs stat_leaderboard.
Fifteen tools is at the high end of the ideal range, but each one maps to a distinct data surface, including an operational healthcheck and an explicit escape hatch. The granularity is justified by MaxPreps' broad read-only domain rather than bloat.
The set covers core MaxPreps workflows: search, school profile, team discovery, schedule, roster, standings, stats, rankings, and athlete career pages. Minor gaps like playoff brackets, arbitrary conference standings, and article listings are left to the raw get_page escape hatch, so agents can work around them.