io.github.chrischall/myersparkathleticzone-mcp

Official registry Other

Myers Park HS athletics — schedules, teams, rosters, coaches, news and broadcast links

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

NPM package myersparkathleticzone-mcp
Claude Code
claude mcp add myersparkathleticzone-mcp -e 'MPAZ_SITE_URL=<MPAZ_SITE_URL>' -e 'MPAZ_SCHOOL_ID=<MPAZ_SCHOOL_ID>' -- npx -y myersparkathleticzone-mcp@1.1.11
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "myersparkathleticzone-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "myersparkathleticzone-mcp@1.1.11"
            ],
            "env": {
                "MPAZ_SITE_URL": "<MPAZ_SITE_URL>",
                "MPAZ_SCHOOL_ID": "<MPAZ_SCHOOL_ID>"
            }
        }
    }
}

Environment variables

  • MPAZ_SITE_URL Optional. Another Athletic Zone school site; defaults to www.myersparkathleticzone.com.
  • MPAZ_SCHOOL_ID Optional. GoFan/PlayOn school id used to tell your teams from opponents; defaults to 10150.

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. myersparkathleticzone-mcp
  2. Install
  3. Tools
  4. Configuration
  5. Known limits
  6. How it works
  7. Development
  8. License

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

ToolWhat it does
mpaz_list_teamsThe school's teams for a year, with the ids the other tools need
mpaz_resolve_teamLoose name ("varsity football") → team id
mpaz_get_scheduleUpcoming events across every team
mpaz_get_team_scheduleOne team's full season
mpaz_get_scoresOne team's results, with win/loss/tie from the school's point of view
mpaz_get_rosterA team's coaching staff and players
mpaz_list_newsRecent news posts
mpaz_list_videosGames with an NFHS Network broadcast link
mpaz_list_photo_galleriesPublished photo galleries
mpaz_healthcheckVerify 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:

VariableDefaultPurpose
MPAZ_SITE_URLhttps://www.myersparkathleticzone.comPoint at another Athletic Zone school site
MPAZ_SCHOOL_ID10150GoFan/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. result is 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 /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.
  • 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_schedule for 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

Frequently asked questions

What is io.github.chrischall/myersparkathleticzone-mcp?

Myers Park HS athletics — schedules, teams, rosters, coaches, news and broadcast links

How do I install io.github.chrischall/myersparkathleticzone-mcp?

It runs on your machine. In Claude Code: claude mcp add myersparkathleticzone-mcp -e 'MPAZ_SITE_URL=<MPAZ_SITE_URL>' -e 'MPAZ_SCHOOL_ID=<MPAZ_SCHOOL_ID>' -- npx -y myersparkathleticzone-mcp@1.1.11. For other clients, paste the JSON configuration from this page into their MCP settings.

Does io.github.chrischall/myersparkathleticzone-mcp need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is io.github.chrischall/myersparkathleticzone-mcp open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains io.github.chrischall/myersparkathleticzone-mcp?

It is published by chrischall. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.