Quick start
- In the browser (WebMCP): every page on mondschein.com registers all tools via document.modelContext before the page has finished loading. A browser agent calls them directly instead of reading the page.
- MCP server: https://mondschein.com/mcp (Streamable HTTP, stateless, JSON responses). All tools are available there except open_page, which only makes sense in a browser tab.
- REST: the same tools as POST /api/agent/{tool} with JSON. Description: /openapi.json, interactive: /openapi.html.
What the tools do not do
- No tool books a room or takes a payment. The guest books on the booking page themselves.
- request_offer only sends when confirm and privacy_consent are both true. Without both it returns CONFIRMATION_REQUIRED and nothing is sent.
- As long as no send channel is set up, request_offer answers with NOT_DELIVERED and the hotel's phone number and email address. Nothing has been sent, and the guest contacts the hotel directly.
- The answers contain only what is also on the website. The tools never return internal prices or guest data.
Tools
The descriptions are in English, as the models see them. Every tool takes the language parameter (de, nl, en) and returns links in that language.
| Name | Purpose | Access | Available via |
|---|---|---|---|
hotel_info | Address, coordinates and map links for each house as in the Google profile, phone, email, check-in and check-out, restaurants, opening hours | read | WebMCP, MCP, REST |
list_houses | The three houses with a short description and link | read | WebMCP, MCP, REST |
list_rooms | Room types per house with size, occupancy, features and link | read | WebMCP, MCP, REST |
get_room | All details of one room type, with photos and FAQ | read | WebMCP, MCP, REST |
list_offers | Offers and packages with inclusions, season and link | read | WebMCP, MCP, REST |
list_areas | The area pages around Stuben | read | WebMCP, MCP, REST |
get_area | One area page with directions, nearby places, FAQ and route link | read | WebMCP, MCP, REST |
get_faq | Frequently asked questions, optionally with a search term | read | WebMCP, MCP, REST |
get_lift_status | Live status of the Ski Arlberg lifts and slopes | read | WebMCP, MCP, REST |
get_weather | Current weather and snow depth in Stuben | read | WebMCP, MCP, REST |
check_availability | Rooms and from-prices for travel dates (marked mock until the booking system is connected) | read | WebMCP, MCP, REST |
request_offer | A non-binding enquiry to the reservations team, only after the guest has explicitly confirmed | send, with confirmation | WebMCP, MCP, REST |
open_page | Opens a page of mondschein.com in the browser tab | read | WebMCP |
hotel_info
Facts about Hotel Mondschein in Stuben am Arlberg (Austria): name, address, coordinates and map links of each house exactly as in its Google Business Profile, phone, e-mail, WhatsApp, check-in and check-out times, restaurants and opening hours, current season, and company stays (period, days, how to request). Use this for contact, address, directions or "when can I check in" questions. For rooms use list_rooms, for prices and dates check_availability.
Parameters
house"hotel" | "chalet" | "motel" | "all", default "all": One house (hotel = Ski Hotel Mondschein, chalet = Mondschein Chalet, motel = Arlberg Motel) or all.language"de" | "nl" | "en", default "de": Language of texts and links: de, nl, en. Default de.
REST: POST /api/agent/hotel_info
list_houses
Lists the three houses of Mondschein in Stuben: Ski Hotel Mondschein (4 stars, since 1739), Mondschein Chalet (private spa suites, open all year) and Arlberg Motel. Returns id, name, short description, number of room types and the page URL. Use list_rooms with the house id next.
Parameters
language"de" | "nl" | "en", default "de": Language of texts and links: de, nl, en. Default de.
REST: POST /api/agent/list_houses
list_rooms
Lists the room types, optionally for one house: id, name, house, size in m², guests, main features, whether it is bookable in summer, and the room page URL. Use get_room for all details of one room and check_availability for prices on dates.
Parameters
house"hotel" | "chalet" | "motel": Only this house: hotel, chalet or motel. Leave out for all houses.language"de" | "nl" | "en", default "de": Language of texts and links: de, nl, en. Default de.
REST: POST /api/agent/list_rooms
get_room
All published details of one room type: description, size, guests, all features, facts, photos with alt text, FAQ and the room page URL. Use the room_id from list_rooms. For prices on dates use check_availability.
Parameters
room_id(required) string: Room id from list_rooms, e.g. comfort-double.language"de" | "nl" | "en", default "de": Language of texts and links: de, nl, en. Default de.
REST: POST /api/agent/get_room
list_offers
Lists the current offers and packages (for example ski packages or summer escapes): id, title, short text, what is included, season, house and the offer page URL. Prices depend on dates: use check_availability or send the guest to the offer page.
Parameters
season"winter" | "summer" | "all", default "all": Only winter or summer offers, or all.language"de" | "nl" | "en", default "de": Language of texts and links: de, nl, en. Default de.
REST: POST /api/agent/list_offers
list_areas
Lists the area guides around Stuben am Arlberg (ski resorts such as Lech, Zürs and St. Anton, valleys, and arrival from cities such as Zürich or München): slug, name, title and page URL. Use get_area for travel times, routes and FAQ of one area.
Parameters
language"de" | "nl" | "en", default "de": Language of texts and links: de, nl, en. Default de.
REST: POST /api/agent/list_areas
get_area
Details of one area guide: introduction, section headings, nearby places, FAQ (distances, travel times, what to do), a Google Maps route link to the Ski Hotel and the page URL. Use the slug from list_areas.
Parameters
slug(required) string: Area slug from list_areas, e.g. lech or zuerich.language"de" | "nl" | "en", default "de": Language of texts and links: de, nl, en. Default de.
REST: POST /api/agent/get_area
get_faq
Questions and answers from the FAQ page (check-in and check-out, which house is open in summer, distance to the slopes, half board, dogs, parking, extra beds, cancellation, arrival). Optionally filter with a search term. Returns the matching questions with answers and the FAQ page URL.
Parameters
querystring: Optional search term, e.g. "Parken" or "hond". Leave out for all questions.language"de" | "nl" | "en", default "de": Language of texts and links: de, nl, en. Default de.
REST: POST /api/agent/get_faq
get_lift_status
Live status of the lifts and slopes of Ski Arlberg around Stuben: lifts open of total, slopes open of total, each lift with its status, and when the data was fetched. Use it for "are the lifts open" questions. Returns UNAVAILABLE when the live source is not available; then point to the Arlberg live page.
Parameters
language"de" | "nl" | "en", default "de": Language of texts and links: de, nl, en. Default de.
REST: POST /api/agent/get_lift_status
get_weather
Current weather in Stuben am Arlberg (1409 m) at the Ski Hotel: temperature, snowfall, snow depth, weather code with a short label and, when available, the coming days. Source: Open-Meteo, refreshed about every 15 minutes.
Parameters
language"de" | "nl" | "en", default "de": Language of texts and links: de, nl, en. Default de.
REST: POST /api/agent/get_weather
check_availability
Rooms that can be requested for the given dates and number of guests, with the from-price per night in EUR and the booking page URL. Check the flag "source": while it is "mock" the prices are placeholders until the live booking system is connected; do not present them as binding prices, send the guest to booking_url instead. Never books anything: the guest books on the booking page or sends a request with request_offer.
Parameters
arrival(required) string: Arrival date, YYYY-MM-DD.departure(required) string: Departure date, YYYY-MM-DD, after the arrival.adultsinteger, default 2: Number of adults, 1 to 10.childreninteger, default 0: Number of children, 0 to 8.house"hotel" | "chalet" | "motel": Only this house. Leave out for all houses.room_idstring: Only this room type (id from list_rooms).language"de" | "nl" | "en", default "de": Language of texts and links: de, nl, en. Default de.
REST: POST /api/agent/check_availability
request_offer
Sends a non-binding request for an offer to the reservation team of Hotel Mondschein, the same way as the request form on the website. Also for company stays (employees of a company, 1 April to 1 December, Sunday to Friday, rates on request): then put the company name in name and the number of employees in employees. It does not book and nothing is paid. Only call this after the guest has seen the exact content, explicitly agreed to send it (confirm: true) and agreed to the privacy policy (privacy_consent: true). Without both it returns CONFIRMATION_REQUIRED and sends nothing. If online requests cannot be delivered it returns NOT_DELIVERED with the phone and e-mail of the hotel: nothing was sent, so give the guest those instead. The team answers by e-mail.
Parameters
name(required) string: Full name of the guest.email(required) email: E-mail address for the answer.phonestring: Optional phone number.house"all" | "hotel" | "chalet" | "motel", default "all": Requested house, or all if the guest has no preference.arrivalstring: Optional arrival date, YYYY-MM-DD.departurestring: Optional departure date, YYYY-MM-DD.guestsinteger: Optional number of guests.employeesinteger: Only for a company stay: the number of employees who would stay.message(required) string: The request in the words of the guest.privacy_consentboolean, default false: true only if the guest agreed to the privacy policy (its URL is the link in the CONFIRMATION_REQUIRED answer).confirmboolean, default false: true only if the guest explicitly confirmed sending this request.language"de" | "nl" | "en", default "de": Language of texts and links: de, nl, en. Default de.
REST: POST /api/agent/request_offer
open_page
Opens a page of mondschein.com in this browser tab: either a known page by name (home, hotel, chalet, motel, buchen, kontakt, anreise, faq, angebote, firmen for company stays, arlbergLive, gebiete and more) or an internal path or URL from another tool result. Only pages on this site. Use it after the guest chose a room, offer or area.
Parameters
page"home" | "hotel" | "chalet" | "motel" | "kontakt" | "danke" | "gebiete" | "arlbergLive" | "buchen" | "reservieren" | "bestaetigung" | "verwalten" | "impressum" | "datenschutz" | "karriere" | "firmen" | "anreise" | "faq" | "geschichte" | "skiArlberg" | "wellness" | "chefsTable" | "fondue" | "angebote" | "neuigkeiten": A known page by name.pathstring: An internal path such as /nl/comfort-double/ or a full URL on this site.language"de" | "nl" | "en", default "de": Language of texts and links: de, nl, en. Default de.
Sign-in
There is no guest account on the website, so no tool needs a login, token or API key. Never ask a guest for a password.
Examples
curl -s https://mondschein.com/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'curl -s https://mondschein.com/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"list_rooms","arguments":{"house":"chalet","language":"en"}}}'curl -s https://mondschein.com/api/agent/check_availability \
-H 'Content-Type: application/json' \
-d '{"arrival":"2027-01-10","departure":"2027-01-14","adults":2,"language":"en"}'Responses and errors
Every tool responds with JSON. Success has ok: true. Errors do not throw an exception but come back as { ok: false, code, message, link, contact }, with one of these codes: VALIDATION, CONFIRMATION_REQUIRED, FORBIDDEN, NOT_FOUND, UNKNOWN_TOOL, RATE_LIMITED, UNAVAILABLE, NOT_DELIVERED. Over REST the HTTP status follows the code (400, 403, 404, 413, 429, 503).
Limits
Please send no more than about 120 requests per minute. request_offer is limited to a few requests per ten minutes and is also checked against bots.
More sources
- /llms.txt
- /openapi.json
- /openapi.html
- /.well-known/webmcp.json
- MCP:
https://mondschein.com/mcp - /developers/