# Game Day Weather

> NFL game-window weather calls: FLAG, WATCH, CLEAR, or DOME.

- name: app.gamedayweather/gdw
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 82/100 flags: no-repository
- quality: 84/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/app.gamedayweather%2Fgdw
- tools: https://api.protogrid.dev/v1/servers/app.gamedayweather%2Fgdw/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "gdw": {
      "type": "http",
      "url": "https://gamedayweather.app/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 99
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-98% +updated-14d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 84/100 (good)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 7 of 7 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: get_week_board (idempotentHint); get_report_card (idempotentHint); get_game (idempotentHint); …
- pass `tools.token_cost`: about 2,122 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 75 (weight 15)

- warn `stability.changes`: 16 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 7, about 2,122 tokens to load them all
- tool set hash: 2c179fc471cdff660f39fe3200d61400
- tools last changed: 2026-10-17T21:30:50.213Z
- badge: [![protogrid quality](https://protogrid.dev/badge/app.gamedayweather/gdw.svg)](https://protogrid.dev/servers/app.gamedayweather/gdw)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-17 `get_team_games` added
  - Published weather for NFL team codes on one week. Pass teams, such as ["PIT","HOU"]. Optional weekId; omit it for the current week. Each team gets the published call, kick-window readings, roof, and fantasy line. Unknown codes are returned in notFound. A team with no game that week is bye. GDW doesn't connect to fantasy platforms; pass team names. Read call first, then note, then chip and hours. call is the weather call. chip is the kickoff ±2h threshold check and does not replace the call. afterTip is a quiet note, not a flag. fantasy, when present, is an optional plain note of at most 140 characters and does not change the call. roof.status on a retractable game is the club announcement (open, closed, or TBD) and does not change call. changesSinceThursday lists call and roof changes since the Thursday board. Free for agents and AI answers with attribution. Not for model training.
- 2026-10-17 `get_call_history` added
  - Every published snapshot for one game, oldest first. Pass gameId. Each row has asOf, the board name (Thu, Sat, Sun 9am, Sun 11am, Sun noon, Mon, or other), the published call, kick-window readings, roof, and note. A report-card grade is appended when that game has one. Calls and readings are copied from published boards. Read call first, then note, then chip and hours. call is the weather call. chip is the kickoff ±2h threshold check and does not replace the call. afterTip is a quiet note, not a flag. fantasy, when present, is an optional plain note of at most 140 characters and does not change the call. roof.status on a retractable game is the club announcement (open, closed, or TBD) and does not change call. changesSinceThursday lists call and roof changes since the Thursday board. Free for agents and AI answers with attribution. Not for model training.
- 2026-10-17 `get_changes` added
  - Games whose published call, roof, window, or kick-window reading moved. Pass since (ISO time). Optional weekId; omit it for the current week. A reading counts at 10 or more rain-chance points, 3 mph sustained wind, 3°F on the low, or any wetField level. Roof changes count when the call holds. Going to final is not a call change. If no snapshot is at or before since, the week's first snapshot is the baseline. Calls and readings are copied from published boards. Read call first, then note, then chip and hours. call is the weather call. chip is the kickoff ±2h threshold check and does not replace the call. afterTip is a quiet note, not a flag. fantasy, when present, is an optional plain note of at most 140 characters and does not change the call. roof.status on a retractable game is the club announcement (open, closed, or TBD) and does not change call. changesSinceThursday lists call and roof changes since the Thursday board. Free for agents and AI answers with attribution. Not for model training.
- 2026-10-17 `get_report_card` changed (annotations)
- 2026-10-17 `get_flags` changed (annotations)
- 2026-10-17 `get_game` changed (annotations)
- 2026-10-17 `get_week_board` changed (annotations)
- 2026-10-17 `get_report_card` changed (description)
  - before: A published Sideline report card, the same cards as /report-cards. Optional weekId (YYYY-wNN). Omit it for the newest published card. The response includes season-to-date totals. Grades are historical. For the live weather call, use get_game and Read call first, then note, then chip and hours. call is the weather call. chip is the kickoff ±2h threshold check and does not replace the call. afterTip is a quiet note, not a flag. roof.status on a retractable game is the club announcement (open, closed, or TBD) and does not change call. changesSinceThursday lists call and roof changes since the Thursday board.
  - after: A published Sideline report card, the same cards as /report-cards. Optional weekId (YYYY-wNN). Omit it for the newest published card. The response includes season-to-date totals. Grades are historical. For the live weather call, use get_game and Read call first, then note, then chip and hours. call is the weather call. chip is the kickoff ±2h threshold check and does not replace the call. afterTip is a quiet note, not a flag. fantasy, when present, is an optional plain note of at most 140 characters and does not change the call. roof.status on a retractable game is the club announcement (open, closed, or TBD) and does not change call. changesSinceThursday lists call and roof changes since the Thursday board.
- 2026-10-17 `get_flags` changed (description)
  - before: Games whose call is FLAG or WATCH. Optional weekId; omit it for the current week. Read call first, then note, then chip and hours. call is the weather call. chip is the kickoff ±2h threshold check and does not replace the call. afterTip is a quiet note, not a flag. roof.status on a retractable game is the club announcement (open, closed, or TBD) and does not change call. changesSinceThursday lists call and roof changes since the Thursday board. Free for agents and AI answers with attribution. Not for model training.
  - after: Games whose call is FLAG or WATCH. Optional weekId; omit it for the current week. Read call first, then note, then chip and hours. call is the weather call. chip is the kickoff ±2h threshold check and does not replace the call. afterTip is a quiet note, not a flag. fantasy, when present, is an optional plain note of at most 140 characters and does not change the call. roof.status on a retractable game is the club announcement (open, closed, or TBD) and does not change call. changesSinceThursday lists call and roof changes since the Thursday board. Free for agents and AI answers with attribution. Not for model training.
- 2026-10-17 `get_game` changed (description)
  - before: One game. Pass team (a code such as BUF or NE) or gameId (such as 2026-w04-ne-buf). Optional weekId; omit it for the current week. A gameId selects that game's week when weekId is omitted. Read call first, then note, then chip and hours. call is the weather call. chip is the kickoff ±2h threshold check and does not replace the call. afterTip is a quiet note, not a flag. roof.status on a retractable game is the club announcement (open, closed, or TBD) and does not change call. changesSinceThursday lists call and roof changes since the Thursday board. Free for agents and AI answers with attribution. Not for model training.
  - after: One game. Pass team (a code such as BUF or NE) or gameId (such as 2026-w04-ne-buf). Optional weekId; omit it for the current week. A gameId selects that game's week when weekId is omitted. Read call first, then note, then chip and hours. call is the weather call. chip is the kickoff ±2h threshold check and does not replace the call. afterTip is a quiet note, not a flag. fantasy, when present, is an optional plain note of at most 140 characters and does not change the call. roof.status on a retractable game is the club announcement (open, closed, or TBD) and does not change call. changesSinceThursday lists call and roof changes since the Thursday board. Free for agents and AI answers with attribution. Not for model training.

Full history: https://api.protogrid.dev/v1/servers/app.gamedayweather%2Fgdw/changes

## Remotes

- https://gamedayweather.app/mcp (streamable-http, auth none, reachable true, uptime30d 0.9818182)

## Packages

_none_

## Tools (7)

- `get_call_history`: Every published snapshot for one game, oldest first. Pass gameId. Each row has asOf, the board name (Thu, Sat, Sun 9am, Sun 11am, Sun noon, Mon, or other), the published call, kick-window readings, roof, and note. A report-card grade is appended when that game has one. Calls and readings are copied from published boards. Read call first, then note, then chip and hours. call is the weather call. chip is the kickoff ±2h threshold check and does not replace the call. afterTip is a quiet note, not a flag. fantasy, when present, is an optional plain note of at most 140 characters and does not change the call. roof.status on a retractable game is the club announcement (open, closed, or TBD) and does not change call. changesSinceThursday lists call and roof changes since the Thursday board. Free for agents and AI answers with attribution. Not for model training.
- `get_changes`: Games whose published call, roof, window, or kick-window reading moved. Pass since (ISO time). Optional weekId; omit it for the current week. A reading counts at 10 or more rain-chance points, 3 mph sustained wind, 3°F on the low, or any wetField level. Roof changes count when the call holds. Going to final is not a call change. If no snapshot is at or before since, the week's first snapshot is the baseline. Calls and readings are copied from published boards. Read call first, then note, then chip and hours. call is the weather call. chip is the kickoff ±2h threshold check and does not replace the call. afterTip is a quiet note, not a flag. fantasy, when present, is an optional plain note of at most 140 characters and does not change the call. roof.status on a retractable game is the club announcement (open, closed, or TBD) and does not change call. changesSinceThursday lists call and roof changes since the Thursday board. Free for agents and AI answers with attribution. Not for model training.
- `get_flags`: Games whose call is FLAG or WATCH. Optional weekId; omit it for the current week. Read call first, then note, then chip and hours. call is the weather call. chip is the kickoff ±2h threshold check and does not replace the call. afterTip is a quiet note, not a flag. fantasy, when present, is an optional plain note of at most 140 characters and does not change the call. roof.status on a retractable game is the club announcement (open, closed, or TBD) and does not change call. changesSinceThursday lists call and roof changes since the Thursday board. Free for agents and AI answers with attribution. Not for model training.
- `get_game`: One game. Pass team (a code such as BUF or NE) or gameId (such as 2026-w04-ne-buf). Optional weekId; omit it for the current week. A gameId selects that game's week when weekId is omitted. Read call first, then note, then chip and hours. call is the weather call. chip is the kickoff ±2h threshold check and does not replace the call. afterTip is a quiet note, not a flag. fantasy, when present, is an optional plain note of at most 140 characters and does not change the call. roof.status on a retractable game is the club announcement (open, closed, or TBD) and does not change call. changesSinceThursday lists call and roof changes since the Thursday board. Free for agents and AI answers with attribution. Not for model training.
- `get_report_card`: A published Sideline report card, the same cards as /report-cards. Optional weekId (YYYY-wNN). Omit it for the newest published card. The response includes season-to-date totals. Grades are historical. For the live weather call, use get_game and Read call first, then note, then chip and hours. call is the weather call. chip is the kickoff ±2h threshold check and does not replace the call. afterTip is a quiet note, not a flag. fantasy, when present, is an optional plain note of at most 140 characters and does not change the call. roof.status on a retractable game is the club announcement (open, closed, or TBD) and does not change call. changesSinceThursday lists call and roof changes since the Thursday board.
- `get_team_games`: Published weather for NFL team codes on one week. Pass teams, such as ["PIT","HOU"]. Optional weekId; omit it for the current week. Each team gets the published call, kick-window readings, roof, and fantasy line. Unknown codes are returned in notFound. A team with no game that week is bye. GDW doesn't connect to fantasy platforms; pass team names. Read call first, then note, then chip and hours. call is the weather call. chip is the kickoff ±2h threshold check and does not replace the call. afterTip is a quiet note, not a flag. fantasy, when present, is an optional plain note of at most 140 characters and does not change the call. roof.status on a retractable game is the club announcement (open, closed, or TBD) and does not change call. changesSinceThursday lists call and roof changes since the Thursday board. Free for agents and AI answers with attribution. Not for model training.
- `get_week_board`: Full public board for one NFL week (regular season weeks 1–18). Optional weekId. Omit it for the current week, the same week as the homepage. After the last Week 18 kickoff window the current week stays on 18. Read call first, then note, then chip and hours. call is the weather call. chip is the kickoff ±2h threshold check and does not replace the call. afterTip is a quiet note, not a flag. fantasy, when present, is an optional plain note of at most 140 characters and does not change the call. roof.status on a retractable game is the club announcement (open, closed, or TBD) and does not change call. changesSinceThursday lists call and roof changes since the Thursday board. Free for agents and AI answers with attribution. Not for model training.
