KI-Agenten und Entwickler

Hotel Mondschein stellt seine Fakten für KI-Assistenten bereit: Häuser, Zimmer, Angebote, Gebiete, Wetter und Kontakt. Alle Wege nutzen dieselben Werkzeuge mit denselben Namen und Parametern. Ein Login oder API-Schlüssel ist nicht nötig.

Kurzanleitung

  1. Im Browser (WebMCP): Jede Seite von mondschein.com meldet alle Werkzeuge über document.modelContext an, bevor die Seite fertig geladen ist. Ein Browser-Agent ruft sie direkt auf, statt die Seite auszulesen.
  2. MCP-Server: https://mondschein.com/mcp (Streamable HTTP, ohne Sitzung, JSON-Antworten). Dort stehen alle Werkzeuge außer open_page, das nur im Browser-Tab sinnvoll ist.
  3. REST: dieselben Werkzeuge als POST /api/agent/{tool} mit JSON. Beschreibung: /openapi.json, interaktiv: /openapi.html.

Was die Werkzeuge nicht tun

Werkzeuge

Die Beschreibungen sind auf Englisch, so wie die Modelle sie sehen. Jedes Werkzeug nimmt den Parameter language (de, nl, en) und gibt Links in dieser Sprache zurück.

NameZweckZugriffVerfügbar über
hotel_infoAdresse, Koordinaten und Kartenlinks je Haus wie im Google-Profil, Telefon, E-Mail, Check-in und Check-out, Restaurants, ÖffnungszeitenlesenWebMCP, MCP, REST
list_housesDie drei Häuser mit Kurzbeschreibung und LinklesenWebMCP, MCP, REST
list_roomsZimmertypen je Haus mit Größe, Personen, Ausstattung und LinklesenWebMCP, MCP, REST
get_roomAlle Angaben zu einem Zimmertyp, mit Fotos und FAQlesenWebMCP, MCP, REST
list_offersAngebote und Pakete mit Leistungen, Saison und LinklesenWebMCP, MCP, REST
list_areasDie Gebietsseiten rund um StubenlesenWebMCP, MCP, REST
get_areaEine Gebietsseite mit Anreise, Orten in der Nähe, FAQ und RoutenlinklesenWebMCP, MCP, REST
get_faqHäufige Fragen, auf Wunsch mit SuchbegrifflesenWebMCP, MCP, REST
get_lift_statusLive-Status der Lifte und Pisten von Ski ArlberglesenWebMCP, MCP, REST
get_weatherAktuelles Wetter und Schneehöhe in StubenlesenWebMCP, MCP, REST
check_availabilityZimmer und Ab-Preise für Reisedaten (bis zur Anbindung an das Buchungssystem mit der Kennzeichnung mock)lesenWebMCP, MCP, REST
request_offerUnverbindliche Anfrage an das Reservierungsteam, nur nach ausdrücklicher Bestätigung des Gastessenden, mit BestätigungWebMCP, MCP, REST
open_pageÖffnet eine Seite von mondschein.com im Browser-TablesenWebMCP

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.

Parameter

  • 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.

Parameter

  • 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.

Parameter

  • 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.

Parameter

  • room_id (Pflicht) 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.

Parameter

  • 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.

Parameter

  • 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.

Parameter

  • slug (Pflicht) 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.

Parameter

  • 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.

Parameter

  • 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.

Parameter

  • 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.

Parameter

  • arrival (Pflicht) string: Arrival date, YYYY-MM-DD.
  • departure (Pflicht) 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.

Parameter

  • name (Pflicht) string: Full name of the guest.
  • email (Pflicht) 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 (Pflicht) 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.

Parameter

  • 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.

Anmeldung

Es gibt kein Gästekonto auf der Website, daher braucht kein Werkzeug einen Login, ein Token oder einen API-Schlüssel. Fragen Sie einen Gast nie nach einem Passwort.

Beispiele

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":"de"}}}'
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":"de"}'

Antworten und Fehler

Jedes Werkzeug antwortet mit JSON. Erfolg hat ok: true. Fehler werfen keine Ausnahme, sondern kommen als { ok: false, code, message, link, contact } zurück, mit einem dieser Codes: VALIDATION, CONFIRMATION_REQUIRED, FORBIDDEN, NOT_FOUND, UNKNOWN_TOOL, RATE_LIMITED, UNAVAILABLE, NOT_DELIVERED. Über REST folgt der HTTP-Status dem Code (400, 403, 404, 413, 429, 503).

Grenzen

Bitte höchstens etwa 120 Anfragen pro Minute. request_offer ist auf wenige Anfragen pro zehn Minuten begrenzt und wird zusätzlich gegen Bots geprüft.

Weitere Quellen