AI agents and developers

Hotel Mondschein makes its facts available to AI assistants: houses, rooms, offers, areas, weather and contact details. Every route uses the same tools with the same names and parameters. No login or API key is needed.

Quick start

  1. 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.
  2. 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.
  3. REST: the same tools as POST /api/agent/{tool} with JSON. Description: /openapi.json, interactive: /openapi.html.

What the tools do not do

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.

NamePurposeAccessAvailable via
hotel_infoAddress, coordinates and map links for each house as in the Google profile, phone, email, check-in and check-out, restaurants, opening hoursreadWebMCP, MCP, REST
list_housesThe three houses with a short description and linkreadWebMCP, MCP, REST
list_roomsRoom types per house with size, occupancy, features and linkreadWebMCP, MCP, REST
get_roomAll details of one room type, with photos and FAQreadWebMCP, MCP, REST
list_offersOffers and packages with inclusions, season and linkreadWebMCP, MCP, REST
list_areasThe area pages around StubenreadWebMCP, MCP, REST
get_areaOne area page with directions, nearby places, FAQ and route linkreadWebMCP, MCP, REST
get_faqFrequently asked questions, optionally with a search termreadWebMCP, MCP, REST
get_lift_statusLive status of the Ski Arlberg lifts and slopesreadWebMCP, MCP, REST
get_weatherCurrent weather and snow depth in StubenreadWebMCP, MCP, REST
check_availabilityRooms and from-prices for travel dates (marked mock until the booking system is connected)readWebMCP, MCP, REST
request_offerA non-binding enquiry to the reservations team, only after the guest has explicitly confirmedsend, with confirmationWebMCP, MCP, REST
open_pageOpens a page of mondschein.com in the browser tabreadWebMCP

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

  • query string: 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.
  • adults integer, default 2: Number of adults, 1 to 10.
  • children integer, default 0: Number of children, 0 to 8.
  • house "hotel" | "chalet" | "motel": Only this house. Leave out for all houses.
  • room_id string: 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.
  • phone string: Optional phone number.
  • house "all" | "hotel" | "chalet" | "motel", default "all": Requested house, or all if the guest has no preference.
  • arrival string: Optional arrival date, YYYY-MM-DD.
  • departure string: Optional departure date, YYYY-MM-DD.
  • guests integer: Optional number of guests.
  • employees integer: Only for a company stay: the number of employees who would stay.
  • message (required) string: The request in the words of the guest.
  • privacy_consent boolean, default false: true only if the guest agreed to the privacy policy (its URL is the link in the CONFIRMATION_REQUIRED answer).
  • confirm boolean, 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.
  • path string: 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