# The Ski Handbook — llms.txt > A human & AI-agent-friendly ski reference covering destinations, training, and equipment. > All data is programmatically accessible via an MCP server endpoint. ## Site - Home: / - Places module: /places — 2,600+ ski resorts worldwide with piste data, altitude, difficulty, and tags - Training module: /training — coming soon - Equipment module: /equipment — coming soon ## AI / Agent access ### MCP Server (preferred for agents) - Endpoint: POST /api/mcp - Protocol: JSON-RPC 2.0, MCP spec 2024-11-05 - Discovery: GET /api/mcp returns tool list and descriptions #### Available tools - **ski_list_places** — list ski resorts (2,600+ worldwide); filter by `country`, `difficulty`, `tags`, `min_km`, `max_km`; paginate with `limit` (default 50, max 200); sorted largest first - **ski_get_place** — get full resort details by `id` (e.g. `"zermatt-ch"`, `"les-trois-vallees-fr"`) - **ski_list_exercises** — list training exercises; filter by `difficulty` or `type` - **ski_get_exercise** — get full exercise details by `id` - **ski_list_equipment** — list equipment items; filter by `category` or `skillLevel` - **ski_get_equipment** — get full equipment details by `id` - **ski_compare_resorts** — compare up to 5 resorts side-by-side; params `{ ids: string[] }` (max 5 IDs); returns name, country, total_km, vertical_drop, lifts_count, run counts, altitude_peak, has_night_skiing, has_snow_park - **ski_get_weather** — get current weather for a resort by `id`; returns temperature, wind speed, snowfall, weather_code, and human-readable description (powered by Open-Meteo) - **ski_random_place** — get a random ski resort; optionally filter by `tags` array to get a random matching resort #### Place fields returned by ski_list_places / ski_get_place ``` id, name, country, region, description, total_km, altitude_base, altitude_peak, difficulty, runs_green, runs_blue, runs_red, runs_black, tags, website, skimap_url, highlights, best_months, latitude, longitude ``` #### Common tags for filtering `beginner-friendly`, `intermediate`, `advanced`, `expert`, `powder`, `off-piste`, `glacier`, `backcountry`, `summer-skiing`, `freeride`, `resort` #### Example: initialize ```json POST /api/mcp {"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","clientInfo":{"name":"my-agent","version":"1.0"}}} ``` #### Example: list tools ```json POST /api/mcp {"jsonrpc":"2.0","id":2,"method":"tools/list"} ``` #### Example: find large powder resorts in France ```json POST /api/mcp {"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"ski_list_places","arguments":{"country":"France","tags":["powder"],"min_km":100,"limit":10}}} ``` #### Example: get a specific resort ```json POST /api/mcp {"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"ski_get_place","arguments":{"id":"zermatt-ch"}}} ``` ## Content summary ### Places (2,600+ resorts) Worldwide coverage of operating downhill ski areas sourced from openskidata.org. Includes resorts across Europe (France, Austria, Switzerland, Italy, Norway, Sweden, …), North America (USA, Canada), Asia (Japan, South Korea, China), and more. Each resort includes piste statistics, elevation data, difficulty rating, and tags. ### Training exercises (6 entries) Parallel turn (intermediate/technique), carving (advanced/technique), wall sit (beginner/conditioning), single-leg balance (beginner/balance), short radius turns (advanced/technique), lateral hops (intermediate/fitness). ### Equipment (8 entries) All-mountain skis, alpine ski boots, ski poles, ski helmet, avalanche airbag pack, avalanche transceiver/beacon, ski goggles, merino wool base layer.