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.
- 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
searchSearch peaks.fyi by mountain name, alternative name, country, range or climbing request.Reads text others writeNo findings
Why it is in this group
- The name "search" 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 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.
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/mcpclaude mcp add --transport http mountains https://peaks.fyi/mcpRun 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.
{
"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.xmlAn Atom feed. Works in any feed reader or Slack's RSS app.
Badge
[](https://anlyon.dev/servers/fyi.peaks/mountains)Source: MCP Registry · repository. Synced Oct 30, 2026, 13:17 UTC.