Listed from the MCP registry; nobody on Odel publishes it.
Myers Park HS athletics — schedules, teams, rosters, coaches, news and broadcast links
Runs on your machine from its package; the steps are below.
At most: only reads or looks up information.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Run
npx -y myersparkathleticzone-mcp
MCP client config
{
"mcpServers": {
"myersparkathleticzone": {
"command": "npx",
"args": [
"-y",
"myersparkathleticzone-mcp"
]
}
}
}MCP server for Myers Park High School (Mustangs) athletics — schedules, teams, rosters, coaches, news and game broadcast links.
No credentials. Everything this server reads is public. There is no login, no API key, no browser extension and nothing to configure before it works.
Developed and maintained by AI. Use at your own discretion.
npx myersparkathleticzone-mcp
Or in an MCP host's config:
{
"mcpServers": {
"myersparkathleticzone": {
"command": "npx",
"args": ["-y", "myersparkathleticzone-mcp"]
}
}
}
| Tool | What it does |
|---|---|
mpaz_list_teams | The school's teams for a year, with the ids the other tools need |
mpaz_resolve_team | Loose name ("varsity football") → team id |
mpaz_get_schedule | Upcoming events across every team |
mpaz_get_team_schedule | One team's full season |
mpaz_get_scores | One team's results, with win/loss/tie from the school's point of view |
mpaz_get_roster | A team's coaching staff and players |
mpaz_list_news | Recent news posts |
mpaz_list_videos | Games with an NFHS Network broadcast link |
mpaz_list_photo_galleries | Published photo galleries |
mpaz_healthcheck | Verify the site is reachable and parseable |
Every tool is read-only; the server performs no writes.
Team-scoped tools need a numeric team id and a sport slug, and team ids differ per school year. Resolve them with mpaz_resolve_team rather than guessing — a stale id makes the site serve a Team … Not Found page (with HTTP 200), which the client detects and reports.
Both optional:
| Variable | Default | Purpose |
|---|---|---|
MPAZ_SITE_URL | https://www.myersparkathleticzone.com | Point at another Athletic Zone school site |
MPAZ_SCHOOL_ID | 10150 | GoFan/PlayOn school id, used to tell your teams from opponents |
The site is one tenant of the PlayOn Sports / SportsEngine "Athletic Zone" platform, so setting both points the server at another school on it. Verified against Ballantyne Ridge (https://www.ballantyneridgeathleticzone.com, school id 21785) as well as Myers Park.
Hosted deployments are Myers Park only. The hosted (mint / claude.ai connector) build runs behind a static egress allow list that permits just www.myersparkathleticzone.com, so setting MPAZ_SITE_URL to another school there makes every call fail with "Could not reach". Pointing at another school works only with a local stdio install (npm / .mcpb).
These are properties of the upstream site, not bugs, and the tools say so in their output rather than guessing:
3-null, null-4) are common. result is derived only when both sides are present./schedule is empty for past years even though the per-team pages still serve them, so mpaz_list_teams falls back to the sport pages' cross-year team selector. That selector is keyed by team, not by sport slug, so it can only be reached through a team that is in season now — meaning off-season sports are unreachable for past years, and which ones are reachable changes through the year. The result carries a coverage note listing what was searched; an empty list there is not evidence the school fielded no teams.mpaz_get_team_schedule for that.0.The site is a fully server-rendered Next.js app whose own /api/* routes are server-only and reject outside requests. The data ships inside the page's React Server Components flight payload, so this server requests pages with the RSC: 1 header and harvests the entities embedded in them.
docs/ATHLETIC-ZONE-API.md pins the captured request/response shapes, the routes, the failure modes, and what was ruled out.
npm install
npm run build
npm test
MIT