Ski resort conditions, forecasts, avalanche danger, sun, routes and snow history for 5,000+ resorts.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Only relay a report from a person who is at, or was just at, the resort. Never invent a report. The report goes live immediately and is labelled as relayed via an AI assistant.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Only relay a report from a person who is at, or was just at, the resort. Never invent a report. The report goes live immediately and is labelled as relayed via an AI assistant.
| Argument | Type | Description |
|---|---|---|
| tags | array | |
| text* | string | |
| rating | integer | |
| resort* | string | |
| observed_today | boolean |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"resort",
"text"
],
"properties": {
"tags": {
"type": "array",
"items": {
"enum": [
"powder",
"packed",
"icy",
"spring",
"slush",
"wind-hold",
"bluebird",
"groomed",
"heavy",
"crowded",
"quiet",
"closed"
],
"type": "string"
},
"maxItems": 6
},
"text": {
"type": "string",
"maxLength": 280
},
"rating": {
"type": "integer",
"maximum": 5,
"minimum": 1
},
"resort": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"observed_today": {
"type": "boolean"
}
},
"additionalProperties": false
}Summarise the regional avalanche bulletin covering a resort: EAWS in Europe, avalanche.org centres in the US and Avalanche Canada, with zone, issuing centre, issue and expiry times and a link to the official forecast. Expired products are never shown as current. Never substitutes for the official bulletin or local advice.
| Argument | Type | Description |
|---|---|---|
| resort* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"resort"
],
"properties": {
"resort": {
"type": "string",
"maxLength": 100,
"minLength": 1
}
},
"additionalProperties": false
}Get historical snow odds from the local ERA5 archive and quiet-week guidance where the crowd scorer covers the resort.
| Argument | Type | Description |
|---|---|---|
| resort* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"resort"
],
"properties": {
"resort": {
"type": "string",
"maxLength": 100,
"minLength": 1
}
},
"additionalProperties": false
}Get a link that plays a simulated 3D tour of a resort in the EM Snow flyby (lifts up, named runs down, on the mapped piste network), or a tour of runs you name. Pick names match like route_on_mountain; ambiguous names return candidates with picker ids. Status is ready, limited (small mapped network, the tour may be short) or unavailable (too few named runs or no linking lifts; the resort page is returned instead).
| Argument | Type | Description |
|---|---|---|
| pick | array | |
| runs | integer | |
| level | string | |
| resort* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"resort"
],
"properties": {
"pick": {
"type": "array",
"items": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"maxItems": 12,
"minItems": 1
},
"runs": {
"type": "integer",
"maximum": 12,
"minimum": 1
},
"level": {
"enum": [
"all",
"easy",
"intermediate"
],
"type": "string"
},
"resort": {
"type": "string",
"maxLength": 100,
"minLength": 1
}
},
"additionalProperties": false
}Get current snow, reported lift and run counts, weather and season state. Lift and run counts are reported status, not guaranteed live.
| Argument | Type | Description |
|---|---|---|
| resort* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"resort"
],
"properties": {
"resort": {
"type": "string",
"maxLength": 100,
"minLength": 1
}
},
"additionalProperties": false
}Get a 16-day daily outlook (snowfall, temperatures, freezing level, maximum gusts and, for the first days, precipitation probability) from EM Snow's self-hosted GFS and ECMWF IFS models. Days 1 to 7 overlap get_forecast; days 8 to 16 are low-confidence trend guidance only.
| Argument | Type | Description |
|---|---|---|
| days | integer | |
| resort* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"resort"
],
"properties": {
"days": {
"type": "integer",
"default": 16,
"maximum": 16,
"minimum": 1
},
"resort": {
"type": "string",
"maxLength": 100,
"minLength": 1
}
},
"additionalProperties": false
}Get the available daily snow, temperature, freezing level and wind-hold risk forecast, up to 10 requested days.
| Argument | Type | Description |
|---|---|---|
| days | integer | |
| resort* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"resort"
],
"properties": {
"days": {
"type": "integer",
"default": 7,
"maximum": 10,
"minimum": 1
},
"resort": {
"type": "string",
"maxLength": 100,
"minLength": 1
}
},
"additionalProperties": false
}Get images for a resort that vision-capable assistants can show: nearby webcams with provider credit, a Wikimedia Commons photo with its per-file licence, author and source page, the EM Snow sun and shade teaser where one exists, and the resort page link. No trail-map image is available.
| Argument | Type | Description |
|---|---|---|
| resort* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"resort"
],
"properties": {
"resort": {
"type": "string",
"maxLength": 100,
"minLength": 1
}
},
"additionalProperties": false
}Get recent visible community reports, including whether each came from the website or was relayed by an AI assistant.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| resort* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"resort"
],
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 20,
"minimum": 1
},
"resort": {
"type": "string",
"maxLength": 100,
"minLength": 1
}
},
"additionalProperties": false
}Get nearby webcam images and their source links, with the required provider credit.
| Argument | Type | Description |
|---|---|---|
| resort* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"resort"
],
"properties": {
"resort": {
"type": "string",
"maxLength": 100,
"minLength": 1
}
},
"additionalProperties": false
}Read mapped OSM terrain inventory, lift fleet, vertical, longest run, carefully matched Wikidata facts, season dates and modelled snow reliability.
| Argument | Type | Description |
|---|---|---|
| resort* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"resort"
],
"properties": {
"resort": {
"type": "string",
"maxLength": 100,
"minLength": 1
}
},
"additionalProperties": false
}Find nearby resorts from the local EM Snow resort index.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| resort* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"resort"
],
"properties": {
"limit": {
"type": "integer",
"default": 8,
"maximum": 10,
"minimum": 1
},
"resort": {
"type": "string",
"maxLength": 100,
"minLength": 1
}
},
"additionalProperties": false
}Build modelled suggested runs in time order from forecast weather, sun, snow and mapped terrain. Only plans days inside the reported winter season; summer lift or bike-park operation does not count as open for skiing. Easy, intermediate and advanced exclude expert, freeride and extreme terrain; only expert permits it. Suggestions are not a connected route or live piste status.
| Argument | Type | Description |
|---|---|---|
| date | string | |
| level | string | |
| resort* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"resort"
],
"properties": {
"date": {
"type": "string"
},
"level": {
"enum": [
"easy",
"intermediate",
"advanced",
"expert"
],
"type": "string"
},
"resort": {
"type": "string",
"maxLength": 100,
"minLength": 1
}
},
"additionalProperties": false
}Route between named pistes, lifts, the resort base or latitude,longitude coordinates using mapped OSM pistes and lifts. Names match accent-insensitively and partially (exact, then prefix, then contained words); a piste or lift split into several connected OSM pieces counts as one. A lift used as from resolves to its top station, where you ski away; a lift used as to resolves to its bottom station, unless coordinates say otherwise. Ambiguous names return candidates. Coordinates more than 5 km from the resort are rejected. Easy, intermediate and advanced avoid terrain above that level; only expert permits expert, freeride and extreme terrain.
| Argument | Type | Description |
|---|---|---|
| to* | string | |
| from* | string | |
| level | string | |
| resort* | string | |
| avoid_closed | boolean |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"resort",
"from",
"to"
],
"properties": {
"to": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"from": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"level": {
"enum": [
"easy",
"intermediate",
"advanced",
"expert"
],
"type": "string"
},
"resort": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"avoid_closed": {
"type": "boolean",
"default": true
}
},
"additionalProperties": false
}Find ski resorts worldwide by name, country or distance. Returns at most 20 matches and does not expose the bulk resort index.
| Argument | Type | Description |
|---|---|---|
| near | object | |
| limit | integer | |
| query | string | |
| country | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"near": {
"type": "object",
"required": [
"lat",
"lon"
],
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"lon": {
"type": "number",
"maximum": 180,
"minimum": -180
}
},
"additionalProperties": false
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 1
},
"query": {
"type": "string",
"maxLength": 80
},
"country": {
"type": "string",
"maxLength": 40
}
},
"additionalProperties": false
}Summarise the most recent completed ski season from the local ERA5 archive first.
| Argument | Type | Description |
|---|---|---|
| resort* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"resort"
],
"properties": {
"resort": {
"type": "string",
"maxLength": 100,
"minLength": 1
}
},
"additionalProperties": false
}Get an explainable snow-reliability score from long-run ERA5 snow depth.
| Argument | Type | Description |
|---|---|---|
| resort* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"resort"
],
"properties": {
"resort": {
"type": "string",
"maxLength": 100,
"minLength": 1
}
},
"additionalProperties": false
}Suggest a missing resort for human review. This never adds it directly to the resort index.
| Argument | Type | Description |
|---|---|---|
| lat* | number | |
| lon* | number | |
| name* | string | |
| notes | string | |
| country* | string | |
| website | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"name",
"country",
"lat",
"lon"
],
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"lon": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"name": {
"type": "string",
"maxLength": 100,
"minLength": 2
},
"notes": {
"type": "string",
"maxLength": 500
},
"country": {
"type": "string",
"maxLength": 80,
"minLength": 2
},
"website": {
"type": "string",
"format": "uri",
"maxLength": 300
}
},
"additionalProperties": false
}Show modelled sun and shade windows for eight slope aspects, with local terrain-horizon shading where DEM coverage exists.
| Argument | Type | Description |
|---|---|---|
| date | string | |
| resort* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"resort"
],
"properties": {
"date": {
"type": "string"
},
"resort": {
"type": "string",
"maxLength": 100,
"minLength": 1
}
},
"additionalProperties": false
}Return a one-tap EM Snow URL where the person can watch a resort and optionally add dates. This tool does not collect email.
| Argument | Type | Description |
|---|---|---|
| resort* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"resort"
],
"properties": {
"resort": {
"type": "string",
"maxLength": 100,
"minLength": 1
}
},
"additionalProperties": false
}Rank the freshest recently reported snow from the cached EM Snow home-page ranking.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| hemisphere | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 1
},
"hemisphere": {
"enum": [
"nh",
"sh"
],
"type": "string"
}
},
"additionalProperties": false
}