myersparkathleticzone-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@myersparkathleticzone-mcp What's the varsity football schedule?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.
Install
npx myersparkathleticzone-mcpOr in an MCP host's config:
{
"mcpServers": {
"myersparkathleticzone": {
"command": "npx",
"args": ["-y", "myersparkathleticzone-mcp"]
}
}
}Related MCP server: SportRadar MCP Server
Tools
Tool | What it does |
| The school's teams for a year, with the ids the other tools need |
| Loose name ("varsity football") → team id |
| Upcoming events across every team |
| One team's full season |
| One team's results, with win/loss/tie from the school's point of view |
| A team's coaching staff and players |
| Recent news posts |
| Games with an NFHS Network broadcast link |
| Published photo galleries |
| 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.
Configuration
Both optional:
Variable | Default | Purpose |
|
| Point at another Athletic Zone school site |
|
| 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).
Known limits
These are properties of the upstream site, not bugs, and the tools say so in their output rather than guessing:
A missing score is unknown, never zero. Each side's score is stored independently upstream, so half-entered games (
3-null,null-4) are common.resultis derived only when both sides are present.Myers Park records few scores. Every completed game of theirs observed so far has null scores, so a season may return fixtures with no results at all — that is the school's data entry, not a fault.
Past-season coverage is partial and calendar-dependent. Myers Park's
/scheduleis empty for past years even though the per-team pages still serve them, sompaz_list_teamsfalls 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 acoveragenote listing what was searched; an empty list there is not evidence the school fielded no teams.Most teams publish coaches but not players, so an empty roster is normal.
The all-school schedule is a window of upcoming events, not a full season — use
mpaz_get_team_schedulefor that.Broadcast links are NFHS Network links, not hosted clips — durations are always
0.
How it works
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.
Development
npm install
npm run build
npm testLicense
MIT
Available Tools
10 toolsmpaz_get_rosterGet a team's roster and coachesARead-onlyIdempotent
Coaching staff and players for one team. Most teams on this site publish coaches but NOT players, so an empty players list is normal, not an error. Requires the sport slug and team id. Read-only.
Inputs: teamId (required), sportSlug (required), year.
mpaz_get_scheduleGet the all-school scheduleARead-onlyIdempotent
Upcoming events across every team, oldest first. Note this page returns a WINDOW of upcoming events (10 observed), not a whole season — for a team's full season use mpaz_get_team_schedule. Each event's startLocal is the local time at the school (in timeZone, e.g. America/New_York) — quote it as-is; start is the same moment in true UTC. Read-only.
Inputs: view, year.
mpaz_get_scoresGet one team's resultsARead-onlyIdempotent
Completed games with results for a single team: homeScore/awayScore plus teamScore/opponentScore/result from this school's point of view. Each side's score is stored independently upstream, so a half-entered game yields a null score and result: null — a missing score is unknown, never zero. Prefer mpaz_get_team_schedule for upcoming fixtures. Each event's startLocal is the local time at the school (in timeZone, e.g. America/New_York) — quote it as-is; start is the same moment in true UTC. Read-only.
Inputs: teamId (required), sportSlug (required), year.
mpaz_get_team_scheduleGet one team's full scheduleARead-onlyIdempotent
A single team's complete season, oldest first. Requires BOTH the sport slug and the team id — resolve them with mpaz_list_teams or mpaz_resolve_team first. Each event's startLocal is the local time at the school (in timeZone, e.g. America/New_York) — quote it as-is; start is the same moment in true UTC. Read-only.
Inputs: teamId (required), sportSlug (required), year.
mpaz_healthcheckCheck the site is reachableARead-onlyIdempotent
Verify the athletics site is reachable and still serving a parseable RSC payload. Reports the configured site and school id. Read-only.
Inputs: no named parameters.
mpaz_list_newsList news postsBRead-onlyIdempotent
Recent news posts from the athletics site homepage, newest first. Read-only.
Inputs: view.
mpaz_list_photo_galleriesList photo galleriesARead-onlyIdempotent
Photo galleries published on the site. Images sit on a public CDN and can be fetched directly, no auth. Read-only.
Inputs: no named parameters.
mpaz_list_teamsList the school's teamsARead-onlyIdempotent
List this school's athletic teams for a school year, with the team id needed by the schedule, roster and scores tools. Team ids differ per school year — an id from one season fails against another. A past year is answered from the sport pages when the schedule has nothing, which reaches only sports currently in season; the result carries a coverage note saying so, and an empty list there does NOT mean the school fielded no teams. Read-only.
Inputs: year.
mpaz_list_videosList game broadcast linksARead-onlyIdempotent
Games with a broadcast link. These are NFHS Network links rather than hosted clips, so videoLengthSeconds is 0 on every entry and title is the team name — that is expected, not missing data. Read-only.
Inputs: no named parameters.
mpaz_resolve_teamResolve a team name to its idARead-onlyIdempotent
Find a team id from a loose name like "varsity football", "girls JV volleyball" or just "field hockey". Use this before mpaz_get_team_schedule / mpaz_get_roster / mpaz_get_scores rather than guessing an id. Returns every candidate when the query is ambiguous. Read-only.
Inputs: query (required), year.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 10 tools
Each tool targets a fairly distinct resource (schedule, scores, roster, teams, news, galleries, videos, healthcheck), and descriptions explicitly differentiate the closest pair (mpaz_get_schedule as a cross-team window vs mpaz_get_team_schedule as a full season). list_teams vs resolve_team and get_scores vs get_team_schedule overlap slightly at a glance but the descriptions steer selection well.
All tools use the same mpaz_ prefix and snake_case with a verb-first pattern (get_schedule, list_teams, resolve_team). The only deviation is mpaz_healthcheck, which is a noun-only diagnostic without a verb, a minor inconsistency in an otherwise predictable scheme.
Ten tools is a well-scoped surface for a single-school athletics site: one tool per content type (teams, schedules, scores, roster, news, galleries, videos) plus two helpers for disambiguation and diagnostics. No tool looks redundant or bolted on.
Coverage of the read-only domain is broad, with helpers (list_teams, resolve_team, healthcheck) that unblock the id-dependent tools. Minor gaps exist: no detail tools for a single news post or a single photo gallery/video, so agents must rely on list payloads for those resources.
Maintenance
Related MCP Connectors
The official Planning Center MCP server for interacting with your ministry's data.
MCP server for Zooza — class scheduling, attendance, and booking for activity businesses.
The official MCP Server for the Mux API
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP server for NBA live data and stats, providing read-only tools to query live scores, box scores, player info, standings, and more from NBA.com.1516 npm1MIT
- FlicenseNot gradedqualityDmaintenanceMCP server providing tools to query live scores, schedules, standings, and game stats from the SportRadar API for multiple sports including NFL, NBA, NHL, NCAAMB, soccer, and tennis.-

jk-mcp-ecnlofficial
AlicenseAqualityCmaintenanceAn MCP server for ECNL and ECRL youth soccer, providing schedules, standings, and RPI for both boys and girls.121MIT- AlicenseNot gradedqualityBmaintenanceGet live scores, schedules, standings, team and player data for NFL, NBA, MLB, NHL, soccer, and more via MCP.203 npm2Apache 2.0