com.stayker/1stay
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Hotel booking MCP server. Search, book, and manage reservations across 250K+ properties worldwide.
| Author | com.stayker |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 299 ms |
| Last measured | 2026-10-26 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"1stay": {
"url": "https://mcp.stayker.com/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (8)
search_hotelsread-onlySearch hotels by location and dates for exactly one room. Returns available properties with nightly rates across major brands, boutique, and independent hotels. The first 1Stay release supports one room per search and reservation. Guest pays the hotel directly. Hotel's own confirmation number. Loyalty points apply.
Parameters:
check_in(required) — string — Check-in date in YYYY-MM-DD format (e.g. 2026-05-06). Must be today through 340 days from today.check_out(required) — string — Check-out date in YYYY-MM-DD format (e.g. 2026-05-07). Must be after check_in.rooms— integer — Number of rooms. 1Stay currently supports exactly one room per search and reservation; omit this field or set it to 1.cursor— string — Pagination cursor from previous search responseradius— integer — Search radius in miles, 1-100 (default 25). Applies only when the search resolves to coordinates - explicit latitude/longitude, or a venue, landmark or address that is geocoded. It is ignored for city searches, which resolve to a city code; the response reports which happened in resolution_type.currency— string — Currency code (default USD)latitude— number — Latitude — must be provided together with longitudelocation— string — City, address, venue, or landmark (e.g. 'Nashville, TN' or 'Times Square, NYC'). Required unless latitude and longitude are both provided.longitude— number — Longitude — must be provided together with latitudesearch_id— string — Search ID paired with a pagination cursor from previous resultsmax_results— integer — Max hotels to return, max 6 (default 6). Results are a representative selection across different hotel brands, not a ranking. Use the returned cursor to load more pages.guests_per_room— integer — Guests per room, 1-10 (default 2)
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
get_hotel_detailsread-onlyGet rates and room details for exactly one room at a specific hotel. Returns room types, live rates, amenities, cancellation policies, and rate_codes required by book_hotel. Guest pays the hotel directly. Displayed totals include taxes and any applicable, itemized 1Stay Booking Fee. Loyalty points eligible. Room type notes: "Run of house" means the hotel assigns the room at check-in. "Suite" at select-service brands usually means a larger room with a sofa, not a separate bedroom.
Parameters:
hotel_id(required) — string — Hotel ID from search resultscheck_in(required) — string — Check-in date in YYYY-MM-DD format (e.g. 2026-05-06)check_out(required) — string — Check-out date in YYYY-MM-DD format (e.g. 2026-05-07)rooms— integer — Number of rooms. 1Stay currently supports exactly one room per search and reservation; omit this field or set it to 1.guests— integer — Number of guests, 1-10 (default 2)accessible— boolean — When true, returns accessible (ADA) room types instead of standard ones. Default false because hotels list many near-identical accessible variants. The response always reports accessible_rooms_available.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
book_hotelBook exactly one hotel room. The first 1Stay release does not support multi-room searches or reservations. Returns a secure checkout URL. This tool accepts no guest identity or payment fields. Name, email, phone, and payment details are collected on the secure checkout page. Guest pays the hotel directly. Their credit card statement shows the hotel name, not 1Stay. Hotel's own confirmation number. Loyalty points apply automatically. The displayed total includes taxes and any applicable, itemized 1Stay Booking Fee. Requires a rate_code from get_hotel_details, valid approximately 15 minutes. Expired codes are rejected.
Parameters:
hotel_id(required) — string — Hotel ID from search or detailsrate_code(required) — string — Valid, unexpired rate code for the selected hotel, dates, and roomcheck_in(required) — string — Check-in date in YYYY-MM-DD format (e.g. 2026-05-06)check_out(required) — string — Check-out date in YYYY-MM-DD format (e.g. 2026-05-07)guests(required) — integer — Number of guests, 1-10external_reference_id— string — Caller-defined unique reference ID for idempotency and retrieval
Hints: read-only no · destructive no · idempotent yes · open-world yes
lookup_bookingread-onlyLook up a reservation by verifying the guest's identity. Returns the confirmation number and booking summary in conversation. Requires the guest's full name plus either the hotel confirmation number, or the booking email together with the last 4 digits of the card used to book. An email address alone is not enough. An optional check-in date can narrow repeat stays.
Parameters:
first_name(required) — string — Guest first name on the reservationlast_name(required) — string — Guest last name on the reservationemail— string — Email address used when bookingcheck_in_date— string — Optional check-in date (YYYY-MM-DD) to narrow repeat stayslast_four_card— string — Last 4 digits of the card used to bookconfirmation_number— string — Hotel confirmation number
Hints: read-only yes · destructive no · idempotent not declared · open-world no
resend_confirmationResend a hotel reservation confirmation email. Use either the confirmation number from a successful lookup_booking call, or the guest's full name and email address when they do not know their confirmation number, card last four, or check-in date. The email contains the hotel confirmation number the guest can then use with lookup_booking or cancel_booking. Recovery requests never reveal whether a reservation matched. The confirmation is sent only to the email address already on the booking record; there is no recipient override. Email changes are handled at https://stayker.com/service.
Parameters:
email— string — Guest email address. Used only to find a match; confirmation is sent only to the email address already on file.last_name— string — Guest last name. Required with first_name and email when the confirmation number is unavailable.first_name— string — Guest first name. Required with last_name and email when the confirmation number is unavailable.confirmation_number— string — Hotel confirmation number. Use this after a verified lookup.
Hints: read-only no · destructive no · idempotent not declared · open-world yes
get_bookingread-onlyLook up a reservation exclusively by the hotel confirmation number shown in the guest's confirmation email. Internal Stayker booking IDs are never accepted or disclosed by MCP. Returns full booking details including hotel, dates, guest info, rate, and status. Anonymous access requires a verification_token issued by lookup_booking and scoped to a single booking. Without a valid token, no booking data is returned. Developers authenticated with their own API key do not need a token; their access is scoped to their own bookings.
Parameters:
confirmation_number(required) — string — Hotel confirmation number shown in the guest's confirmation emailverification_token— string — Booking-scoped verification token required for anonymous access. Developer API key-authenticated access does not require it.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
cancel_bookingPrepare a hotel cancellation for completion on a secure 1Stay page. Verifies the guest's first name, last name, and hotel confirmation number, then returns the hotel policy classification and any cancellation deadline recorded with the reservation, plus a short-lived cancellation_url. 1Stay does not estimate a refund, credit, penalty, or hotel charge. Calling this tool never cancels the reservation. The guest must review the terms and select Cancel reservation on the secure page. A later verified booking-status lookup reporting status cancelled is the authoritative confirmation that the reservation was cancelled.
Parameters:
first_name(required) — string — Guest first name on the reservationlast_name(required) — string — Guest last name on the reservationconfirmation_number(required) — string — Hotel confirmation number
Hints: read-only no · destructive no · idempotent yes · open-world yes
search_toolsread-onlyList available 1Stay hotel booking tools. An optional keyword filters by search, book, cancel, or details; absence of a keyword returns all tools.
Parameters:
keyword— string — Optional tool filter keyword, such as book, search, cancel, or details
Hints: read-only yes · destructive no · idempotent not declared · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.