myersparkathleticzone-mcp
MCP server for Myers Park High School athletics, providing public access to schedules, teams, rosters, coaches, news, and game broadcast links.
README
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-mcp
Or in an MCP host's config:
{
"mcpServers": {
"myersparkathleticzone": {
"command": "npx",
"args": ["-y", "myersparkathleticzone-mcp"]
}
}
}
Tools
| 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.
Configuration
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.
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 test
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.