protogrid

Search / io.github.Waysway-app/waysway

waysway

not classified

Waysway AI travel MCP for hotels, live prices, restaurants, flights, and activities.

v1.0.0 · active · repository · descriptor JSON · versions

Not classified yet.The remote endpoints have not been probed successfully, or the listing has nothing to connect to.
Quality79good
Trust57of 100
Uptime, 30 days93%
Latency p50871 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "waysway": {
      "type": "http",
      "url": "https://api.waysway.com/mcp"
    }
  }
}
claude mcp add --transport http waysway https://api.waysway.com/mcp
[mcp_servers.waysway]
url = "https://api.waysway.com/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "waysway": {
      "type": "remote",
      "url": "https://api.waysway.com/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "waysway": {
      "type": "http",
      "url": "https://api.waysway.com/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=waysway&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vYXBpLndheXN3YXkuY29tL21jcCJ9"
}
{
  "servers": {
    "waysway": {
      "type": "http",
      "url": "https://api.waysway.com/mcp"
    }
  }
}
{
  "mcpServers": {
    "waysway": {
      "httpUrl": "https://api.waysway.com/mcp"
    }
  }
}
extensions:
  "waysway":
    enabled: true
    name: "waysway"
    type: streamable_http
    uri: "https://api.waysway.com/mcp"
    timeout: 300

Quality 79 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-06-18; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene71 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • fail
    tools.annotationsno tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: clear_session (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); start_session (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); extract_user_profile_from_text (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
  • pass
    tools.token_costabout 3,366 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changesno tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

20 tools, about 3,366 tokens to load them all · tool set 46bc20c94482 · checked 2026-10-20 05:13 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 57 / 100

unreachable
provenance80
liveness0
freshness65
hygiene100

+repository +namespace-matches-repo -unreachable(6 failures) ~updated-176d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://api.waysway.com/mcp streamable-httpnoneno (6 failures)93%871 ms2025-06-182026-10-08

Tools (20)

check_stay_price Check live stay price for a previously recommended hotel. REQUIREMENT: - update_stay_dates must already have been called
clear_session Clear the entire session.
extract_user_profile_from_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(...)
get_booking_offers Get available hotel offers for the current session dates. REQUIREMENT: - update_stay_dates should already be set - hotel should come from previous search results
get_hotel_details Get detailed information for a hotel. Use this after search_hotels when the user asks for more details about a recommended option.
get_session_state Get a compact summary of the current session state.
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 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
list_sessions List all in-memory session summaries. Useful for debugging only.
normalize_stay_dates Parse stay dates without using session state. user_profile here is optional and only accepts standard profile fields. city is not required here.
search_activities_in_city Search activities in a city. If city is omitted, use session.city from prior hotel search.
search_flight_content Search airline-related content.
search_homestays_in_city Search homestays in a city. If city is omitted, use session.city from prior hotel search.
search_hotels 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=..., ...)
search_restaurants_near_hotel Search restaurants near a hotel.
start_session 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", ...)
update_stay_dates 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
update_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
update_user_profile_from_model 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 }

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "io.github.Waysway-app/waysway",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://api.waysway.com/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.0.0",
  "repository": {
    "url": "https://github.com/Waysway-app/waysway-mcp",
    "source": "github"
  },
  "description": "Waysway AI travel MCP for hotels, live prices, restaurants, flights, and activities."
}