# myersparkathleticzone-mcp [Health: Active]

**Category:** 💬 Communication  
**Repository:** https://github.com/chrischall/myersparkathleticzone-mcp  
**GitHub Stars:** 0  
**npm Downloads (last month):** 438  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/myersparkathleticzone-mcp

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

## Tools
Capabilities this server exposes over MCP:

- **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

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "myersparkathleticzone-mcp": {
    "command": "npx",
    "args": ["-y","myersparkathleticzone-mcp"]
  }
}
```

## Documentation & README

# myersparkathleticzone-mcp

MCP server for [Myers Park High School](https://www.myersparkathleticzone.com) (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

```bash
npx myersparkathleticzone-mcp
```

Or in an MCP host's config:

```json
{
  "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. `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

```bash
npm install
npm run build
npm test
```

## License

MIT

