# peaks.fyi — Mountain Routes, Huts & Weather (remote · peaks.fyi)

European mountain routes, huts, access and forecasts with sources and explicit unknowns.

- Trust score: 67/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `peaks.fyi`: 67/100 (this document), [markdown](https://verifymcp.io/servers/fyi-peaks-mountains/peaks.md), [page](https://verifymcp.io/servers/fyi-peaks-mountains/peaks)

## Channel facts

- Endpoint: `https://peaks.fyi/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `3.1.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS enforcement could not be verified: the plaintext port answered with HTTP 405, which proves neither a plaintext path nor enforcement.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 66/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 2001 tokens (~133/item across 15 items; 15 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 20/100
  - Stability observed for 6 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 88/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 57% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 15 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 16 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the peaks.fyi — Mountain Routes, Huts & Weather MCP server?

peaks.fyi — Mountain Routes, Huts & Weather is a hosted endpoint at https://peaks.fyi/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http fyi-peaks-mountains 'https://peaks.fyi/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "fyi-peaks-mountains": {
      "url": "https://peaks.fyi/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "fyi-peaks-mountains": {
      "type": "http",
      "url": "https://peaks.fyi/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.fyi-peaks-mountains]
url = "https://peaks.fyi/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "fyi-peaks-mountains": {
      "type": "remote",
      "url": "https://peaks.fyi/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add fyi-peaks-mountains --url 'https://peaks.fyi/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  fyi-peaks-mountains:
    url: "https://peaks.fyi/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "fyi-peaks-mountains": {
      "Transport": "http",
      "Url": "https://peaks.fyi/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add fyi-peaks-mountains -t streamable-http -u 'https://peaks.fyi/mcp'
```

### Other

```json
{
  "mcpServers": {
    "fyi-peaks-mountains": {
      "type": "http",
      "url": "https://peaks.fyi/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-04 (score 67, +1)

No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-02 (score 66, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-31 (score 65, +1)

- [functional improvement] Stability: unverified → 0.03

### 2026-10-30 (score 64)

First indexed and scored.

## MCP tools (15)

### `get_route_briefs` (~119 tokens)

get route briefs

Compare up to six known routes in one compact evidence packet: grade, timing conflicts, selected equipment, linked huts, access, notices and optional dated daylight. Preserves per-route errors and source provenance. Partial results must not be treated as complete; no booking, live transport or suitability guarantee. Use get_route for full details and get_weather for forecasts.

Input parameters:

- `date` (string)
- `routes` (array, required): One to six known peak slug / route ID pairs from search_routes; not free-text names.
- `sections` (array)

Output parameters:

- `data` (object)
- `retrievedAt` (string)
- `schemaVersion` (number)
- `sources` (array)

### `get_capabilities` (~36 tokens)

get capabilities

Inspect actual catalogue coverage, output JSON schemas, data version, units and unsupported operations before planning. Unknown data is not evidence of absence.

Output parameters:

- `data` (object)
- `retrievedAt` (string)
- `schemaVersion` (number)
- `sources` (array)

### `get_notices` (~121 tokens)

get notices

Read dated notices with publication validity, explicit scope uncertainty and recurrence hints. Supply slug and the trip date; omitted date means today (UTC), echoed in requestedDate. Expired notices may describe recurring regulations; expiry is not evidence that access is open. Verify current law with the linked source.

Input parameters:

- `date` (string): Trip date, YYYY-MM-DD. Omit to check today's UTC date, which is echoed in requestedDate.
- `routeId` (string)
- `slug` (string, required): Peak slug returned by search, for example mont-blanc.

Output parameters:

- `data` (object)
- `retrievedAt` (string)
- `schemaVersion` (number)
- `sources` (array)

### `resolve_peak` (~84 tokens)

resolve peak

Resolve a canonical peak ID, external Wikidata/OSM ID, current slug or exact name to its current slug and citable URL. Example input: {"id":"Ben Nevis"}. Use canonical IDs to recover from renamed slugs.

Input parameters:

- `id` (string, required): Canonical peak:id, Wikidata Q ID, OSM ID, current slug or exact translated name.

Output parameters:

- `data` (object)
- `retrievedAt` (string)
- `schemaVersion` (number)
- `sources` (array)

### `get_changes` (~69 tokens)

get changes

Compare a watched set of peaks with a previous snapshot. Returns content changes, removals and an updated snapshot. No changes means no new source data, not proof that conditions are unchanged. Date-dependent notice status must still be checked.

Input parameters:

- `previous` (array)
- `slugs` (array, required)

Output parameters:

- `data` (object)
- `retrievedAt` (string)
- `schemaVersion` (number)
- `sources` (array)

### `get_daylight` (~88 tokens)

get daylight

Compute sunrise, sunset and civil twilight for the exact calendar date and IANA zone. UTC instants handle daylight saving and polar days. Terrain and weather can reduce usable daylight.

Input parameters:

- `date` (string, required)
- `slug` (string, required): Peak slug returned by search, for example mont-blanc.
- `timeZone` (string): Optional explicit IANA zone; defaults to the catalogue zone.

Output parameters:

- `data` (object)
- `retrievedAt` (string)
- `schemaVersion` (number)
- `sources` (array)

### `search` (~93 tokens)

Search peaks.fyi by mountain name, alternative name, country, range or climbing request. Returns citable peak IDs and URLs. Use fetch to read a result; use search_peaks for explicit filters and pagination. An empty result means no match in this catalogue, not that the mountain does not exist.

Input parameters:

- `query` (string, required): Peak name, alias, country, range, or request such as hiking in Austria in July.

Output parameters:

- `metadata` (object)
- `results` (array)

### `fetch` (~88 tokens)

Read a peak search result by catalogue slug as a citable text document. Example input: {"id":"ben-nevis"}. This retrieves catalogue documents, not external website URLs; use your own browsing tool for publisher pages. Includes routes, season, access, hazards, huts, notices and provenance. Use get_weather for current forecasts.

Input parameters:

- `id` (string, required): Peak ID (slug) from search.

Output parameters:

- `id` (string)
- `text` (string)
- `title` (string)
- `url` (string)

### `get_peak` (~114 tokens)

get peak

Get compact peak facts and route IDs. Example input: {"slug":"ben-nevis"}. Optionally request access, huts, seasons, hazards or provenance sections. For fact questions search may already suffice. For current weather use get_weather; for hut booking information use get_huts. Research is not live availability.

Input parameters:

- `sections` (array): Omit for a compact overview, route IDs, season and notices. Request only sections needed.
- `slug` (string, required): Peak slug returned by search, for example mont-blanc.

Output parameters:

- `data` (object)
- `retrievedAt` (string)
- `schemaVersion` (number)
- `sources` (array)

### `get_route` (~107 tokens)

get route

Get one route by peak slug and routeId from get_peak: grade, equipment, key passages, stages, trailhead, timing, confidence and geometry QA. Failed, truncated or outline geometry must not be used for navigation. Times are estimates. No live route safety or opening guarantee.

Input parameters:

- `includeDescription` (boolean)
- `routeId` (string, required): Route ID from get_peak or search_routes.
- `slug` (string, required): Peak slug returned by search, for example mont-blanc.

Output parameters:

- `data` (object)
- `retrievedAt` (string)
- `schemaVersion` (number)
- `sources` (array)

### `get_route_point` (~103 tokens)

get route point

Look up a named waypoint or difficult passage on a route. Returns source notes, known coordinates, nearby stage names, key passages and relevant equipment. Missing coordinates or conditions remain unknown; this is not live navigation guidance.

Input parameters:

- `query` (string, required): Name of a waypoint or key passage, e.g. Grand Couloir or halfway lochan.
- `routeId` (string, required)
- `slug` (string, required): Peak slug returned by search, for example mont-blanc.

Output parameters:

- `data` (object)
- `retrievedAt` (string)
- `schemaVersion` (number)
- `sources` (array)

### `get_huts` (~108 tokens)

get huts

Read huts, documented seasonal operation, source years and booking/contact URLs for a peak. Beds means capacity, never vacancies. Live availability, reservations, rental inventory and current opening status are unknown. Do not infer next year's opening dates from a dated season; contact the linked provider.

Input parameters:

- `date` (string): Planning date; does not turn published seasons into live availability.
- `hutId` (string)
- `slug` (string, required): Peak slug returned by search, for example mont-blanc.

Output parameters:

- `data` (object)
- `retrievedAt` (string)
- `schemaVersion` (number)
- `sources` (array)

### `search_routes` (~234 tokens)

search routes

Find routes satisfying all supplied constraints on the SAME route, including difficulty, glacier travel, style and computed round-trip hours. Unknown glacier status is excluded by glacier filters. Searches all candidate peaks; use nextCursor until null for complete results. Coordinates filter peak locations, not trailheads. Transport matches documented prose, not confirmed operation. Historical season and public transport descriptions are not current operating confirmations. Read route details and conflicts before recommending.

Input parameters:

- `bbox` (array): Exactly [west,south,east,north] in degrees; west > east crosses the antimeridian.
- `countries` (array)
- `cursor` (string): Opaque nextCursor from the same query. Bound to the catalogue revision and filters.
- `glacier` (string)
- `limit` (integer)
- `maxDifficulty` (integer)
- `maxRoundTripHours` (number)
- `month` (integer)
- `near` (object)
- `publicTransport` (boolean): Require documented transport to the trailhead; schedules and operating dates still need checking.
- `query` (string)
- `styles` (array)

Output parameters:

- `data` (object)
- `retrievedAt` (string)
- `schemaVersion` (number)
- `sources` (array)

### `get_weather` (~213 tokens)

get weather

Get published weather for a peak and optional summit/hut/trailhead target. Set targetId and start/end for a bounded planning response; unfiltered forecasts can be large. Point samples are separate from accumulated rain/snow intervals and complete-window totals. Check target coverage and missing fields. Stale is marked; expired, missing and far-future data is unavailable. For a trip months away use get_peak seasons instead, never invent a forecast or a safety verdict.

Input parameters:

- `end` (string): Exclusive forecast interval end, ISO 8601 with time zone.
- `slug` (string, required): Peak slug returned by search, for example mont-blanc.
- `start` (string): Inclusive forecast interval start, ISO 8601 with time zone.
- `targetId` (string): Optional exact summit, hut or trailhead target ID. Omit to see all targets.
- `view` (string): Compact retains requested weather, intervals, uncertainty and coverage, omitting auxiliary per-point fields. Follow fullData for all fields.

Output parameters:

- `data` (object)
- `retrievedAt` (string)
- `schemaVersion` (number)
- `sources` (array)

### `search_peaks` (~288 tokens)

search peaks

Find and compare mountains with explicit country, elevation, season, difficulty and glacier filters. All filters are hard constraints; never silently relaxed. Returns compact peak summaries, IDs, total and nextOffset. Read get_peak and get_route before recommending a route: peak-level filters can describe different routes.

Input parameters:

- `bbox` (array): Exactly [west,south,east,north] in degrees; west > east crosses the antimeridian.
- `countries` (array)
- `glacier` (string)
- `limit` (integer): Page size, at most 20. Omit for 10. Use nextOffset to request another page.
- `maxDifficulty` (integer): 1–2 easy hike, 3 mountain hike, 4 alpine hike/F, 5 PD, 6 AD, 7 D, 8 TD, 9 ED, 10 extreme. Peak-level minimum, not a guarantee for every route.
- `maxElevationM` (number)
- `minElevationM` (number)
- `month` (integer): Month with a good historical climbing season; not a weather forecast.
- `near` (object)
- `offset` (integer): Start at 0; use nextOffset from the preceding response for subsequent pages.
- `query` (string, required): Peak name, alias, country, range, or request such as hiking in Austria in July.

Output parameters:

- `data` (object)
- `retrievedAt` (string)
- `schemaVersion` (number)
- `sources` (array)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/fyi-peaks-mountains/peaks#diagnostics

## Score history

- 2026-11-05: 67
- 2026-11-04: 67
- 2026-11-03: 66
- 2026-11-02: 66
- 2026-11-01: 65
- 2026-10-31: 65
- 2026-10-30: 64

## Common questions

### What is the peaks.fyi — Mountain Routes, Huts & Weather MCP server?

peaks.fyi — Mountain Routes, Huts & Weather is an MCP server listed in the public MCP registry as fyi.peaks/mountains. European mountain routes, huts, access and forecasts with sources and explicit unknowns. This page covers its hosted endpoint (https://peaks.fyi/mcp).

### Is the peaks.fyi — Mountain Routes, Huts & Weather MCP server safe to use?

peaks.fyi — Mountain Routes, Huts & Weather scores 67 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the peaks.fyi — Mountain Routes, Huts & Weather MCP server expose?

peaks.fyi — Mountain Routes, Huts & Weather exposes 15 tools: get_route_briefs, get_capabilities, get_notices, resolve_peak, get_changes, and 10 more. Their descriptions and schemas cost roughly 1,865 tokens of context every time the server is loaded.

### Does the peaks.fyi — Mountain Routes, Huts & Weather MCP server require authentication?

No. We connected to peaks.fyi — Mountain Routes, Huts & Weather without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the peaks.fyi — Mountain Routes, Huts & Weather MCP server still maintained?

peaks.fyi — Mountain Routes, Huts & Weather is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://peaks.fyi/mcp
- Repository: https://github.com/nickshatilo/peaks-fyi
- Website: https://peaks.fyi/connect?utm_source=registry
- Changelog RSS feed: https://verifymcp.io/servers/fyi-peaks-mountains/peaks.xml
- Changelog JSON feed: https://verifymcp.io/servers/fyi-peaks-mountains/peaks.json
- HTML version of this page: https://verifymcp.io/servers/fyi-peaks-mountains/peaks
