# ClimbCast

> Conditions, trip briefs, alerts, permits, roads, hourly, areas, accuracy for WA, OR, BC. No account.

- name: io.climbcast/climbcast
- version: 1.2.0
- connection class: R0 (autonomous)
- trust: 83/100 flags: no-repository
- quality: 95/100 (strong)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.climbcast%2Fclimbcast
- tools: https://api.protogrid.dev/v1/servers/io.climbcast%2Fclimbcast/tools

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

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "climbcast": {
      "type": "http",
      "url": "https://climbcast.io/mcp"
    }
  }
}
```


## Trust

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

## Quality 95/100 (strong)

### protocol: 100 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- pass `protocol.list_ttl`: tool list is cacheable (ttlMs 3600000)

### 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`: 9 of 9 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 2,536 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`: 36 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: 9, about 2,536 tokens to load them all
- tool set hash: 36f1634b4bfc58b4a1ae3dccd5b8e6b1
- tools last changed: 2026-10-13T02:12:52.505Z
- badge: [![protogrid quality](https://protogrid.dev/badge/io.climbcast/climbcast.svg)](https://protogrid.dev/servers/io.climbcast/climbcast)
- 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-13 `get_trip_brief` changed (outputSchema)
- 2026-10-13 `get_route_conditions` changed (outputSchema)
- 2026-10-13 `get_access_and_permits` changed (outputSchema)
- 2026-10-12 `search_objectives` changed (description, inputSchema, outputSchema)
  - before: Searches the public coverage catalog by name or alias, with optional region and activity filters. Coverage follows the current public scope. Region filters include WA, OR, and BC. Results list each objective's slug and route IDs with their activities, which the other tools take as inputs. Informational only.
  - after: Searches the public coverage catalog by name or alias, with optional region and activity filters. Coverage follows the current public scope. Region filters include WA, OR, and BC. Results list each objective's slug and route IDs with their activities, which the other tools take as inputs. An optional area input limits results to the objectives the coverage directory lists under that area. Query and area can be combined, and at least one of them is needed. A query that names an area or a reviewed place name lists that area's objectives, marked by matchedBy, after any objectives matched by name. Informational only.
- 2026-10-12 `list_areas` added
  - Lists the public coverage areas shown on the coverage directory, with each area's slug, name, state or province code, and visible activities. An area is a fixed geographic definition, not a distance from the caller. Its slug is the optional area input of search_objectives. Informational only.
- 2026-10-12 `get_trip_brief` changed (description, outputSchema)
  - before: Returns the signed-out forecast page sections for a route in one call, covering up to five days, or one day with the date input: forecast days, daylight, air quality, and agency alerts, each with source provenance and a freshness status. Informational only.
  - after: Returns the signed-out forecast page sections for a route in one call, covering up to five days, or one day with the date input: forecast days, daylight, air quality, and agency alerts, each with source provenance and a freshness status. Forecast days can carry the avalanche center, bulletin state and forecast link (danger ratings are not served), forecast uncertainty, the corn harvest window, and rock conditions where the forecast page shows them, and the document carries the route's permit entry and trailhead road access. Informational only.
- 2026-10-12 `get_route_conditions` changed (description, outputSchema)
  - before: Returns up to five days of public route conditions, anchored to the route high point, with catalog gain, source provenance, and timestamps. An optional activity input selects one of the route's activities listed by search_objectives. For what the whole trip looks like, get_trip_brief returns the forecast page sections in one call. Informational only.
  - after: Returns up to five days of public route conditions, anchored to the route high point, with catalog gain, source provenance, and timestamps. An optional activity input selects one of the route's activities listed by search_objectives. Days can carry the avalanche center, bulletin state and forecast link (danger ratings are not served), forecast uncertainty, the corn harvest window, and rock conditions where the forecast page shows them for the activity, and the document carries the route's permit entry and trailhead road access. With the markdown format, these sections appear in structuredContent only. For what the whole trip looks like, get_trip_brief returns the forecast page sections in one call. Informational only.
- 2026-10-12 `get_objective_conditions` changed (outputSchema)
- 2026-10-12 `get_hourly_conditions` added
  - Returns the two-hourly temperature, wind speed, and wind direction shown in the hourly view of the forecast page's weather by elevation grid, for one day in the free forecast window, with local times, ISO timestamps, the time zone, and the chosen elevation. Takes a date from the route's visible days and an optional elevation band of base, mid, or summit. Informational only.
- 2026-10-12 `get_forecast_accuracy` changed (outputSchema)

Full history: https://api.protogrid.dev/v1/servers/io.climbcast%2Fclimbcast/changes

## Remotes

- https://climbcast.io/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (9)

- `get_access_and_permits`: Returns the permit entry and road access shown on a route's forecast page for a covered objective: the permit status, fee, notes and official link, and the road conditions for the approach passes, with highway, temperature, restrictions, the road agency named and the time its data was fetched. Road data older than 30 minutes is marked. Informational only.
- `get_alerts`: Returns the NPS park alerts and National Weather Service fire weather alerts displayed for a covered objective, with source attribution and retrieval timestamps. ClimbCast does not carry current USDA Forest Service alerts or closures. Informational only.
- `get_forecast_accuracy`: Returns stored public regional forecast accuracy, including observed-station or model-proxy truth lineage, data sufficiency, and eligibility. Takes either a region_id or an objective slug, which resolves to the accuracy region of the NWAC zone the objective is bound to. Informational only.
- `get_hourly_conditions`: Returns the two-hourly temperature, wind speed, and wind direction shown in the hourly view of the forecast page's weather by elevation grid, for one day in the free forecast window, with local times, ISO timestamps, the time zone, and the chosen elevation. Takes a date from the route's visible days and an optional elevation band of base, mid, or summit. Informational only.
- `get_objective_conditions`: Returns public conditions for a covered objective: summit weather, the objective page's route list with grade, type, and round-trip distance, source provenance, and timestamps, in JSON or markdown. Covers up to five days. Daylight and air quality appear for the first day only, and get_trip_brief carries the per-day values the forecast page shows. Informational only.
- `get_route_conditions`: Returns up to five days of public route conditions, anchored to the route high point, with catalog gain, source provenance, and timestamps. An optional activity input selects one of the route's activities listed by search_objectives. Days can carry the avalanche center, bulletin state and forecast link (danger ratings are not served), forecast uncertainty, the corn harvest window, and rock conditions where the forecast page shows them for the activity, and the document carries the route's permit entry and trailhead road access. With the markdown format, these sections appear in structuredContent only. For what the whole trip looks like, get_trip_brief returns the forecast page sections in one call. Informational only.
- `get_trip_brief`: Returns the signed-out forecast page sections for a route in one call, covering up to five days, or one day with the date input: forecast days, daylight, air quality, and agency alerts, each with source provenance and a freshness status. Forecast days can carry the avalanche center, bulletin state and forecast link (danger ratings are not served), forecast uncertainty, the corn harvest window, and rock conditions where the forecast page shows them, and the document carries the route's permit entry and trailhead road access. Informational only.
- `list_areas`: Lists the public coverage areas shown on the coverage directory, with each area's slug, name, state or province code, and visible activities. An area is a fixed geographic definition, not a distance from the caller. Its slug is the optional area input of search_objectives. Informational only.
- `search_objectives`: Searches the public coverage catalog by name or alias, with optional region and activity filters. Coverage follows the current public scope. Region filters include WA, OR, and BC. Results list each objective's slug and route IDs with their activities, which the other tools take as inputs. An optional area input limits results to the objectives the coverage directory lists under that area. Query and area can be combined, and at least one of them is needed. A query that names an area or a reviewed place name lists that area's objectives, marked by matchedBy, after any objectives matched by name. Informational only.
