# Static Radio

> What's on Static Radio's live stations now and next, with show links and listen links. Read-only.

- name: app.staticradio/static-radio
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 80/100 flags: no-repository
- quality: 94/100 (new)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/app.staticradio%2Fstatic-radio
- tools: https://api.protogrid.dev/v1/servers/app.staticradio%2Fstatic-radio/tools

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

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "static-radio": {
      "type": "http",
      "url": "https://staticradio.app/mcp"
    }
  }
}
```


## Trust

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

## Quality 94/100 (new)

### 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: 100 (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`: 5 of 5 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 912 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump
- pass `tools.hidden_text`: no hidden text in tool names, descriptions, schemas or annotations

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

- n/a `stability.changes`, `stability.rug_pull`, `stability.new_links`: tool history recorded for 2 of the 7 days needed

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

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

- tools: 5, about 912 tokens to load them all
- tool set hash: 68ba4844ad0a30c19499f3dc06744bb8
- badge: [![protogrid quality](https://protogrid.dev/badge/app.staticradio/static-radio.svg)](https://protogrid.dev/servers/app.staticradio/static-radio)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

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

## Packages

_none_

## Tools (5)

- `find_on_now`: Looks across every station for what's on now and in the next few hours, matching the words of a topic against show names and episode titles (simple word matching). Leave the topic out for a guide to everything on now and coming up soon. Good for 'is anything about birds on?' or 'when's the next PBS News Hour?'.
- `list_stations`: Lists Static's stations in dial order: id, name, a one-line description, how many people are listening right now (when known) and a link that tunes in live. Start here to find a station's name or id.
- `show_details`: Details for one episode, by its episodeId (from the other tools), or for a show, by name: the show and episode titles, the episode's web page, the show's support link when there is one, and which station airs it and when in the next 24 hours, according to today's schedule.
- `whats_next`: The next items coming up on one station, in airing order, with start times (UTC and US Central), shows, episode titles and links. Community bulletins in the lineup are labeled as community bulletins. To hear any of them, tune in to the station live when it airs; there is no way to play an episode on demand.
- `whats_on`: What's playing right now on one station, or on every station if none is given: the show and episode title, how far in it is and how long is left, the episode's web page, the show's support link when there is one, cover art, and the station's listen link (which tunes in live; listeners don't pick an episode). Community bulletins between episodes are reported as community bulletins.
