accueil / serveurs / Géo & Temps / io.peakcam/snow
io.peakcam/snow
serveur MCP (Model Context Protocol) · io.peakcam/snow 0.1.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.peakcam/snow est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.peakcam/snow » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 21 outils
- ask≈ 942 tokens
One natural-language question in, one tool result out, deterministically: the router resolves the resort by name or nickname, picks an intent from the wording (snow, open/closed, forecast, cams, history, compare, where did it snow, percent of normal, profile, regions, alerts) and calls the matching tool. Returns the tool's data, the resort, citation URLs and a dated sentence to quote. Answers `answerable: false` with suggestions rather than guessing. No language model is involved.
Paramètres, retour & exemple (1)
Paramètresquestion· string · requis
The question as the user asked it, up to 300 characters, e.g. "is Alta open" or "where did it snow most in Colorado".
Exemple d'appel{"name": "ask", "arguments": {"question": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"asOf": "texte", "data": "texte", "tool": "texte", "place": "texte", "intent": "conditions", "resort": "texte", "license": "texte", "resorts": [], "question": "texte", "sentence": "texte", "arguments": "texte", "citations": []}} - compare_models≈ 1261 tokens
How each weather model has verified at a resort over the trailing 90 days, graded against measured snow (SNOTEL depth change, clipped at zero), and what each model says for the next 7 days right now. Per model: rank, mean absolute error at day 1/3/7 (cm), bias ratio (total forecast over total measured; above 1 over-forecasts), samples, plus the current 7-day total and horizon. `truthBasis` and `measuredDays` say what the grading rested on; a resort with no measured series has no scores. The PeakCam blend is graded by the same rule and appears as `blend`.
Paramètres, retour & exemple (1)
Paramètresslug· string · requis
PeakCam resort slug, lowercase kebab-case, e.g. `breckenridge` or `ski-portillo`. Get it from search_resorts.
Exemple d'appel{"name": "compare_models", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"name": "texte", "note": "texte", "slug": "texte", "scores": [], "credits": [], "outlook": [], "station": "texte", "bestModel": "texte", "periodDays": 1, "truthBasis": "snotel", "accuracyUrl": "texte", "generatedAt": "texte"}} - compare_resorts≈ 6459 tokens
Side-by-side latest snow, today's Snow Score (0–100 with a rating; get_score explains it), season status and cam counts for 2–6 resorts. Every slug must resolve; an unknown one returns suggestions.
Paramètres, retour & exemple (1)
Paramètresslugs· array · requis
2–6 resort slugs.
Exemple d'appel{"name": "compare_resorts", "arguments": {"slugs": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "resorts": [], "generatedAt": "texte"}} - find_powder≈ 1699 tokens
Rank resorts by new snow in the last 24 or 48 hours, optionally within one state/province and above a minimum. Pass sourceOnly="snotel" to answer "where did it snow most, measured only" with station data alone. Resorts with no report are left out; zero inches is a measurement. Each row also carries today's Snow Score (`score`, 0–100 with a rating) when one is stored; get_score explains it. Sources: `snotel` = measured at a USDA NRCS SNOTEL station near the resort (station elevation, not the summit), `open_meteo` = weather-model estimate for resorts without a station.
Paramètres, retour & exemple (5)
Paramètreslimit· integer · optionnel
Rows to return, 1–25.state· string · optionnel
US state or Canadian province code (`CO`, `UT`, `BC`), or for the Andes the country name PeakCam lists (`Chile`, `Argentina`). Case-insensitive.window· string · optionnel · 24h | 48h
Which window ranks first; the other breaks ties.minInches· number · optionnel
Keep only resorts with at least this many inches in the window.sourceOnly· string · optionnel · snotel
`snotel` keeps only station-measured reports and drops model estimates.
Exemple d'appel{"name": "find_powder", "arguments": {"limit": 1, "state": "texte", "window": "24h", "minInches": 1, "sourceOnly": "snotel"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "window": "24h", "filters": {}, "license": "texte", "results": [], "attribution": "texte", "generatedAt": "texte"}} - get_alert_options≈ 684 tokens
How to be told when it snows, without this server writing anything: the powder-alert threshold and schedule, the e-mail, webhook (Standard Webhooks, signed), Atom and iCal channels, the per-resort public Atom feed, the webhook payload contract, and the manage page where a person registers a destination. Pass a slug to get that resort's feed URL.
Paramètres, retour & exemple (1)
Paramètresslug· string · optionnel
Optional: a resort slug, to fill in its public Atom feed URL.
Exemple d'appel{"name": "get_alert_options", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"writes": true, "webhook": {}, "channels": [], "schedule": "texte", "manageUrl": "texte", "resortFeed": "texte", "generatedAt": "texte", "thresholdInches": 1}} - get_cam_timeline≈ 1171 tokens
Archived still frames for a resort's webcams (or one cam) over the last 1–48 hours, as links with capture times, plus the newest storm frame on tape per cam. Only cams whose operator allows archiving appear; PeakCam captures every 6 hours. Use it for "what did it look like this morning" or "show me the last storm". Frames are never returned inline.
Paramètres, retour & exemple (3)
Paramètresslug· string · requis
PeakCam resort slug, lowercase kebab-case, e.g. `breckenridge` or `ski-portillo`. Get it from search_resorts.camId· string · optionnel
Optional: one cam's id from get_resort_cams; default is every archived cam at the resort.hours· integer · optionnel
Window, 1–48 hours.
Exemple d'appel{"name": "get_cam_timeline", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"cams": [], "name": "texte", "note": "texte", "slug": "texte", "hours": 1, "camCount": 1, "lastStorm": "texte", "frameCount": 1, "generatedAt": "texte", "canonicalUrl": "texte", "newestCapturedAt": "texte"}} - get_forecast≈ 1912 tokens
Fourteen-day blended snow forecast for a resort: per day the median snowfall across the weather models that reach that day (ECMWF IFS, GFS, GEM, ICON, JMA, Météo-France, UKMO; NBM and HRRR added for US points), the 25th/75th percentile band as snowfallLoIn/snowfallHiIn, and modelCount so you can weigh a far-out two-model day against a near-term nine-model one. `summary` has next 48 h, 7- and 14-day totals and the peak day. US resorts also get the National Weather Service text narrative (`periods`), with its snow amounts replaced by the blend. Weather data by Open-Meteo.com (CC BY 4.0): quote the credit. `available: false` when no model run is stored yet.
Paramètres, retour & exemple (2)
Paramètresslug· string · requis
PeakCam resort slug, lowercase kebab-case, e.g. `breckenridge` or `ski-portillo`. Get it from search_resorts.point· string · optionnel · summit | base
Which elevation's blend. Falls back to the other point with a note when the asked one has no runs.
Exemple d'appel{"name": "get_forecast", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"days": [], "name": "texte", "note": "texte", "slug": "texte", "point": "texte", "models": [], "credits": [], "periods": [], "summary": "texte", "issuedAt": "texte", "provider": "blend", "available": true}} - get_leaderboard≈ 1342 tokens
Resorts ranked on one of four season boards: best-powder-this-week (measured new snow in the last 7 days), season-powder-days (days with ≥ 8 in since Oct 1), deepest-base (latest station or model depth) and season-snowfall (measured new snow since Oct 1), optionally within one state and measured-only. The season boards cover the Northern hemisphere. Answers a dated sentence, the rule in words and rows with source and station. Same data as https://www.peakcam.io/snow-report/{kind}.
Paramètres, retour & exemple (4)
Paramètreskind· string · requis · best-powder-this-week | season-powder-days | deepest-base | season-snowfall
Which board.limit· integer · optionnel
Rows to return, 1–50.state· string · optionnel
US state or Canadian province code (`CO`, `UT`, `BC`), or for the Andes the country name PeakCam lists (`Chile`, `Argentina`). Case-insensitive.sourceOnly· string · optionnel · snotel
`snotel` keeps only station-measured rows.
Exemple d'appel{"name": "get_leaderboard", "arguments": {"kind": "best-powder-this-week"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"asOf": "texte", "kind": "best-powder-this-week", "pool": 1, "rule": "texte", "count": 1, "title": "texte", "season": {}, "filters": {}, "license": "texte", "pageUrl": "texte", "results": [], "sentence": "texte"}} - get_monthly_climatology≈ 1060 tokens
Average snowfall, snow days (≥ 1 in), depth and the biggest storm per calendar month at the resort's SNOTEL station, over the 30 most recent complete winters and, separately, the 10 most recent, with the recent decade as a percent of the 30-winter figure and a note when they differ by more than 10 %. Use it for "which month is snowiest", "how much does it usually snow in January". Resorts without a station normal answer available: false.
Paramètres, retour & exemple (1)
Paramètresslug· string · requis
PeakCam resort slug, lowercase kebab-case, e.g. `breckenridge`. Get it from search_resorts.
Exemple d'appel{"name": "get_monthly_climatology", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"name": "texte", "note": "texte", "slug": "texte", "apiUrl": "texte", "months": [], "license": "texte", "pageUrl": "texte", "station": "texte", "available": true, "attribution": "texte", "generatedAt": "texte", "canonicalUrl": "texte"}} - get_opening_dates≈ 887 tokens
Season opening and closing dates with status (open / closed / unknown) for every resort, or those in one state/province, soonest opening first. Confirmed dates come from the resort; projected ones are third-party estimates.
Paramètres, retour & exemple (2)
Paramètreslimit· integer · optionnel
Rows to return, 1–150.state· string · optionnel
US state or Canadian province code (`CO`, `UT`, `BC`), or for the Andes the country name PeakCam lists (`Chile`, `Argentina`). Case-insensitive.
Exemple d'appel{"name": "get_opening_dates", "arguments": {"limit": 1, "state": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"asOf": "texte", "count": 1, "filters": {}, "resorts": [], "generatedAt": "texte", "totalMatching": 1}} - get_percent_of_normal≈ 918 tokens
SNOTEL-fed resorts ranked by snowpack relative to normal: snow water equivalent against the station's own 1991–2020 median for today's date, deepest first, optionally within one state. Only measured station readings qualify, inside the 10–300 % band and above 2 in of SWE; early-season noise is withheld, not ranked. Same data as https://www.peakcam.io/snow-report/percent-of-normal.
Paramètres, retour & exemple (2)
Paramètreslimit· integer · optionnel
Rows to return, 1–50.state· string · optionnel
US state or Canadian province code (`CO`, `UT`, `BC`), or for the Andes the country name PeakCam lists (`Chile`, `Argentina`). Case-insensitive.
Exemple d'appel{"name": "get_percent_of_normal", "arguments": {"limit": 1, "state": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"asOf": "texte", "rule": "texte", "count": 1, "phase": "pre-season", "filters": {}, "pageUrl": "texte", "results": [], "sentence": "texte", "generatedAt": "texte", "totalMatching": 1, "stationFedCount": 1}} - get_resort_cams≈ 1230 tokens
The resort's webcams as links: PeakCam page URL, the operator's stream or page URL, a still-image URL when one exists, and health (live / down / unchecked, from PeakCam's probe, not proof of a live broadcast). Frames are never returned inline.
Paramètres, retour & exemple (1)
Paramètresslug· string · requis
PeakCam resort slug, lowercase kebab-case, e.g. `breckenridge` or `ski-portillo`. Get it from search_resorts.
Exemple d'appel{"name": "get_resort_cams", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"cams": [], "name": "texte", "slug": "texte", "license": "texte", "updatedAt": "texte", "attribution": "texte", "canonicalUrl": "texte"}} - get_resort_conditions≈ 14086 tokens
The latest snow report for one resort with provenance, inside the conditions contract v2 envelope: `data.status` is the derived operating status (OPEN, CLOSED_TODAY, PRE_SEASON, OFF_SEASON or UNKNOWN; OPEN only on a fresh operator lift feed or a resort-confirmed opening date, never by default) with `reasons`; every field in `data` (base depth measured and operator-reported, new snow 24 h / 48 h, SWE, percent of normal, lifts and runs open / total, surface, snow quality, temperature, wind, blended 48-hour forecast, season dates) is `{value, source, observedAt, confidence, freshness: {tier, ageHours}}`; `depthDisagreement` is set when the station and the operator differ by more than 30 % (quote the measured value); `sentence` is a dated line to quote. The classic Resort document (`snow`, `season`, `cams`, `profile`, `measuredNow`) rides alongside for compatibility. Use it for "is X open today" as well as "what are conditions at X". Sources: `snotel` = measured at a USDA NRCS SNOTEL station near the resort (station elevation, not the summit), `open_meteo` = weather-model estimate for resorts without a station.
Paramètres, retour & exemple (1)
Paramètresslug· string · requis
PeakCam resort slug, lowercase kebab-case, e.g. `breckenridge` or `ski-portillo`. Get it from search_resorts.
Exemple d'appel{"name": "get_resort_conditions", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"cams": [], "data": {}, "meta": {}, "name": "texte", "slug": "texte", "snow": "texte", "score": "texte", "apiUrl": "texte", "season": {}, "license": "texte", "profile": {}, "forecast": "texte"}} - get_resort_profile≈ 1436 tokens
Who and where a resort is, without the snow numbers: location and elevations, website and social links, PeakCam's cam page, the SNOTEL station its numbers come from (if any), season status, cam counts, and every URL PeakCam publishes for it (page, JSON, markdown, Atom feed, state hub). Use get_resort_conditions for today's snow.
Paramètres, retour & exemple (1)
Paramètresslug· string · requis
PeakCam resort slug, lowercase kebab-case, e.g. `breckenridge` or `ski-portillo`. Get it from search_resorts.
Exemple d'appel{"name": "get_resort_profile", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"name": "texte", "slug": "texte", "urls": {}, "season": {}, "socials": {}, "station": "texte", "camCount": 1, "location": {}, "camPageUrl": "texte", "dataSource": "texte", "websiteUrl": "texte", "generatedAt": "texte"}} - get_score≈ 2194 tokens
PeakCam's 0–100 Snow Score for one resort, scored once a day by a fixed formula (scoredBy is always `algorithmic`): `today` carries the score, its four-tier rating (great ≥ 75, good ≥ 55, fair ≥ 35, else poor; the same words as the conditions rating), a dated tagline to quote and five components, each with points, max, a one-line basis and its source: depth vs the station's 1991–2020 normal (30), new snow over the last 7 days (25), the blended 7-day forecast (20), snow quality from days since snow, the 3-day high and the surface tags (15), and the operating status (10). `history` is one point per scored day over the last 30 days. Use it for "how good is X right now and why", "score X out of 100", "is X better than last week"; for a ranking use find_powder, compare_resorts or /api/v1/snow-report?sort=score. `available: false` before the first scoring run.
Paramètres, retour & exemple (1)
Paramètresslug· string · requis
PeakCam resort slug, lowercase kebab-case, e.g. `breckenridge` or `ski-portillo`. Get it from search_resorts.
Exemple d'appel{"name": "get_score", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"days": 1, "name": "texte", "slug": "texte", "today": "texte", "apiUrl": "texte", "ladder": {}, "history": [], "license": "texte", "pageUrl": "texte", "version": "texte", "weights": {}, "scoredBy": "texte"}} - get_season_stats≈ 1679 tokens
Season-to-date for one resort from PeakCam's own daily station record: measured snowfall since the season start (daily new snow = the positive change in station depth, a floor on what fell), days measured, snow days, powder days (8 in or more, the alert threshold), current and deepest base, percent of the 30-winter normal to this day and of the recent decade (with a baselineNote when they disagree by more than 10 %), the same day last year, a 7-day trend and a dated sentence to quote. Use it for "how is the season going", "is this a good year", "how does it compare with last year".
Paramètres, retour & exemple (1)
Paramètresslug· string · requis
PeakCam resort slug, lowercase kebab-case, e.g. `breckenridge`. Get it from search_resorts.
Exemple d'appel{"name": "get_season_stats", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"asOf": "texte", "name": "texte", "slug": "texte", "trend": {}, "apiUrl": "texte", "season": {}, "source": "texte", "license": "texte", "pageUrl": "texte", "station": "texte", "lastYear": "texte", "sentence": "texte"}} - get_snow_history≈ 930 tokens
Daily snow depth, snow water equivalent, precipitation accumulation and temperatures for the last 1–30 days at the resort's station (SNOTEL where there is one, Open-Meteo model otherwise), newest first. Use it for "how has the base changed this week" questions. Pass `season` (`2024-25`, or `current`) for a whole season's daily depth and new-snow rows instead of the last N days; get_season_stats summarises a season.
Paramètres, retour & exemple (3)
Paramètresdays· integer · optionnel
Days back, 1–30. Ignored when `season` is set.slug· string · requis
PeakCam resort slug, lowercase kebab-case, e.g. `breckenridge` or `ski-portillo`. Get it from search_resorts.season· string · optionnel
A season label (`2024-25` for the Northern water year, `2026` for an Andes resort) or `current`: returns every daily row of that season, oldest first, with daily new snow.
Exemple d'appel{"name": "get_snow_history", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"days": 1, "name": "texte", "rows": [], "slug": "texte", "count": 1, "season": "texte", "source": "texte", "station": "texte", "generatedAt": "texte", "canonicalUrl": "texte"}} - get_stations≈ 1326 tokens
What the instruments near one resort measured, by elevation band (summit / mid / base): up to three stations within 25 km with the network named (SNOTEL, GHCN-Daily, NWS, BC ASWS, ECCC), elevation, distance, the time of the reading and its age, snow depth, new snow, SWE, temperature and wind. Daily networks carry depth; hourly ones carry temperature and wind. Use it for "what is it like at the top right now" and "how old is that number" questions; the snow report itself comes from get_resort_conditions.
Paramètres, retour & exemple (1)
Paramètresslug· string · requis
PeakCam resort slug, lowercase kebab-case, e.g. `breckenridge` or `ski-portillo`. Get it from search_resorts.
Exemple d'appel{"name": "get_stations", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"name": "texte", "slug": "texte", "count": 1, "sources": [], "stations": [], "available": true, "generatedAt": "texte", "measuredNow": [], "canonicalUrl": "texte"}} - get_timelapses≈ 2020 tokens
Rendered timelapse clips for a resort's webcams (or one cam), as links: the rolling 24-hour MP4 per cam (H.264, 7 fps, 720p max, at most 3 MB, re-rendered every 6 hours from PeakCam's still archive) with its poster JPEG and frame bounds, plus storm reels (rendered while the resort's measured 24 h new snow is 8 in or more, from the first frame after the last dry day, capped at 72 h; one per storm day, kept a year). Only cams whose operator allows archiving have clips. Use it for "show me the last 24 hours" or "show me the last storm" questions; get_cam_timeline returns the individual frames. Media is never returned inline.
Paramètres, retour & exemple (2)
Paramètresslug· string · requis
PeakCam resort slug, lowercase kebab-case, e.g. `breckenridge` or `ski-portillo`. Get it from search_resorts.camId· string · optionnel
Optional: one cam's id from get_resort_cams; default is every cam with a clip.
Exemple d'appel{"name": "get_timelapses", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"cams": [], "name": "texte", "note": "texte", "slug": "texte", "license": "texte", "available": true, "clipCount": 1, "lastStorm": "texte", "updatedAt": "texte", "webcamsUrl": "texte", "attribution": "texte", "canonicalUrl": "texte"}} - list_regions≈ 587 tokens
Every state, province and country PeakCam covers, with resort, reporting, measured (SNOTEL) and cam counts and the hub page URL. Call it to learn the valid `state` values for find_powder, get_opening_dates and get_percent_of_normal, or to answer "where does PeakCam have data".
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_regions", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"regions": [], "countries": [], "generatedAt": "texte", "totalResorts": 1}} - search_resorts≈ 992 tokens
Find PeakCam resorts by name (or part of one, or a region) and get their slugs with a one-line snow summary each. Call this first when the user names a resort; then use the slug with the other tools. Covers about 300 resorts in the US, Canada, Chile and Argentina.
Paramètres, retour & exemple (4)
Paramètreslimit· integer · optionnel
Rows to return, 1–20.query· string · requis
Resort name or fragment, e.g. `vail`, `big sky`, `portillo`, `tahoe`. Also matches region names.state· string · optionnel
US state or Canadian province code (`CO`, `UT`, `BC`), or for the Andes the country name PeakCam lists (`Chile`, `Argentina`). Case-insensitive.country· string · optionnel
ISO 3166-1 alpha-2 country code: `US`, `CA`, `CL` or `AR`.
Exemple d'appel{"name": "search_resorts", "arguments": {"query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "query": "texte", "resorts": [], "generatedAt": "texte"}}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».