mcp server
waysway
Waysway AI travel MCP for hotels, live prices, restaurants, flights, and activities.
Description as published by the maintainer. Source
- version 1.0.0
- slowing
slowing — Registry entry last updated 2026-04-27.
What this server can do
20 functions, named and described by the server itself. Parameter names are shown because they say more about what a function does than its name usually does.
check_stay_price(session_id, hotel_index, hotel_code_or_name)- Check live stay price for a previously recommended hotel. REQUIREMENT: - update_stay_dates must already have been called Required: session_id.
clear_session(session_id)- Clear the entire session. Required: session_id.
extract_user_profile_from_text(text)- Lightweight fallback extraction from raw text. This is mainly for debugging and fallback use. It is NOT the preferred production path. Preferred production path: - external model understands raw text - external model outputs standard UserProfile fields - call update_user_profile_from_model(...) Required: text.
get_booking_offers(limit, session_id, hotel_index, hotel_code_or_name, preferred_room_name)- Get available hotel offers for the current session dates. REQUIREMENT: - update_stay_dates should already be set - hotel should come from previous search results Required: session_id.
get_hotel_details(session_id, hotel_code_or_name)- Get detailed information for a hotel. Use this after search_hotels when the user asks for more details about a recommended option. Required: session_id, hotel_code_or_name.
get_session_state(session_id)- Get a compact summary of the current session state. Required: session_id.
get_user_profile_schema- Return the strict standard schema for user_profile. IMPORTANT: - Only these standard UserProfile fields are allowed. - No alias mapping is supported. - city is NOT a profile field. - checkin_date / checkout_date are NOT profile fields. - Numeric budget constraints usually belong to search_hotels price_min/price_max. Use this tool when the external model is unsure what fields are allowed.
health_check- Health check for the MCP server.
ingest_user_message(merge, message, session_id, use_fallback_extraction)- Store raw user message into session context. IMPORTANT: This tool is no longer the main profile extraction path. RECOMMENDED USE: - store raw user text for context - let the external model decide profile fields - then call update_user_profile_from_model(...) DEFAULT BEHAVIOR: - append raw text into user_info - do not aggressively infer profile fields OPTIONAL: - if use_fallback_extraction=True, run a lightweight fallback extractor Required: session_id, message.
list_sessions- List all in-memory session summaries. Useful for debugging only.
normalize_stay_dates(nights, checkin_str, checkout_str, user_profile)- Parse stay dates without using session state. user_profile here is optional and only accepts standard profile fields. city is not required here. Required: checkin_str.
search_activities_in_city(city, limit, session_id)- Search activities in a city. If city is omitted, use session.city from prior hotel search. Required: session_id.
search_flight_content(limit, session_id, airline_tag)- Search airline-related content. Required: session_id.
search_homestays_in_city(city, limit, session_id)- Search homestays in a city. If city is omitted, use session.city from prior hotel search. Required: session_id.
search_hotels(city, limit, suitable, amenities, price_max, price_min, room_type, rating_min, session_id, surroundings, main_interest, user_specific, non_refundable, hotel_class_stars, exclude_hotel_codes, required_name_terms)- Search and recommend hotels. USE THIS TOOL FOR: - city-based hotel search - main search intent - direct numeric search constraints such as price_min / price_max - explicit room or amenity filters IMPORTANT: - city MUST be passed here, not inside user_profile - user_profile is for stable preferences, not for search location - if dates are known, call update_stay_dates first - if profile preferences are known, call update_user_profile_from_model first RECOMMENDED ORDER: 1. start_session 2. update_user_profile_from_model (optional) 3. update_stay_dates (optional) 4. search_hotels(city=..., ...) Required: session_id, city, main_interest.
search_restaurants_near_hotel(hotel_lat, hotel_lon, session_id, hotel_index, hotel_code_or_name)- Search restaurants near a hotel. Required: session_id.
start_session(user_id, metadata, session_id, user_profile, preferred_language)- Create or replace a session. PURPOSE: - Initialize conversation state - Optionally store stable user profile fields DO: - pass stable or semi-stable profile information in user_profile - pass preferred_language if known - call this before other hotel-related tools DO NOT: - do NOT put city inside user_profile - do NOT put checkin_date or checkout_date inside user_profile - do NOT put search filters inside user_profile CORRECT WORKFLOW: 1. start_session(...) 2. update_user_profile_from_model(...) # optional 3. update_stay_dates(...) # optional 4. search_hotels(city=..., ...) WRONG: user_profile = { "city": "New York", "checkin_date": "2023-04-01", "checkout_date": "2023-04-05" } RIGHT: start_session(user_profile={"preferred_language": "en"}) update_stay_dates(checkin_str="2023-04-01", checkout_str="2023-04-05") search_hotels(city="New York", ...) Required: session_id.
update_stay_dates(nights, session_id, checkin_str, checkout_str)- Update session stay dates. USE THIS TOOL FOR: - check-in date - check-out date - nights-based date calculation DO NOT: - do NOT put dates inside user_profile - do NOT try to pass dates through start_session user_profile Required: session_id, checkin_str.
update_user_profile(merge, session_id, user_profile)- Update session.user_profile using standard UserProfile fields only. USE THIS WHEN: - the caller already has structured profile fields DO NOT PUT HERE: - city - checkin_date - checkout_date - raw numeric search constraints that belong in search_hotels Preferred profile fields include: - price_range - budget_flexibility - relationships - travel_purpose - hotel_style - facilities_like - surroundings_like Required: session_id, user_profile.
update_user_profile_from_model(merge, session_id, extracted_user_profile)- Preferred path for profile extraction. The external model should: - read the user's natural language message - decide which STANDARD UserProfile fields are supported by evidence - send ONLY those fields here HARD RULES: - only standard UserProfile fields are allowed - do NOT invent new fields - do NOT put city here - do NOT put checkin_date or checkout_date here - omit uncertain fields instead of guessing - numeric budget constraints usually belong to search_hotels price_min/price_max GOOD EXAMPLE: { "relationships": "solo", "travel_purpose": "leisure", "hotel_style": "luxury", "facilities_like": "breakfast, gym", "surroundings_like": "downtown" } BAD EXAMPLE: { "city": "New York", "checkin_date": "2023-04-01", "checkout_date": "2023-04-05", "budget": 100 } Required: session_id, extracted_user_profile.
Last successful function declaration observed on . Source: https://api.waysway.com/mcp. We list what the server declared; we do not call any of these functions.
Endpoint status observed on . Source: https://api.waysway.com/mcp.
Signals
These are separate measurements of different things. They are deliberately not combined into one score, because a popularity number that mixes website traffic with saves and stars cannot be checked or acted on.
| Signal | Value | What it measures | Window | Observed | Source |
|---|---|---|---|---|---|
| Latest published version | 1.0.0 | Latest version string the maintainer published to the registry. | as of fetch | Model Context Protocol | |
| Registry record last updated | 2026-04-27 | When the registry record was last updated by its maintainer. | point in time | Model Context Protocol | |
| First listed in the MCP Registry | 2026-04-27 | Date this server was first published to the official MCP Registry. Not a usage or quality measure. | point in time | Model Context Protocol | |
| mcp tools declared | 20 tools | Number of functions the server itself declared when asked to list them. This is what the server offers an agent, not a measure of how well any of them work. | as of probe | api.waysway.com | |
| mcp endpoint status | ok | The server listed 20 functions when asked. | as of probe | api.waysway.com |
Where to get it
This record as data
Every field on this page, with its source and observation date, is in the catalog JSON. Fetch the whole kind at once instead of parsing this HTML.
GET /api/v1/entries/mcp_server.json