Skip to content

peaks.fyi — Mountain Routes, Huts & Weather

fyi.peaks/mountainspeaks.fyistreamable-httpv3.1.0Scanned

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

15 tools: 15 only read.

Tools: 0 delete, 0 irreversible, 0 write, 15 read.
  • Reads private data · 3
  • Reads text others write · 15
  • Can send data out · 0
  • No findings

Anlyon alternative

Run the operations that matter as governed actions.

Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.

Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.

Import an OpenAPI spec →

Tools

Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.

15 tools

Only reads 15Show 15 read-only tools
  • fetchRead a peak search result by catalogue slug as a citable text document.Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "fetch" says "fetch": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "read" and "document": it reads documents.
    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_capabilitiesInspect actual catalogue coverage, output JSON schemas, data version, units and unsupported operations before planning.Reads text others writeNo findings

    Why it is in this group

    • The name "get_capabilities" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Inspect actual catalogue coverage, output JSON schemas, data version, units and unsupported operations before planning. Unknown data is not evidence of absence.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_changesCompare a watched set of peaks with a previous snapshot.Reads text others writeNo findings

    Why it is in this group

    • The name "get_changes" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_daylightCompute sunrise, sunset and civil twilight for the exact calendar date and IANA zone.Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "get_daylight" says "get": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "calendar": it reads calendars.
    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_hutsRead huts, documented seasonal operation, source years and booking/contact URLs for a peak.Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "get_huts" says "get": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "read" and "contact": it reads contacts.
    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_noticesRead dated notices with publication validity, explicit scope uncertainty and recurrence hints.Reads text others writeNo findings

    Why it is in this group

    • The name "get_notices" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_peakGet compact peak facts and route IDs.Reads text others writeNo findings

    Why it is in this group

    • The name "get_peak" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_routeGet one route by peak slug and routeId from get_peak: grade, equipment, key passages, stages, trailhead, timing, confidence and geometry QA.Reads text others writeNo findings

    Why it is in this group

    • The name "get_route" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_route_briefsCompare up to six known routes in one compact evidence packet: grade, timing conflicts, selected equipment, linked huts, access, notices and optional dated daylight.Reads text others writeNo findings

    Why it is in this group

    • The name "get_route_briefs" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_route_pointLook up a named waypoint or difficult passage on a route.Reads text others writeNo findings

    Why it is in this group

    • The name "get_route_point" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_weatherGet published weather for a peak and optional summit/hut/trailhead target.Reads text others writeNo findings

    Why it is in this group

    • The name "get_weather" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • resolve_peakResolve a canonical peak ID, external Wikidata/OSM ID, current slug or exact name to its current slug and citable URL.Reads text others writeNo findings

    Why it is in this group

    • The name "resolve_peak" says "resolve": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • untrusted-inputThe description's first sentence says "resolve" and "url": it reads web pages, which anyone can write.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • search_peaksFind and compare mountains with explicit country, elevation, season, difficulty and glacier filters.Reads text others writeNo findings

    Why it is in this group

    • The name "search_peaks" says "search": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • search_routesFind routes satisfying all supplied constraints on the SAME route, including difficulty, glacier travel, style and computed round-trip hours.Reads text others writeNo findings

    Why it is in this group

    • The name "search_routes" says "search": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

No private-data, untrusted-input, outbound path in this server alone: no tool is tagged outbound.

Reads private data3
Reads files, mail, messages, databases, secrets, calendars or repositories.
Reads text others write15
Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
Can send data out0
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Findings

Matches of fixed checks, with the text they matched.

No check matched anything in these tool definitions. That is not a safety guarantee.

History

Changes to its tool definitions and to its remote endpoint, newest first.

No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.

Install

Pinned to version 3.1.0. Values in angle brackets are yours to fill in.

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

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__mountains__get_route_briefs",
      "mcp__mountains__get_capabilities",
      "mcp__mountains__get_notices",
      "mcp__mountains__resolve_peak",
      "mcp__mountains__get_changes",
      "mcp__mountains__get_daylight",
      "mcp__mountains__search",
      "mcp__mountains__fetch",
      "mcp__mountains__get_peak",
      "mcp__mountains__get_route",
      "mcp__mountains__get_route_point",
      "mcp__mountains__get_huts",
      "mcp__mountains__search_routes",
      "mcp__mountains__get_weather",
      "mcp__mountains__search_peaks"
    ],
    "ask": [],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as mountains. Review it before you use it.

Capability tags behind 15 rules
  • mcp__mountains__get_route_briefs untrusted-input
  • mcp__mountains__get_capabilities untrusted-input
  • mcp__mountains__get_notices untrusted-input
  • mcp__mountains__resolve_peak untrusted-input
  • mcp__mountains__get_changes untrusted-input
  • mcp__mountains__get_daylight private-data, untrusted-input
  • mcp__mountains__search untrusted-input
  • mcp__mountains__fetch private-data, untrusted-input
  • mcp__mountains__get_peak untrusted-input
  • mcp__mountains__get_route untrusted-input
  • mcp__mountains__get_route_point untrusted-input
  • mcp__mountains__get_huts private-data, untrusted-input
  • mcp__mountains__search_routes untrusted-input
  • mcp__mountains__get_weather untrusted-input
  • mcp__mountains__search_peaks untrusted-input

Pin

Keep the decision: fail CI when the tools change, follow every change, or show a badge.

Pin in CI

Fail a build when the tools you reviewed are not the tools the server serves today.

curl -s "https://anlyon.dev/api/v1/servers/fyi.peaks/mountains/verify?hash=73f9c4cdd381ddf591b2479f33b3f1de278785de14fd020ffa588044f04a33dc" | jq -e '.changed == false'

Pinned hash 73f9c4cdd381, from Oct 30, 2026, 13:18 UTC.

Watch

Get told when its tools change: a new tool, a new description, a new class.

https://anlyon.dev/servers/fyi.peaks/mountains/changes.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for fyi.peaks/mountains
[![anlyon.dev](https://anlyon.dev/badge/fyi.peaks/mountains.svg)](https://anlyon.dev/servers/fyi.peaks/mountains)

Source: MCP Registry · repository. Synced Oct 30, 2026, 13:17 UTC.