MCP server for MaxPreps — high school team schedules, scores, records, rosters, stat leaders and athlete careers. Reads the site's public server-rendered data; no account or API key.
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Documented (README)
claude mcp add maxpreps-mcp -- npx -y maxpreps-mcp{
"mcpServers": {
"maxpreps-mcp": {
"command": "npx",
"args": ["-y", "maxpreps-mcp"]
}
}
}Resumen de MCP Servers
# maxpreps-mcp
MCP server for [MaxPreps](https://www.maxpreps.com) — read any US high school's
team schedules, scores, records, rosters, stat leaders and athlete careers.
> Developed and maintained by AI (Claude Code). Use at your own discretion.
**No account, no API key, no browser extension.** MaxPreps serves its pages with
Next.js, and every public page has a companion JSON route carrying the same data
the page was rendered from. This server reads those routes directly over plain
HTTPS, so it works anywhere Node runs.
## Install
```bash
npx maxpreps-mcp
```
Or add it to an MCP host:
```json
{
"mcpServers": {
"maxpreps": {
"command": "npx",
"args": ["-y", "maxpreps-mcp"]
}
}
}
```
## Tools
All fifteen are read-only; this server has no write path.
| Tool | What it does |
| --- | --- |
| `maxpreps_search` | Find a school or athlete by name — **start here** |
| `maxpreps_list_teams` | Every team path a school publishes, with sport/gender/level |
| `maxpreps_get_school` | School profile, identifiers, association, nearby schools |
| `maxpreps_get_team` | Season record, standings, rankings, and available seasons |
| `maxpreps_get_schedule` | Games with results and scores, plus a computed record |
| `maxpreps_get_roster` | Players with jersey, class, positions, height, weight |
| `maxpreps_get_stat_leaders` | Statistical leaders with qualifying minimums |
| `maxpreps_get_rankings` | Ranked leaderboard for a sport, national or by state |
| `maxpreps_get_team_rankings` | Where one team ranks nationally, by state, division, metro |
| `maxpreps_get_standings` | Conference table with every team's record |
| `maxpreps_list_stat_categories` | Which stat leaderboards exist, and their paths |
| `maxpreps_get_stat_leaderboard` | Ranked athletes for one stat, statewide or national |
| `maxpreps_get_athlete` | One athlete's career page |
| `maxpreps_healthcheck` | Connectivity plus site build-id resolution |
| `maxpreps_get_page` | Raw page data for anything the above doesn't cover |
### Typical flow
Paths are not guessable, so resolve before you fetch:
1. `maxpreps_search "myers park"` → the school's `canonicalUrl`
2. `maxpreps_list_teams` on that path → real team paths
3. `maxpreps_get_schedule` / `_roster` / `_stat_leaders` / `_standings` on a team path
To go the other way — discovering teams and athletes rather than looking one up —
`maxpreps_get_rankings` and `maxpreps_get_stat_leaderboard` return ranked lists whose entries
each carry a `teamPath` you can feed straight back in. Stat leaderboard paths are not
guessable either, so list the categories first.
Prior seasons are a `season` argument (`"25-26"`); roughly 20 years are available.
## Configuration
Everything is optional — the server works with no configuration at all.
| Variable | Default | Purpose |
| --- | --- | --- |
| `MAXPREPS_USER_AGENT` | built-in | Override the User-Agent sent to MaxPreps |
| `MAXPREPS_CACHE_TTL` | `300` | Seconds to reuse a fetched page; `0` disables |
| `MAXPREPS_MIN_INTERVAL_MS` | `250` | Minimum spacing between requests |
| `MAXPREPS_TIMEOUT_MS` | `20000` | Per-request timeout |
## Things worth knowing
These are properties of MaxPreps' data, and each one has bitten a naive reading:
- **Scores are winner-first in the raw data.** MaxPreps renders a loss as
`"L 20-13"` even when the team scored 13. The `teamScore` / `opponentScore`
fields this server returns are always oriented team-vs-opponent.
- **Rosters and schedules carry hidden rows.** A meaningful minority are flagged
deleted and the site does not render them — the 2025-26 Myers Park football
roster has 87 entries behind 63 visible players. They are excluded by default.
- **An out-of-season team is not a broken one.** Before opening day the current
season legitimately has an empty roster and no results; ask for a prior season.
- **Search is literal.** `"myers park"` finds the school; `"myers park high"`
finds nothing. Drop qualifiers before concluding a school is absent.
- **Statewide scoreboards aren't available.** `/<st>/<sport>/scores/` renders its
game list client-side from a route that has no server-rendered payload. Per-team
schedules are the supported way to get scores; `maxpreps_get_rankings` is the way
to see a whole state's teams at once.
## Shell-only alternative
The repo also ships a `maxpreps` skill (`skills/maxpreps/`) that reaches the same
data through `curl` + a small decoder, with no server to run. If you only ever use
Claude Code on one machine, the skill alone may be all you need; the MCP server is
what makes this reachable from claude.ai, a phone, or any other client.
## Development
```bash
npm install
npm run build
npm test
```
`docs/MAXPREPS-API.md` pins the captured request/response shapes, the positional
key maps, and how to re-derive them if MaxPreps changes its bundle.
## Etiquette
This reads an undocumented surface on someone else's site on behalf of one user.
Requests are spaced and responses cached by default. Please keep it that way.
## License
MIT
Lo que la gente pregunta sobre maxpreps-mcp
¿Qué es chrischall/maxpreps-mcp?
+
chrischall/maxpreps-mcp es mcp servers para el ecosistema de Claude AI. MCP server for MaxPreps — high school team schedules, scores, records, rosters, stat leaders and athlete careers. Reads the site's public server-rendered data; no account or API key. Tiene 0 estrellas en GitHub y su última actualización registrada es del 2026-09-10.
¿Cómo se instala maxpreps-mcp?
+
Puedes instalar maxpreps-mcp clonando el repositorio (https://github.com/chrischall/maxpreps-mcp) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.
¿Es seguro usar chrischall/maxpreps-mcp?
+
Nuestro agente de seguridad ha analizado chrischall/maxpreps-mcp y le ha asignado un Trust Score de 87/100 (tier: Trusted). Revisa el desglose completo de comprobaciones superadas y flags en esta página.
¿Quién mantiene chrischall/maxpreps-mcp?
+
chrischall/maxpreps-mcp es mantenido por chrischall. La última actividad registrada en GitHub es del 2026-09-10, con 0 issues abiertos.
¿Hay alternativas a maxpreps-mcp?
+
Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.
Despliega maxpreps-mcp en tu cloud
Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.
¿Mantienes este repo? Añade un badge a tu README
Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.
[](https://claudewave.com/repo/chrischall-maxpreps-mcp)<a href="https://claudewave.com/repo/chrischall-maxpreps-mcp"><img src="https://claudewave.com/api/badge/chrischall-maxpreps-mcp" alt="Featured on ClaudeWave: chrischall/maxpreps-mcp" width="320" height="64" /></a>Más MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
The fastest path to AI-powered full stack observability, even for lean teams.
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!