Skip to main content
Glama

Server Details

Hotel booking MCP server. Search, book, and manage reservations across 250K+ properties worldwide.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 54 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
STAYKER-COM/1Stay-mcp
GitHub Stars
3
Server Listing
1Stay Hotel Booking

TDQS

A4.1/5.0

Scored across 8 tools

Disambiguation3/5

Most tools map cleanly to distinct operations, but get_booking and lookup_booking both read booking information and could easily be confused by an agent. Cancel and resend also share verification-like behavior, though the descriptions help clarify the boundaries.

Naming Consistency4/5

All tool names follow a verb_noun snake_case pattern, which is predictable and readable. The main inconsistency is lookup_booking sitting alongside get_booking, plus the more compound get_hotel_details, but overall the convention is consistent.

Tool Count5/5

Eight tools is well-scoped for a hotel booking server, covering search, details, booking, lookup, cancellation, resend, and tool discovery. Each tool has a clear role and none feel redundant or missing from a sizing standpoint.

Completeness4/5

The toolset covers the core hotel booking lifecycle: search, rate details, book, retrieve, verify, cancel-prepare, and resend confirmation. The main gaps are lack of booking modification and the fact that cancellation is only prepared via URL rather than executed through the API, but these are workable limitations.

Available Tools

8 tools
book_hotelBook HotelA
Idempotent
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
guestsYesNumber of guests, 1-10
check_inYesCheck-in date in YYYY-MM-DD format (e.g. 2026-05-06)
hotel_idYesHotel ID from search or details
check_outYesCheck-out date in YYYY-MM-DD format (e.g. 2026-05-07)
rate_codeYesValid, unexpired rate code for the selected hotel, dates, and room
external_reference_idNoCaller-defined unique reference ID for idempotency and retrieval

Output Schema

ParametersJSON Schema
NameRequiredDescription
taxesNo
nightsNo
statusYes
messageYes
check_inNo
currencyNo
subtotalNo
check_outNo
rate_planNo
room_typeNo
hotel_nameNo
booking_feeNo
booking_typeNo
checkout_urlNo
idempotency_hitNo
avg_nightly_rateNo
total_with_taxesNo
expires_in_minutesNo
cancellation_policyNo
confirmation_numberNo
booking_fee_currencyNo
external_reference_idNo
reward_points_eligibleNo

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes well beyond the annotations by explaining that no guest identity or payment fields are accepted, that payment is collected on a secure checkout page, that the guest pays the hotel directly, and that the total includes taxes and any itemized booking fee. It also discloses rate-code expiry behavior holistically and confirms the hotel's own confirmation number is used.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is organized into three short paragraphs with the core purpose and primary limitation front-loaded. Every sentence adds a distinct operational fact, and while some fragments are terse, none are filler or redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a booking tool with six parameters, an output schema, and a complex payment flow, the description covers all essential behavioral and operational aspects: what to pass, what happens after booking, what the user sees on the statement, and what prerequisites apply. The output schema can handle return-value details, and sibling tools like cancel_booking and get_booking cover downstream workflows.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Since schema coverage is 100%, the schema already documents each parameter's meaning. The description adds valuable context for rate_code by explaining where it comes from, that it is valid only about 15 minutes, and that expired codes are rejected, which is not fully captured in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action and resource: 'Book exactly one hotel room.' It also differentiates the tool from siblings by noting the first release does not support multi-room searches/reservations, making it clear this is the reservation-creation tool and not search_hotels, get_hotel_details, or cancel_booking.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly names the prerequisite tool and parameter: 'Requires a rate_code from get_hotel_details, valid approximately 15 minutes.' It also gives a clear condition for when not to use it (multi-room requests are unsupported), though it does not explicitly compare against every sibling alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cancel_bookingCancel BookingA
Idempotent
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
last_nameYesGuest last name on the reservation
first_nameYesGuest first name on the reservation
confirmation_numberYesHotel confirmation number

Output Schema

ParametersJSON Schema
NameRequiredDescription
statusYes
bookingNo
messageYes
cancellationNo
cancellation_urlNo
cancellation_url_expires_atNo

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate non-destructive and idempotent behavior, but the description adds valuable context: it returns a short-lived cancellation URL, does not estimate any refund/penalty, and never cancels the reservation directly. It also clarifies that the guest must manually confirm on the secure page. This goes beyond what annotations state, though it could mention rate limits or security specifics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, information-dense paragraph of six sentences, each serving a purpose: purpose, verification and output, caveat about no estimates, explicit statement that it never cancels, guest action required, and authoritative confirmation. There is no redundancy, though it could be slightly more scannable with bullet points, but it earns its length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is a preparatory, non-destructive step, and the description covers all necessary context: the verification process, the output (policy, deadline, URL), the non-estimation of charges, the non-cancellation behavior, the required guest action, and how to confirm actual cancellation via a later status lookup. With an output schema present, return values need no further explanation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already covers 100% of the parameter descriptions (first_name, last_name, confirmation_number). The description only re-echoes these fields when saying it 'verifies' them, adding no new semantics or formatting rules. Per the rubric, a baseline of 3 is appropriate when the schema fully documents parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Prepare a hotel cancellation for completion on a secure 1Stay page.' It clearly distinguishes the tool from siblings like book_hotel or lookup_booking by focusing on cancellation preparation, and it explicitly states it never actually cancels, which avoids confusion with a cancellation-confirmation tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for when this tool should be used: to initiate a cancellation flow by generating a cancellation URL. It implicitly contrasts with a 'booking-status lookup' as the authoritative confirmation step, guiding the agent to use lookup tools for final status. However, it does not explicitly name a sibling tool as an alternative, which would strengthen the guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_bookingView Booking DetailsA
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
verification_tokenNoBooking-scoped verification token required for anonymous access. Developer API key-authenticated access does not require it.
confirmation_numberYesHotel confirmation number shown in the guest's confirmation email

Output Schema

ParametersJSON Schema
NameRequiredDescription
roomNo
hotelNo
guestsNo
nightsNo
statusNo
pricingNo
check_inNo
check_outNo
created_atNo
booking_typeYes
cancellationNo
action_handoffYes
available_actionsYes
confirmation_numberNo
reward_points_eligibleYes

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark this as read-only and non-destructive, and the description adds valuable behavioral nuance: internal IDs are never exposed, a missing/invalid token blocks data return, and developer access is scoped to their own bookings. This goes beyond the structured annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences with no filler. The most important constraint (external confirmation number only) is front-loaded, and the auth behavior is stated succinctly afterward.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter read-only tool with an output schema, the description covers everything needed to invoke it correctly: identifier format, auth requirements, return summary, and security scope. No important operational detail is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already documents both parameters fully, so the baseline is 3. The description adds meaningful context by clarifying that confirmation_number must come from the guest's confirmation email, that internal IDs are never valid, and that verification_token must be issued by lookup_booking and is booking-scoped.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the action ('Look up a reservation') and the exact resource/key ('hotel confirmation number'). It also explicitly differentiates the tool from sibling get/lookup tools by stating that internal Stayker booking IDs are never accepted or disclosed.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states precisely when the tool is usable: only with an external hotel confirmation number, not internal IDs. It also gives a concrete prerequisite for anonymous access, naming lookup_booking as the issuer of the required verification_token, and distinguishes developer API-key access.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_hotel_detailsHotel DetailsA
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
roomsNoNumber of rooms. 1Stay currently supports exactly one room per search and reservation; omit this field or set it to 1.
guestsNoNumber of guests, 1-10 (default 2)
check_inYesCheck-in date in YYYY-MM-DD format (e.g. 2026-05-06)
hotel_idYesHotel ID from search results
check_outYesCheck-out date in YYYY-MM-DD format (e.g. 2026-05-07)
accessibleNoWhen 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.

Output Schema

ParametersJSON Schema
NameRequiredDescription
stayNo
hotelYes
roomsYes
messageNo
next_stepNo
availability_statusNo
accessible_rooms_noteNo
rate_quote_expires_atNo
rate_quote_ttl_secondsNo
accessible_rooms_availableYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds meaningful behavioral context beyond that: the guest pays the hotel directly, displayed totals include taxes and an itemized 1Stay Booking Fee, and loyalty points are eligible. The room-type notes further clarify what results mean, which is valuable for an agent interpreting responses.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose in the first sentence, then adds tightly relevant details about payment, fees, loyalty, and room-type terminology. It is longer than the minimum, but each section adds decision-relevant context without filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only details tool with an output schema and full parameter documentation, the description is complete: it states scope, links the output to the next booking step, explains pricing behavior, and clarifies ambiguous room-type terms. Nothing critical is missing for an agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all six parameters are already documented in the input schema. The description adds only marginal parameter-level value, mostly restating the one-room constraint already captured in the rooms parameter. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Get rates and room details for exactly one room at a specific hotel.' It then enumerates the concrete outputs (room types, live rates, amenities, cancellation policies, rate_codes), which clearly differentiates it from sibling tools like search_hotels and book_hotel.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The context is clear: this is the detail-lookup step for a specific hotel before booking, reinforced by stating the returned rate_codes are 'required by book_hotel.' It does not explicitly spell out when not to use it or name alternatives, but the workflow implication is strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lookup_bookingFind ReservationA
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
emailNoEmail address used when booking
last_nameYesGuest last name on the reservation
first_nameYesGuest first name on the reservation
check_in_dateNoOptional check-in date (YYYY-MM-DD) to narrow repeat stays
last_four_cardNoLast 4 digits of the card used to book
confirmation_numberNoHotel confirmation number

Output Schema

ParametersJSON Schema
NameRequiredDescription
hotelNo
statusYes
check_inNo
check_outNo
guest_nameNo
action_handoffYes
booking_statusNo
available_actionsNo
verification_tokenYes
confirmation_numberYes
verification_token_noteNo
confirmation_number_statusNo
verification_token_expires_atYes

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavioral context: it verifies identity, requires specific combinations of information, and returns results 'in conversation.' It does not detail failure behavior or privacy handling, but the annotations plus description are strong.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, front-loaded with the main purpose, and every sentence adds necessary information. It avoids redundancy with the schema and annotations, and the structure flows from purpose to requirements to optional narrowing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (6 params, 2 required), the description fully covers what an agent needs: required identity verification, acceptable parameter combinations, and the optional narrowing field. The output schema exists, so return values need not be described. No critical gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds value by explaining the logical relationship between parameters (e.g., email alone is insufficient, last_four_card must accompany email, confirmation_number is an alternative). This goes beyond the schema's individual field descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('look up'), a resource ('reservation'), and the key outcome (returns confirmation number and booking summary). It also distinguishes itself from siblings like get_booking by emphasizing identity verification, which is a unique aspect of this tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states what is required (full name plus either confirmation number, or email with last 4 digits), what is not enough (email alone), and what is optional (check-in date). This gives clear when-to-use guidance and prevents misuse.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resend_confirmationResend ConfirmationAInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
emailNoGuest email address. Used only to find a match; confirmation is sent only to the email address already on file.
last_nameNoGuest last name. Required with first_name and email when the confirmation number is unavailable.
first_nameNoGuest first name. Required with last_name and email when the confirmation number is unavailable.
confirmation_numberNoHotel confirmation number. Use this after a verified lookup.

Output Schema

ParametersJSON Schema
NameRequiredDescription
statusYes
messageYes

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint=false, openWorldHint=true, and destructiveHint=false, but the description adds substantial behavioral context: recovery requests never reveal whether a reservation matched, the confirmation is sent only to the already-on-file email with no recipient override, and email changes are handled at a specific URL. These details go beyond the annotations and meaningfully inform the agent about side effects and privacy constraints. No contradiction exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a focused paragraph that front-loads the core action, then covers parameter selection and key behavioral notes. It is concise and every sentence contributes useful information. It could be slightly tightened, but it remains well-structured and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 4 optional parameters, the presence of an output schema, and annotations, the description fully covers what an agent needs to invoke the tool correctly: when to use it, how to choose parameters, privacy/security behavior, and where to direct email changes. Nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so each parameter is already well-documented in the schema. The description restates the choice between confirmation_number and first_name/last_name/email, and adds the nuance that email is used only to find a match and that the confirmation goes to the on-file address. However, this is largely redundant with the schema descriptions, so the description adds marginal value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: resend a hotel reservation confirmation email. It distinguishes itself from sibling tools by referencing lookup_booking as the source of a valid confirmation number and positioning itself in the booking workflow. It is immediately clear what this tool does and how it differs from lookup, cancel, or book operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit conditions for parameter usage: use confirmation_number from a successful lookup_booking call, or use first_name, last_name, and email when the guest lacks the confirmation number, card last four, or check-in date. It also notes that the confirmation is sent only to the on-file email and directs email changes to an external URL. While it does not explicitly name when not to use this tool relative to siblings, the guidance is specific and actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_hotelsSearch HotelsA
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
roomsNoNumber of rooms. 1Stay currently supports exactly one room per search and reservation; omit this field or set it to 1.
cursorNoPagination cursor from previous search response
radiusNoSearch 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.
check_inYesCheck-in date in YYYY-MM-DD format (e.g. 2026-05-06). Must be today through 340 days from today.
currencyNoCurrency code (default USD)
latitudeNoLatitude — must be provided together with longitude
locationNoCity, address, venue, or landmark (e.g. 'Nashville, TN' or 'Times Square, NYC'). Required unless latitude and longitude are both provided.
check_outYesCheck-out date in YYYY-MM-DD format (e.g. 2026-05-07). Must be after check_in.
longitudeNoLongitude — must be provided together with latitude
search_idNoSearch ID paired with a pagination cursor from previous results
max_resultsNoMax 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_roomNoGuests per room, 1-10 (default 2)

Output Schema

ParametersJSON Schema
NameRequiredDescription
roomsNo
cursorYes
resultsYes
check_inYes
has_moreYes
check_outYes
search_idNo
total_resultsYes
guests_per_roomNo
resolution_typeNo
resolved_locationNo
conversion_appliedNo
requested_currencyNo
returned_currenciesNo

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds beyond that: the 1Stay release limits searches/reservations to one room, guests pay the hotel directly, the hotel issues its own confirmation number, and loyalty points apply. This provides useful service-context behavior not present in the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short paragraphs, front-loaded with the core search action and outcome, followed by concise service constraints. Every sentence adds value and there is no fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values are covered elsewhere. The description plus schema fully address the one-room constraint, payment model, and search scope. It could be slightly more complete by pointing to sibling tools, but that belongs more under usage guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema carries the parameter details. The description only restates 'location and dates' and 'exactly one room,' which duplicates what the schema already specifies; it adds no new parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the specific verb 'Search' and resource 'hotels', and adds meaningful scope: by location and dates, for exactly one room, returning nightly rates across major brands. This clearly differentiates it from booking/management siblings like book_hotel and get_booking, so an agent can identify the tool without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the primary use case (finding available hotels) but does not explicitly contrast with alternatives like get_hotel_details or book_hotel, nor state conditions for when not to use the tool. The one-room constraint is present but is more a service limitation than guidance on tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_toolsSearch ToolsA
Read-only
Inspect

List available 1Stay hotel booking tools. An optional keyword filters by search, book, cancel, or details; absence of a keyword returns all tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordNoOptional tool filter keyword, such as book, search, cancel, or details

Output Schema

ParametersJSON Schema
NameRequiredDescription
toolsYes
totalYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the behavior that absence of a keyword returns all tools, which is useful. However, it doesn't disclose details like whether the keyword is case-sensitive or whether it matches partial words, but that's minor given the simple nature of the tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no waste. The purpose is front-loaded, and the optional keyword behavior is stated efficiently. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list/discovery tool with one optional parameter and an output schema, the description is complete. It explains the keyword filter and the default behavior. The only minor gap is not specifying the output format, but the output schema likely covers that, and the tool's simplicity reduces the need for more.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents the keyword parameter. The description adds the behavior that absence of a keyword returns all tools, which complements the schema. Baseline 3 is appropriate because the schema does the heavy lifting and the description adds minimal extra meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists available 1Stay hotel booking tools and that an optional keyword filters by search, book, cancel, or details. It distinguishes itself from the sibling tools by being a discovery/meta-tool rather than a booking operation, though it doesn't explicitly name a sibling alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use the tool: to list available tools, with an optional keyword to filter. It implies the alternative is browsing all tools without a keyword, but it doesn't explicitly state when not to use it or compare it to a specific sibling. The context is clear enough for an agent to decide.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updates
    • Changedbook_hotel3 fields changed
      • changedInput schema / properties / guests / description
        Previous value: -"Number of guests"New value: +"Number of guests, 1-10"
      • changedInput schema / properties / guests / maximum
        Previous value: -9007199254740991New value: +10
      • changedInput schema / properties / guests / minimum
        Previous value: --9007199254740991New value: +1
    • Changedget_hotel_details3 fields changed
      • changedInput schema / properties / guests / description
        Previous value: -"Number of guests (default 2)"New value: +"Number of guests, 1-10 (default 2)"
      • changedInput schema / properties / guests / maximum
        Previous value: -9007199254740991New value: +10
      • changedInput schema / properties / guests / minimum
        Previous value: --9007199254740991New value: +1
    • Changedsearch_hotels8 fields changed
      • changedInput schema / properties / guests_per_room / description
        Previous value: -"Guests per room (default 2)"New value: +"Guests per room, 1-10 (default 2)"
      • changedInput schema / properties / guests_per_room / maximum
        Previous value: -9007199254740991New value: +10
      • changedInput schema / properties / guests_per_room / minimum
        Previous value: --9007199254740991New value: +1
      • changedInput schema / properties / max_results / description
        Previous value: -"Max hotels to return, max 4 (default 4). Use the returned cursor to load more pages."New value: +"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."
      • changedInput schema / properties / max_results / maximum
        Previous value: -4New value: +6
      • changedInput schema / properties / radius / description
        Previous value: -"Search radius in miles (default 25, max 100)"New value: +"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."
      • changedInput schema / properties / radius / maximum
        Previous value: -9007199254740991New value: +100
      • changedInput schema / properties / radius / minimum
        Previous value: --9007199254740991New value: +1
  2. 8 tool updates
    • Changedbook_hotel12 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • removedInput schema / additionalProperties
        Removed value: -false
      • changedInput schema / properties / check_in / description
        Previous value: -"Check-in date in YYYY-MM-DD format (e.g. 2026-05-06), no more than 340 days from today"New value: +"Check-in date in YYYY-MM-DD format (e.g. 2026-05-06)"
      • addedInput schema / properties / guests / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / guests / minimum
        Added value: +-9007199254740991
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedOutput schema / properties / expires_in_minutes / maximum
        Added value: +9007199254740991
      • addedOutput schema / properties / expires_in_minutes / minimum
        Added value: +-9007199254740991
      • addedOutput schema / properties / external_reference_id / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / external_reference_id / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / nights / maximum
        Added value: +9007199254740991
      • addedOutput schema / properties / nights / minimum
        Added value: +-9007199254740991
    • Changedcancel_booking6 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • removedInput schema / additionalProperties
        Removed value: -false
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedOutput schema / properties / booking / propertyNames
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / properties / cancellation / anyOf
        Previous value: -[
        -  {
        -    "$ref": "#/properties/booking"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": {},
        +    "propertyNames": {
        +      "type": "string"
        +    },
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / confirmation_number
        Removed value: -{
        -  "type": "string"
        -}
    • Changedget_booking20 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • removedInput schema / additionalProperties
        Removed value: -false
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / properties / cancellation / anyOf
        Previous value: -[
        -  {
        -    "$ref": "#/properties/guests/items"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": {},
        +    "propertyNames": {
        +      "type": "string"
        +    },
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedOutput schema / properties / check_in / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / check_in / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / check_out / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / check_out / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / confirmation_number / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / confirmation_number / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / created_at / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / created_at / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / guests / items / propertyNames
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / nights / maximum
        Added value: +9007199254740991
      • addedOutput schema / properties / nights / minimum
        Added value: +-9007199254740991
      • removedOutput schema / properties / pricing / $ref
        Removed value: -"#/properties/guests/items"
      • addedOutput schema / properties / pricing / additionalProperties
        Added value: +false
      • addedOutput schema / properties / pricing / properties
        Added value: +{
        +  "currency": {
        +    "type": "string"
        +  },
        +  "hotel_fees": {
        +    "type": "number"
        +  },
        +  "hotel_total": {
        +    "type": "number"
        +  },
        +  "room_total": {
        +    "type": "number"
        +  },
        +  "service_fee": {
        +    "type": "number"
        +  },
        +  "taxes": {
        +    "type": "number"
        +  }
        +}
      • addedOutput schema / properties / pricing / required
        Added value: +[
        +  "room_total",
        +  "taxes",
        +  "hotel_fees",
        +  "hotel_total",
        +  "currency"
        +]
      • addedOutput schema / properties / pricing / type
        Added value: +"object"
    • Changedget_hotel_details50 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • removedInput schema / additionalProperties
        Removed value: -false
      • changedInput schema / properties / check_in / description
        Previous value: -"Check-in date in YYYY-MM-DD format (e.g. 2026-05-06), no more than 340 days from today"New value: +"Check-in date in YYYY-MM-DD format (e.g. 2026-05-06)"
      • addedInput schema / properties / guests / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / guests / minimum
        Added value: +-9007199254740991
      • removedInput schema / properties / rooms / const
        Removed value: -1
      • addedInput schema / properties / rooms / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / rooms / minimum
        Added value: +-9007199254740991
      • changedInput schema / properties / rooms / type
        Previous value: -"number"New value: +"integer"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedOutput schema / properties / accessible_rooms_available / maximum
        Added value: +9007199254740991
      • addedOutput schema / properties / accessible_rooms_available / minimum
        Added value: +-9007199254740991
      • addedOutput schema / properties / accessible_rooms_note / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / accessible_rooms_note / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / hotel / properties / address
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "city": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "country": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "line1": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "line2": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "postal_code": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "state": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    }
        +  },
        +  "required": [
        +    "line1",
        +    "line2",
        +    "city",
        +    "state",
        +    "postal_code",
        +    "country"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / hotel / properties / amenities
        Added value: +{
        +  "items": {},
        +  "type": "array"
        +}
      • addedOutput schema / properties / hotel / properties / chain / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / hotel / properties / chain / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / hotel / properties / check_in_time / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / hotel / properties / check_in_time / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / hotel / properties / check_out_time / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / hotel / properties / check_out_time / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / hotel / properties / description
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / hotel / properties / name / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / hotel / properties / name / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / hotel / properties / photos / items / properties / description / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / hotel / properties / photos / items / properties / description / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • changedOutput schema / properties / hotel / required
        Previous value: -[
        -  "hotel_id",
        -  "photos"
        -]New value: +[
        +  "hotel_id",
        +  "address",
        +  "amenities",
        +  "photos"
        +]
      • addedOutput schema / properties / rate_quote_expires_at / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / rate_quote_expires_at / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • changedOutput schema / properties / rate_quote_ttl_seconds / anyOf
        Previous value: -[
        -  {
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "maximum": 9007199254740991,
        +    "minimum": -9007199254740991,
        +    "type": "integer"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedOutput schema / properties / rooms / items / properties / bed_type / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / rooms / items / properties / bed_type / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / rooms / items / properties / description / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / rooms / items / properties / description / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / rooms / items / properties / max_occupancy / maximum
        Added value: +9007199254740991
      • addedOutput schema / properties / rooms / items / properties / max_occupancy / minimum
        Added value: +-9007199254740991
      • addedOutput schema / properties / rooms / items / properties / rate_plans / items / properties / booking_terms
        Added value: +{
        +  "additionalProperties": {},
        +  "propertyNames": {
        +    "type": "string"
        +  },
        +  "type": "object"
        +}
      • removedOutput schema / properties / rooms / items / properties / rate_plans / items / properties / cancel_by_datetime / $ref
        Removed value: -"#/properties/hotel/properties/photos/items/properties/description"
      • addedOutput schema / properties / rooms / items / properties / rate_plans / items / properties / cancel_by_datetime / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / rooms / items / properties / rate_plans / items / properties / guarantee_policy / $ref
        Removed value: -"#/properties/hotel/properties/photos/items/properties/description"
      • addedOutput schema / properties / rooms / items / properties / rate_plans / items / properties / guarantee_policy / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedOutput schema / properties / rooms / items / properties / rate_plans / items / properties / meal_plan / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / rooms / items / properties / rate_plans / items / properties / meal_plan / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / rooms / items / properties / rate_plans / items / properties / name / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / rooms / items / properties / rate_plans / items / properties / name / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / rooms / items / properties / rate_plans / items / properties / refundable / anyOf
        Added value: +[
        +  {
        +    "type": "boolean"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / rooms / items / properties / rate_plans / items / properties / refundable / type
        Removed value: -[
        -  "boolean",
        -  "null"
        -]
      • addedOutput schema / properties / rooms / items / properties / room_name_confidence
        Added value: +{
        +  "enum": [
        +    "high",
        +    "medium",
        +    "low"
        +  ],
        +  "type": "string"
        +}
      • addedOutput schema / properties / stay
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "check_in": {
        +      "type": "string"
        +    },
        +    "check_out": {
        +      "type": "string"
        +    },
        +    "guests": {
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "nights": {
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "rooms": {
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "check_in",
        +    "check_out",
        +    "guests",
        +    "rooms",
        +    "nights"
        +  ],
        +  "type": "object"
        +}
    • Changedlookup_booking6 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • removedInput schema / additionalProperties
        Removed value: -false
      • changedInput schema / properties / check_in_date / description
        Previous value: -"Check-in date (YYYY-MM-DD) — required with last_four_card"New value: +"Optional check-in date (YYYY-MM-DD) to narrow repeat stays"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedOutput schema / properties / confirmation_number / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / confirmation_number / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
    • Changedresend_confirmation4 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / email / pattern
        Added value: +"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedsearch_hotels35 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / guests_per_room / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / guests_per_room / minimum
        Added value: +-9007199254740991
      • changedInput schema / properties / max_results / description
        Previous value: -"Max hotels to return, max 15 (default 4)"New value: +"Max hotels to return, max 4 (default 4). Use the returned cursor to load more pages."
      • addedInput schema / properties / max_results / maximum
        Added value: +4
      • addedInput schema / properties / max_results / minimum
        Added value: +1
      • addedInput schema / properties / radius / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / radius / minimum
        Added value: +-9007199254740991
      • removedInput schema / properties / rooms / const
        Removed value: -1
      • addedInput schema / properties / rooms / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / rooms / minimum
        Added value: +-9007199254740991
      • changedInput schema / properties / rooms / type
        Previous value: -"number"New value: +"integer"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedOutput schema / properties / check_in
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / check_out
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / cursor / $ref
        Removed value: -"#/properties/results/items/properties/photo"
      • addedOutput schema / properties / cursor / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedOutput schema / properties / guests_per_room / maximum
        Added value: +9007199254740991
      • addedOutput schema / properties / guests_per_room / minimum
        Added value: +-9007199254740991
      • changedOutput schema / properties / results / items / properties / address / additionalProperties
        Previous value: -trueNew value: +{}
      • removedOutput schema / properties / results / items / properties / avg_nightly_rate / $ref
        Removed value: -"#/properties/results/items/properties/total_stay"
      • addedOutput schema / properties / results / items / properties / avg_nightly_rate / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / results / items / properties / distance_miles
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / results / items / properties / nights / maximum
        Added value: +9007199254740991
      • addedOutput schema / properties / results / items / properties / nights / minimum
        Added value: +-9007199254740991
      • addedOutput schema / properties / results / items / properties / photo / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / results / items / properties / photo / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / results / items / properties / total_stay / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / results / items / properties / total_stay / type
        Removed value: -[
        -  "number",
        -  "null"
        -]
      • addedOutput schema / properties / rooms / maximum
        Added value: +9007199254740991
      • addedOutput schema / properties / rooms / minimum
        Added value: +-9007199254740991
      • addedOutput schema / properties / total_results / maximum
        Added value: +9007199254740991
      • addedOutput schema / properties / total_results / minimum
        Added value: +-9007199254740991
      • changedOutput schema / required
        Previous value: -[
        -  "results",
        -  "total_results",
        -  "cursor",
        -  "has_more"
        -]New value: +[
        +  "results",
        +  "total_results",
        +  "check_in",
        +  "check_out",
        +  "cursor",
        +  "has_more"
        +]
    • Changedsearch_tools5 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • removedInput schema / additionalProperties
        Removed value: -false
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedOutput schema / properties / total / maximum
        Added value: +9007199254740991
      • addedOutput schema / properties / total / minimum
        Added value: +-9007199254740991
  3. 8 tool updates
    • Changedbook_hotel11 fields changed
      • changedInput schema / $schema
        Previous value: -"https://json-schema.org/draft/2020-12/schema"New value: +"http://json-schema.org/draft-07/schema#"
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / guests / maximum
        Removed value: -9007199254740991
      • removedInput schema / properties / guests / minimum
        Removed value: --9007199254740991
      • changedOutput schema / $schema
        Previous value: -"https://json-schema.org/draft/2020-12/schema"New value: +"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / properties / expires_in_minutes / maximum
        Removed value: -9007199254740991
      • removedOutput schema / properties / expires_in_minutes / minimum
        Removed value: --9007199254740991
      • removedOutput schema / properties / external_reference_id / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / external_reference_id / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / nights / maximum
        Removed value: -9007199254740991
      • removedOutput schema / properties / nights / minimum
        Removed value: --9007199254740991
    • Changedcancel_booking5 fields changed
      • changedInput schema / $schema
        Previous value: -"https://json-schema.org/draft/2020-12/schema"New value: +"http://json-schema.org/draft-07/schema#"
      • addedInput schema / additionalProperties
        Added value: +false
      • changedOutput schema / $schema
        Previous value: -"https://json-schema.org/draft/2020-12/schema"New value: +"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / properties / booking / propertyNames
        Removed value: -{
        -  "type": "string"
        -}
      • changedOutput schema / properties / cancellation / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": {},
        -    "propertyNames": {
        -      "type": "string"
        -    },
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "$ref": "#/properties/booking"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
    • Changedget_booking22 fields changed
      • changedInput schema / $schema
        Previous value: -"https://json-schema.org/draft/2020-12/schema"New value: +"http://json-schema.org/draft-07/schema#"
      • addedInput schema / additionalProperties
        Added value: +false
      • changedOutput schema / $schema
        Previous value: -"https://json-schema.org/draft/2020-12/schema"New value: +"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / properties / cancellation / additionalProperties
        Removed value: -{}
      • addedOutput schema / properties / cancellation / anyOf
        Added value: +[
        +  {
        +    "$ref": "#/properties/guests/items"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / cancellation / propertyNames
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / cancellation / type
        Removed value: -"object"
      • removedOutput schema / properties / check_in / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / check_in / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / check_out / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / check_out / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / confirmation_number / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / confirmation_number / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / created_at / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / created_at / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / guests / items / propertyNames
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / nights / maximum
        Removed value: -9007199254740991
      • removedOutput schema / properties / nights / minimum
        Removed value: --9007199254740991
      • addedOutput schema / properties / pricing / $ref
        Added value: +"#/properties/guests/items"
      • removedOutput schema / properties / pricing / additionalProperties
        Removed value: -{}
      • removedOutput schema / properties / pricing / propertyNames
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / pricing / type
        Removed value: -"object"
    • Changedget_hotel_details42 fields changed
      • changedInput schema / $schema
        Previous value: -"https://json-schema.org/draft/2020-12/schema"New value: +"http://json-schema.org/draft-07/schema#"
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / guests / maximum
        Removed value: -9007199254740991
      • removedInput schema / properties / guests / minimum
        Removed value: --9007199254740991
      • changedOutput schema / $schema
        Previous value: -"https://json-schema.org/draft/2020-12/schema"New value: +"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / properties / accessible_rooms_available / maximum
        Removed value: -9007199254740991
      • removedOutput schema / properties / accessible_rooms_available / minimum
        Removed value: --9007199254740991
      • removedOutput schema / properties / accessible_rooms_note / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / accessible_rooms_note / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / hotel / properties / address
        Removed value: -{
        -  "additionalProperties": false,
        -  "properties": {
        -    "city": {
        -      "anyOf": [
        -        {
        -          "type": "string"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ]
        -    },
        -    "country": {
        -      "anyOf": [
        -        {
        -          "type": "string"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ]
        -    },
        -    "line1": {
        -      "anyOf": [
        -        {
        -          "type": "string"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ]
        -    },
        -    "line2": {
        -      "anyOf": [
        -        {
        -          "type": "string"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ]
        -    },
        -    "postal_code": {
        -      "anyOf": [
        -        {
        -          "type": "string"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ]
        -    },
        -    "state": {
        -      "anyOf": [
        -        {
        -          "type": "string"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ]
        -    }
        -  },
        -  "type": "object"
        -}
      • removedOutput schema / properties / hotel / properties / amenities
        Removed value: -{
        -  "items": {},
        -  "type": "array"
        -}
      • removedOutput schema / properties / hotel / properties / chain / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / hotel / properties / chain / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / hotel / properties / check_in_time / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / hotel / properties / check_in_time / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / hotel / properties / check_out_time / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / hotel / properties / check_out_time / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / hotel / properties / description
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / hotel / properties / name / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / hotel / properties / name / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / hotel / properties / photos / items / properties / description / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / hotel / properties / photos / items / properties / description / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / rate_quote_expires_at / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / rate_quote_expires_at / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / rate_quote_ttl_seconds / anyOf
        Previous value: -[
        -  {
        -    "maximum": 9007199254740991,
        -    "minimum": -9007199254740991,
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "type": "integer"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / rooms / items / properties / bed_type / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / rooms / items / properties / bed_type / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / rooms / items / properties / description / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / rooms / items / properties / description / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / rooms / items / properties / max_occupancy / maximum
        Removed value: -9007199254740991
      • removedOutput schema / properties / rooms / items / properties / max_occupancy / minimum
        Removed value: --9007199254740991
      • addedOutput schema / properties / rooms / items / properties / rate_plans / items / properties / cancel_by_datetime / $ref
        Added value: +"#/properties/hotel/properties/photos/items/properties/description"
      • removedOutput schema / properties / rooms / items / properties / rate_plans / items / properties / cancel_by_datetime / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / rooms / items / properties / rate_plans / items / properties / guarantee_policy / $ref
        Added value: +"#/properties/hotel/properties/photos/items/properties/description"
      • removedOutput schema / properties / rooms / items / properties / rate_plans / items / properties / guarantee_policy / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / rooms / items / properties / rate_plans / items / properties / meal_plan / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / rooms / items / properties / rate_plans / items / properties / meal_plan / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / rooms / items / properties / rate_plans / items / properties / name / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / rooms / items / properties / rate_plans / items / properties / name / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / rooms / items / properties / rate_plans / items / properties / refundable / anyOf
        Removed value: -[
        -  {
        -    "type": "boolean"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / rooms / items / properties / rate_plans / items / properties / refundable / type
        Added value: +[
        +  "boolean",
        +  "null"
        +]
      • removedOutput schema / properties / stay
        Removed value: -{
        -  "additionalProperties": false,
        -  "properties": {
        -    "check_in": {
        -      "type": "string"
        -    },
        -    "check_out": {
        -      "type": "string"
        -    },
        -    "guests": {
        -      "maximum": 9007199254740991,
        -      "minimum": -9007199254740991,
        -      "type": "integer"
        -    },
        -    "nights": {
        -      "maximum": 9007199254740991,
        -      "minimum": -9007199254740991,
        -      "type": "integer"
        -    },
        -    "rooms": {
        -      "maximum": 9007199254740991,
        -      "minimum": -9007199254740991,
        -      "type": "integer"
        -    }
        -  },
        -  "required": [
        -    "check_in",
        -    "check_out",
        -    "guests",
        -    "rooms",
        -    "nights"
        -  ],
        -  "type": "object"
        -}
    • Changedlookup_booking5 fields changed
      • changedInput schema / $schema
        Previous value: -"https://json-schema.org/draft/2020-12/schema"New value: +"http://json-schema.org/draft-07/schema#"
      • addedInput schema / additionalProperties
        Added value: +false
      • changedOutput schema / $schema
        Previous value: -"https://json-schema.org/draft/2020-12/schema"New value: +"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / properties / confirmation_number / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / confirmation_number / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedresend_confirmation4 fields changed
      • changedInput schema / $schema
        Previous value: -"https://json-schema.org/draft/2020-12/schema"New value: +"http://json-schema.org/draft-07/schema#"
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / email / pattern
        Removed value: -"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
      • changedOutput schema / $schema
        Previous value: -"https://json-schema.org/draft/2020-12/schema"New value: +"http://json-schema.org/draft-07/schema#"
    • Changedsearch_hotels27 fields changed
      • changedInput schema / $schema
        Previous value: -"https://json-schema.org/draft/2020-12/schema"New value: +"http://json-schema.org/draft-07/schema#"
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / guests_per_room / maximum
        Removed value: -9007199254740991
      • removedInput schema / properties / guests_per_room / minimum
        Removed value: --9007199254740991
      • changedInput schema / properties / max_results / description
        Previous value: -"Hotels per page, max 4 (default 4). Use the returned cursor for more."New value: +"Max hotels to return, max 15 (default 4)"
      • removedInput schema / properties / max_results / maximum
        Removed value: -9007199254740991
      • removedInput schema / properties / max_results / minimum
        Removed value: --9007199254740991
      • removedInput schema / properties / radius / maximum
        Removed value: -9007199254740991
      • removedInput schema / properties / radius / minimum
        Removed value: --9007199254740991
      • changedOutput schema / $schema
        Previous value: -"https://json-schema.org/draft/2020-12/schema"New value: +"http://json-schema.org/draft-07/schema#"
      • addedOutput schema / properties / cursor / $ref
        Added value: +"#/properties/results/items/properties/photo"
      • removedOutput schema / properties / cursor / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / guests_per_room / maximum
        Removed value: -9007199254740991
      • removedOutput schema / properties / guests_per_room / minimum
        Removed value: --9007199254740991
      • changedOutput schema / properties / results / items / properties / address / additionalProperties
        Previous value: -{}New value: +true
      • addedOutput schema / properties / results / items / properties / avg_nightly_rate / $ref
        Added value: +"#/properties/results/items/properties/total_stay"
      • removedOutput schema / properties / results / items / properties / avg_nightly_rate / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / results / items / properties / nights / maximum
        Removed value: -9007199254740991
      • removedOutput schema / properties / results / items / properties / nights / minimum
        Removed value: --9007199254740991
      • removedOutput schema / properties / results / items / properties / photo / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / results / items / properties / photo / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / results / items / properties / total_stay / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / results / items / properties / total_stay / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / rooms / maximum
        Removed value: -9007199254740991
      • removedOutput schema / properties / rooms / minimum
        Removed value: --9007199254740991
      • removedOutput schema / properties / total_results / maximum
        Removed value: -9007199254740991
      • removedOutput schema / properties / total_results / minimum
        Removed value: --9007199254740991
    • Changedsearch_tools5 fields changed
      • changedInput schema / $schema
        Previous value: -"https://json-schema.org/draft/2020-12/schema"New value: +"http://json-schema.org/draft-07/schema#"
      • addedInput schema / additionalProperties
        Added value: +false
      • changedOutput schema / $schema
        Previous value: -"https://json-schema.org/draft/2020-12/schema"New value: +"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / properties / total / maximum
        Removed value: -9007199254740991
      • removedOutput schema / properties / total / minimum
        Removed value: --9007199254740991
  4. 8 tool updates
    • Changedbook_hotel11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / guests / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / guests / minimum
        Added value: +-9007199254740991
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedOutput schema / properties / expires_in_minutes / maximum
        Added value: +9007199254740991
      • addedOutput schema / properties / expires_in_minutes / minimum
        Added value: +-9007199254740991
      • addedOutput schema / properties / external_reference_id / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / external_reference_id / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / nights / maximum
        Added value: +9007199254740991
      • addedOutput schema / properties / nights / minimum
        Added value: +-9007199254740991
    • Changedcancel_booking5 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • removedInput schema / additionalProperties
        Removed value: -false
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedOutput schema / properties / booking / propertyNames
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / properties / cancellation / anyOf
        Previous value: -[
        -  {
        -    "$ref": "#/properties/booking"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": {},
        +    "propertyNames": {
        +      "type": "string"
        +    },
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
    • Changedget_booking22 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • removedInput schema / additionalProperties
        Removed value: -false
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedOutput schema / properties / cancellation / additionalProperties
        Added value: +{}
      • removedOutput schema / properties / cancellation / anyOf
        Removed value: -[
        -  {
        -    "$ref": "#/properties/guests/items"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / cancellation / propertyNames
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / cancellation / type
        Added value: +"object"
      • addedOutput schema / properties / check_in / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / check_in / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / check_out / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / check_out / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / confirmation_number / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / confirmation_number / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / created_at / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / created_at / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / guests / items / propertyNames
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / nights / maximum
        Added value: +9007199254740991
      • addedOutput schema / properties / nights / minimum
        Added value: +-9007199254740991
      • removedOutput schema / properties / pricing / $ref
        Removed value: -"#/properties/guests/items"
      • addedOutput schema / properties / pricing / additionalProperties
        Added value: +{}
      • addedOutput schema / properties / pricing / propertyNames
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / pricing / type
        Added value: +"object"
    • Changedget_hotel_details42 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / guests / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / guests / minimum
        Added value: +-9007199254740991
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedOutput schema / properties / accessible_rooms_available / maximum
        Added value: +9007199254740991
      • addedOutput schema / properties / accessible_rooms_available / minimum
        Added value: +-9007199254740991
      • addedOutput schema / properties / accessible_rooms_note / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / accessible_rooms_note / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / hotel / properties / address
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "city": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "country": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "line1": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "line2": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "postal_code": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "state": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / hotel / properties / amenities
        Added value: +{
        +  "items": {},
        +  "type": "array"
        +}
      • addedOutput schema / properties / hotel / properties / chain / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / hotel / properties / chain / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / hotel / properties / check_in_time / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / hotel / properties / check_in_time / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / hotel / properties / check_out_time / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / hotel / properties / check_out_time / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / hotel / properties / description
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / hotel / properties / name / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / hotel / properties / name / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / hotel / properties / photos / items / properties / description / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / hotel / properties / photos / items / properties / description / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / rate_quote_expires_at / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / rate_quote_expires_at / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • changedOutput schema / properties / rate_quote_ttl_seconds / anyOf
        Previous value: -[
        -  {
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "maximum": 9007199254740991,
        +    "minimum": -9007199254740991,
        +    "type": "integer"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedOutput schema / properties / rooms / items / properties / bed_type / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / rooms / items / properties / bed_type / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / rooms / items / properties / description / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / rooms / items / properties / description / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / rooms / items / properties / max_occupancy / maximum
        Added value: +9007199254740991
      • addedOutput schema / properties / rooms / items / properties / max_occupancy / minimum
        Added value: +-9007199254740991
      • removedOutput schema / properties / rooms / items / properties / rate_plans / items / properties / cancel_by_datetime / $ref
        Removed value: -"#/properties/hotel/properties/photos/items/properties/description"
      • addedOutput schema / properties / rooms / items / properties / rate_plans / items / properties / cancel_by_datetime / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / rooms / items / properties / rate_plans / items / properties / guarantee_policy / $ref
        Removed value: -"#/properties/hotel/properties/photos/items/properties/description"
      • addedOutput schema / properties / rooms / items / properties / rate_plans / items / properties / guarantee_policy / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedOutput schema / properties / rooms / items / properties / rate_plans / items / properties / meal_plan / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / rooms / items / properties / rate_plans / items / properties / meal_plan / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / rooms / items / properties / rate_plans / items / properties / name / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / rooms / items / properties / rate_plans / items / properties / name / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / rooms / items / properties / rate_plans / items / properties / refundable / anyOf
        Added value: +[
        +  {
        +    "type": "boolean"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / rooms / items / properties / rate_plans / items / properties / refundable / type
        Removed value: -[
        -  "boolean",
        -  "null"
        -]
      • addedOutput schema / properties / stay
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "check_in": {
        +      "type": "string"
        +    },
        +    "check_out": {
        +      "type": "string"
        +    },
        +    "guests": {
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "nights": {
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "rooms": {
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "check_in",
        +    "check_out",
        +    "guests",
        +    "rooms",
        +    "nights"
        +  ],
        +  "type": "object"
        +}
    • Changedlookup_booking5 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • removedInput schema / additionalProperties
        Removed value: -false
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedOutput schema / properties / confirmation_number / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / confirmation_number / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
    • Changedresend_confirmation4 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / email / pattern
        Added value: +"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedsearch_hotels27 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / guests_per_room / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / guests_per_room / minimum
        Added value: +-9007199254740991
      • changedInput schema / properties / max_results / description
        Previous value: -"Max hotels to return, max 15 (default 4)"New value: +"Hotels per page, max 4 (default 4). Use the returned cursor for more."
      • addedInput schema / properties / max_results / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / max_results / minimum
        Added value: +-9007199254740991
      • addedInput schema / properties / radius / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / radius / minimum
        Added value: +-9007199254740991
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • removedOutput schema / properties / cursor / $ref
        Removed value: -"#/properties/results/items/properties/photo"
      • addedOutput schema / properties / cursor / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedOutput schema / properties / guests_per_room / maximum
        Added value: +9007199254740991
      • addedOutput schema / properties / guests_per_room / minimum
        Added value: +-9007199254740991
      • changedOutput schema / properties / results / items / properties / address / additionalProperties
        Previous value: -trueNew value: +{}
      • removedOutput schema / properties / results / items / properties / avg_nightly_rate / $ref
        Removed value: -"#/properties/results/items/properties/total_stay"
      • addedOutput schema / properties / results / items / properties / avg_nightly_rate / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedOutput schema / properties / results / items / properties / nights / maximum
        Added value: +9007199254740991
      • addedOutput schema / properties / results / items / properties / nights / minimum
        Added value: +-9007199254740991
      • addedOutput schema / properties / results / items / properties / photo / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / results / items / properties / photo / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / results / items / properties / total_stay / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / results / items / properties / total_stay / type
        Removed value: -[
        -  "number",
        -  "null"
        -]
      • addedOutput schema / properties / rooms / maximum
        Added value: +9007199254740991
      • addedOutput schema / properties / rooms / minimum
        Added value: +-9007199254740991
      • addedOutput schema / properties / total_results / maximum
        Added value: +9007199254740991
      • addedOutput schema / properties / total_results / minimum
        Added value: +-9007199254740991
    • Changedsearch_tools5 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • removedInput schema / additionalProperties
        Removed value: -false
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedOutput schema / properties / total / maximum
        Added value: +9007199254740991
      • addedOutput schema / properties / total / minimum
        Added value: +-9007199254740991
  5. 1 tool update
    • Changedget_booking2 fields changed
      • removedOutput schema / properties / cancellation / $ref
        Removed value: -"#/properties/guests/items"
      • addedOutput schema / properties / cancellation / anyOf
        Added value: +[
        +  {
        +    "$ref": "#/properties/guests/items"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
  6. 4 tool updates
    • Changedbook_hotel1 field changed
      • changedInput schema / properties / check_in / description
        Previous value: -"Check-in date in YYYY-MM-DD format (e.g. 2026-05-06)"New value: +"Check-in date in YYYY-MM-DD format (e.g. 2026-05-06), no more than 340 days from today"
    • Changedcancel_booking6 fields changed
      • removedInput schema / properties / cancellation_token
        Removed value: -{
        -  "description": "Absent for the cancellation-terms preview; present for execution. Single-use and expires in approximately 10 minutes.",
        -  "type": "string"
        -}
      • removedOutput schema / properties / cancellation_token
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / cancellation_token_expires_at
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / cancellation_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • addedOutput schema / properties / cancellation_url_expires_at
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / properties / status / enum
        Previous value: -[
        -  "CONFIRMATION_REQUIRED",
        -  "cancelled"
        -]New value: +[
        +  "ACTION_REQUIRED",
        +  "already_cancelled"
        +]
    • Changedget_hotel_details1 field changed
      • changedInput schema / properties / check_in / description
        Previous value: -"Check-in date in YYYY-MM-DD format (e.g. 2026-05-06)"New value: +"Check-in date in YYYY-MM-DD format (e.g. 2026-05-06), no more than 340 days from today"
    • Changedsearch_hotels1 field changed
      • changedInput schema / properties / check_in / description
        Previous value: -"Check-in date in YYYY-MM-DD format (e.g. 2026-05-06). Must be today or later."New value: +"Check-in date in YYYY-MM-DD format (e.g. 2026-05-06). Must be today through 340 days from today."
  7. 6 tool updates
    • Changedbook_hotel2 fields changed
      • removedOutput schema / properties / booking_id
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / confirmation_number
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_booking3 fields changed
      • removedInput schema / properties / booking_id
        Removed value: -{
        -  "description": "Booking ID (e.g. stk_bk_xxxx) or confirmation number",
        -  "type": "string"
        -}
      • addedInput schema / properties / confirmation_number
        Added value: +{
        +  "description": "Hotel confirmation number shown in the guest's confirmation email",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "booking_id"
        -]New value: +[
        +  "confirmation_number"
        +]
    • Changedget_hotel_details3 fields changed
      • addedInput schema / properties / rooms / const
        Added value: +1
      • changedInput schema / properties / rooms / description
        Previous value: -"Number of rooms to price (default 1, maximum 5). MCP checkout creates one room per reservation."New value: +"Number of rooms. 1Stay currently supports exactly one room per search and reservation; omit this field or set it to 1."
      • changedInput schema / properties / rooms / type
        Previous value: -"integer"New value: +"number"
    • Changedlookup_booking3 fields changed
      • changedOutput schema / properties / confirmation_number / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • addedOutput schema / properties / confirmation_number_status
        Added value: +{
        +  "enum": [
        +    "available",
        +    "pending"
        +  ],
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "status",
        -  "confirmation_number",
        -  "verification_token",
        -  "verification_token_expires_at",
        -  "action_handoff",
        -  "available_actions"
        -]New value: +[
        +  "status",
        +  "confirmation_number",
        +  "verification_token",
        +  "verification_token_expires_at",
        +  "action_handoff"
        +]
    • Changedresend_confirmation5 fields changed
      • changedInput schema / properties / confirmation_number / description
        Previous value: -"Hotel confirmation number"New value: +"Hotel confirmation number. Use this after a verified lookup."
      • addedInput schema / properties / email
        Added value: +{
        +  "description": "Guest email address. Used only to find a match; confirmation is sent only to the email address already on file.",
        +  "format": "email",
        +  "type": "string"
        +}
      • addedInput schema / properties / first_name
        Added value: +{
        +  "description": "Guest first name. Required with last_name and email when the confirmation number is unavailable.",
        +  "type": "string"
        +}
      • addedInput schema / properties / last_name
        Added value: +{
        +  "description": "Guest last name. Required with first_name and email when the confirmation number is unavailable.",
        +  "type": "string"
        +}
      • removedInput schema / required
        Removed value: -[
        -  "confirmation_number"
        -]
    • Changedsearch_hotels3 fields changed
      • addedInput schema / properties / rooms / const
        Added value: +1
      • changedInput schema / properties / rooms / description
        Previous value: -"Number of rooms to search for (default 1, maximum 5). MCP checkout creates one room per reservation."New value: +"Number of rooms. 1Stay currently supports exactly one room per search and reservation; omit this field or set it to 1."
      • changedInput schema / properties / rooms / type
        Previous value: -"integer"New value: +"number"
  8. 8 tool updates
    • Changedbook_hotel3 fields changed
      • changedInput schema / properties / external_reference_id / description
        Previous value: -"Your unique reference ID for this booking (for idempotency and retrieval)"New value: +"Caller-defined unique reference ID for idempotency and retrieval"
      • changedInput schema / properties / rate_code / description
        Previous value: -"Rate code from get_hotel_details — you MUST call get_hotel_details first to get a valid rate_code before booking"New value: +"Valid, unexpired rate code for the selected hotel, dates, and room"
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "avg_nightly_rate": {
        +      "type": "number"
        +    },
        +    "booking_fee": {
        +      "type": "number"
        +    },
        +    "booking_fee_currency": {
        +      "type": "string"
        +    },
        +    "booking_id": {
        +      "type": "string"
        +    },
        +    "booking_type": {
        +      "type": "string"
        +    },
        +    "cancellation_policy": {
        +      "type": "string"
        +    },
        +    "check_in": {
        +      "type": "string"
        +    },
        +    "check_out": {
        +      "type": "string"
        +    },
        +    "checkout_url": {
        +      "type": "string"
        +    },
        +    "currency": {
        +      "type": "string"
        +    },
        +    "expires_in_minutes": {
        +      "type": "integer"
        +    },
        +    "external_reference_id": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "hotel_name": {
        +      "type": "string"
        +    },
        +    "idempotency_hit": {
        +      "type": "boolean"
        +    },
        +    "message": {
        +      "type": "string"
        +    },
        +    "nights": {
        +      "type": "integer"
        +    },
        +    "rate_plan": {
        +      "type": "string"
        +    },
        +    "reward_points_eligible": {
        +      "type": "boolean"
        +    },
        +    "room_type": {
        +      "type": "string"
        +    },
        +    "status": {
        +      "enum": [
        +        "ACTION_REQUIRED",
        +        "ALREADY_CONFIRMED"
        +      ],
        +      "type": "string"
        +    },
        +    "subtotal": {
        +      "type": "number"
        +    },
        +    "taxes": {
        +      "type": "number"
        +    },
        +    "total_with_taxes": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "message"
        +  ],
        +  "type": "object"
        +}
    • Changedcancel_booking2 fields changed
      • changedInput schema / properties / cancellation_token / description
        Previous value: -"Leave empty on the first call to preview the cancellation terms (penalty, refund, deadline) and receive a cancellation_token. Call again with that token to actually cancel. Single-use; expires in ~10 minutes."New value: +"Absent for the cancellation-terms preview; present for execution. Single-use and expires in approximately 10 minutes."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "booking": {
        +      "additionalProperties": {},
        +      "type": "object"
        +    },
        +    "cancellation": {
        +      "anyOf": [
        +        {
        +          "$ref": "#/properties/booking"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "cancellation_token": {
        +      "type": "string"
        +    },
        +    "cancellation_token_expires_at": {
        +      "type": "string"
        +    },
        +    "confirmation_number": {
        +      "type": "string"
        +    },
        +    "message": {
        +      "type": "string"
        +    },
        +    "status": {
        +      "enum": [
        +        "CONFIRMATION_REQUIRED",
        +        "cancelled"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "message"
        +  ],
        +  "type": "object"
        +}
    • Changedget_booking2 fields changed
      • changedInput schema / properties / verification_token / description
        Previous value: -"Verification token returned by lookup_booking. Required for guest-facing (anonymous) lookups; obtain it by calling lookup_booking first. Not needed when authenticated with your own developer API key."New value: +"Booking-scoped verification token required for anonymous access. Developer API key-authenticated access does not require it."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "action_handoff": {
        +      "type": "string"
        +    },
        +    "available_actions": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "preview_cancellation": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "arguments": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "confirmation_number": {
        +                  "type": "string"
        +                },
        +                "first_name": {
        +                  "type": "string"
        +                },
        +                "last_name": {
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "confirmation_number"
        +              ],
        +              "type": "object"
        +            },
        +            "instruction": {
        +              "type": "string"
        +            },
        +            "tool": {
        +              "const": "cancel_booking",
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "tool",
        +            "arguments",
        +            "instruction"
        +          ],
        +          "type": "object"
        +        },
        +        "resend_confirmation": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "arguments": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "confirmation_number": {
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "confirmation_number"
        +              ],
        +              "type": "object"
        +            },
        +            "instruction": {
        +              "type": "string"
        +            },
        +            "tool": {
        +              "const": "resend_confirmation",
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "tool",
        +            "arguments",
        +            "instruction"
        +          ],
        +          "type": "object"
        +        }
        +      },
        +      "required": [
        +        "resend_confirmation",
        +        "preview_cancellation"
        +      ],
        +      "type": "object"
        +    },
        +    "booking_type": {
        +      "type": "string"
        +    },
        +    "cancellation": {
        +      "$ref": "#/properties/guests/items"
        +    },
        +    "check_in": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "check_out": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "confirmation_number": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "created_at": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "guests": {
        +      "items": {
        +        "additionalProperties": {},
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "hotel": {},
        +    "nights": {
        +      "type": "integer"
        +    },
        +    "pricing": {
        +      "$ref": "#/properties/guests/items"
        +    },
        +    "reward_points_eligible": {
        +      "type": "boolean"
        +    },
        +    "room": {},
        +    "status": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "reward_points_eligible",
        +    "booking_type",
        +    "action_handoff",
        +    "available_actions"
        +  ],
        +  "type": "object"
        +}
    • Changedget_hotel_details3 fields changed
      • changedInput schema / properties / accessible / description
        Previous value: -"Return accessible (ADA) room types instead of standard ones. Omitted by default because hotels list many near-identical accessible variants. The response always reports accessible_rooms_available, so if a guest needs one, call again with accessible: true."New value: +"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."
      • changedInput schema / properties / rooms / description
        Previous value: -"Number of rooms (default 1)"New value: +"Number of rooms to price (default 1, maximum 5). MCP checkout creates one room per reservation."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "accessible_rooms_available": {
        +      "type": "integer"
        +    },
        +    "accessible_rooms_note": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "availability_status": {
        +      "enum": [
        +        "available",
        +        "unavailable"
        +      ],
        +      "type": "string"
        +    },
        +    "hotel": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "chain": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "check_in_time": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "check_out_time": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "hotel_id": {
        +          "type": "string"
        +        },
        +        "name": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "photos": {
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "description": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "thumbnail": {
        +                "type": "string"
        +              },
        +              "url": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "description"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "review": {}
        +      },
        +      "required": [
        +        "hotel_id",
        +        "photos"
        +      ],
        +      "type": "object"
        +    },
        +    "message": {
        +      "type": "string"
        +    },
        +    "next_step": {
        +      "type": "string"
        +    },
        +    "rate_quote_expires_at": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "rate_quote_ttl_seconds": {
        +      "anyOf": [
        +        {
        +          "type": "integer"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "rooms": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "bed_type": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "description": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "max_occupancy": {
        +            "type": "integer"
        +          },
        +          "name": {
        +            "type": "string"
        +          },
        +          "rate_plans": {
        +            "items": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "avg_nightly_rate": {
        +                  "type": "number"
        +                },
        +                "booking_fee": {
        +                  "type": "number"
        +                },
        +                "booking_fee_currency": {
        +                  "type": "string"
        +                },
        +                "booking_type": {
        +                  "type": "string"
        +                },
        +                "cancel_by_datetime": {
        +                  "$ref": "#/properties/hotel/properties/photos/items/properties/description"
        +                },
        +                "cancellation_policy": {
        +                  "type": "string"
        +                },
        +                "currency": {
        +                  "type": "string"
        +                },
        +                "guarantee_policy": {
        +                  "$ref": "#/properties/hotel/properties/photos/items/properties/description"
        +                },
        +                "meal_plan": {
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "name": {
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "nightly_breakdown": {
        +                  "items": {},
        +                  "type": "array"
        +                },
        +                "rate_code": {
        +                  "type": "string"
        +                },
        +                "refundable": {
        +                  "type": [
        +                    "boolean",
        +                    "null"
        +                  ]
        +                },
        +                "reward_points_eligible": {
        +                  "type": "boolean"
        +                },
        +                "subtotal": {
        +                  "type": "number"
        +                },
        +                "taxes": {
        +                  "type": "number"
        +                },
        +                "total_with_taxes": {
        +                  "type": "number"
        +                }
        +              },
        +              "required": [
        +                "rate_code",
        +                "total_with_taxes",
        +                "avg_nightly_rate",
        +                "subtotal",
        +                "taxes",
        +                "currency",
        +                "nightly_breakdown",
        +                "cancellation_policy",
        +                "cancel_by_datetime",
        +                "guarantee_policy",
        +                "reward_points_eligible",
        +                "booking_type"
        +              ],
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "room_id": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "room_id",
        +          "name",
        +          "rate_plans"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "hotel",
        +    "rooms",
        +    "accessible_rooms_available"
        +  ],
        +  "type": "object"
        +}
    • Changedlookup_booking1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "action_handoff": {
        +      "type": "string"
        +    },
        +    "available_actions": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "preview_cancellation": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "arguments": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "confirmation_number": {
        +                  "type": "string"
        +                },
        +                "first_name": {
        +                  "type": "string"
        +                },
        +                "last_name": {
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "confirmation_number"
        +              ],
        +              "type": "object"
        +            },
        +            "instruction": {
        +              "type": "string"
        +            },
        +            "tool": {
        +              "const": "cancel_booking",
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "tool",
        +            "arguments",
        +            "instruction"
        +          ],
        +          "type": "object"
        +        },
        +        "resend_confirmation": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "arguments": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "confirmation_number": {
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "confirmation_number"
        +              ],
        +              "type": "object"
        +            },
        +            "instruction": {
        +              "type": "string"
        +            },
        +            "tool": {
        +              "const": "resend_confirmation",
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "tool",
        +            "arguments",
        +            "instruction"
        +          ],
        +          "type": "object"
        +        }
        +      },
        +      "required": [
        +        "resend_confirmation",
        +        "preview_cancellation"
        +      ],
        +      "type": "object"
        +    },
        +    "booking_status": {
        +      "type": "string"
        +    },
        +    "check_in": {
        +      "type": "string"
        +    },
        +    "check_out": {
        +      "type": "string"
        +    },
        +    "confirmation_number": {
        +      "type": "string"
        +    },
        +    "guest_name": {
        +      "type": "string"
        +    },
        +    "hotel": {
        +      "type": "string"
        +    },
        +    "status": {
        +      "type": "string"
        +    },
        +    "verification_token": {
        +      "type": "string"
        +    },
        +    "verification_token_expires_at": {
        +      "type": "string"
        +    },
        +    "verification_token_note": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "confirmation_number",
        +    "verification_token",
        +    "verification_token_expires_at",
        +    "action_handoff",
        +    "available_actions"
        +  ],
        +  "type": "object"
        +}
    • Changedresend_confirmation1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "message": {
        +      "type": "string"
        +    },
        +    "status": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "message"
        +  ],
        +  "type": "object"
        +}
    • Changedsearch_hotels3 fields changed
      • changedInput schema / properties / rooms / description
        Previous value: -"Number of rooms (default 1)"New value: +"Number of rooms to search for (default 1, maximum 5). MCP checkout creates one room per reservation."
      • changedInput schema / properties / search_id / description
        Previous value: -"Search ID from previous results — pass with cursor for next page"New value: +"Search ID paired with a pagination cursor from previous results"
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "conversion_applied": {
        +      "type": "boolean"
        +    },
        +    "cursor": {
        +      "$ref": "#/properties/results/items/properties/photo"
        +    },
        +    "guests_per_room": {
        +      "type": "integer"
        +    },
        +    "has_more": {
        +      "type": "boolean"
        +    },
        +    "requested_currency": {
        +      "type": "string"
        +    },
        +    "resolution_type": {
        +      "type": "string"
        +    },
        +    "resolved_location": {
        +      "type": "string"
        +    },
        +    "results": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "address": {
        +            "additionalProperties": true,
        +            "properties": {
        +              "city": {
        +                "type": "string"
        +              },
        +              "country": {
        +                "type": "string"
        +              },
        +              "line1": {
        +                "type": "string"
        +              },
        +              "postal_code": {
        +                "type": "string"
        +              },
        +              "state": {
        +                "type": "string"
        +              }
        +            },
        +            "type": "object"
        +          },
        +          "amenities": {
        +            "items": {},
        +            "type": "array"
        +          },
        +          "avg_nightly_rate": {
        +            "$ref": "#/properties/results/items/properties/total_stay"
        +          },
        +          "booking_fee": {
        +            "type": "number"
        +          },
        +          "booking_fee_currency": {
        +            "type": "string"
        +          },
        +          "booking_type": {
        +            "type": "string"
        +          },
        +          "chain": {
        +            "type": "string"
        +          },
        +          "currency": {
        +            "type": "string"
        +          },
        +          "distance_miles": {
        +            "type": "number"
        +          },
        +          "hotel_id": {
        +            "type": "string"
        +          },
        +          "name": {
        +            "type": "string"
        +          },
        +          "nights": {
        +            "type": "integer"
        +          },
        +          "photo": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "review": {},
        +          "reward_points_eligible": {
        +            "type": "boolean"
        +          },
        +          "star_rating": {
        +            "type": "number"
        +          },
        +          "total_stay": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "hotel_id",
        +          "name",
        +          "photo",
        +          "total_stay",
        +          "avg_nightly_rate",
        +          "nights",
        +          "currency",
        +          "amenities",
        +          "reward_points_eligible",
        +          "booking_type"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "returned_currencies": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "rooms": {
        +      "type": "integer"
        +    },
        +    "search_id": {
        +      "type": "string"
        +    },
        +    "total_results": {
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "results",
        +    "total_results",
        +    "cursor",
        +    "has_more"
        +  ],
        +  "type": "object"
        +}
    • Changedsearch_tools2 fields changed
      • changedInput schema / properties / keyword / description
        Previous value: -"Keyword to filter tools (e.g. 'book', 'search', 'cancel'). Omit to list all tools."New value: +"Optional tool filter keyword, such as book, search, cancel, or details"
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "tools": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "description": {
        +            "type": "string"
        +          },
        +          "name": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "name",
        +          "description"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "total": {
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "tools",
        +    "total"
        +  ],
        +  "type": "object"
        +}
  9. 1 tool update
    • Changedsearch_hotels1 field changed
      • removedInput schema / properties / chain_code
        Removed value: -{
        -  "description": "Two-letter hotel chain filter. MC=Marriott, HH=Hilton, HI=IHG, YX=Hyatt, BW=Best Western, WY=Wyndham, EL=Choice. Omit for boutique, independent, or unbranded searches.",
        -  "type": "string"
        -}
  10. 1 tool update
    • Changedbook_hotel3 fields changed
      • removedInput schema / properties / guest_email
        Removed value: -{
        -  "description": "Guest email for confirmation",
        -  "type": "string"
        -}
      • removedInput schema / properties / guest_name
        Removed value: -{
        -  "description": "Guest full name",
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "hotel_id",
        -  "rate_code",
        -  "check_in",
        -  "check_out",
        -  "guests",
        -  "guest_name",
        -  "guest_email"
        -]New value: +[
        +  "hotel_id",
        +  "rate_code",
        +  "check_in",
        +  "check_out",
        +  "guests"
        +]
  11. 1 tool update
    • Changedget_hotel_details1 field changed
      • addedInput schema / properties / accessible
        Added value: +{
        +  "description": "Return accessible (ADA) room types instead of standard ones. Omitted by default because hotels list many near-identical accessible variants. The response always reports accessible_rooms_available, so if a guest needs one, call again with accessible: true.",
        +  "type": "boolean"
        +}
  12. 1 tool update
    • Changedsearch_hotels1 field changed
      • changedInput schema / properties / max_results / description
        Previous value: -"Max hotels to return, max 4 (default 4)"New value: +"Max hotels to return, max 15 (default 4)"
  13. 1 tool update
    • Changedsearch_hotels1 field changed
      • changedInput schema / properties / max_results / description
        Previous value: -"Max hotels to return, max 15 (default 10)"New value: +"Max hotels to return, max 4 (default 4)"
  14. 4 tool updates
    • Changedcancel_booking1 field changed
      • addedInput schema / properties / cancellation_token
        Added value: +{
        +  "description": "Leave empty on the first call to preview the cancellation terms (penalty, refund, deadline) and receive a cancellation_token. Call again with that token to actually cancel. Single-use; expires in ~10 minutes.",
        +  "type": "string"
        +}
    • Changedget_booking1 field changed
      • addedInput schema / properties / verification_token
        Added value: +{
        +  "description": "Verification token returned by lookup_booking. Required for guest-facing (anonymous) lookups; obtain it by calling lookup_booking first. Not needed when authenticated with your own developer API key.",
        +  "type": "string"
        +}
    • Changedresend_confirmation1 field changed
      • removedInput schema / properties / updated_email
        Removed value: -{
        -  "description": "If provided, send confirmation to this email instead of the one on file. Use when guest typo'd their email at booking or can't access the original email.",
        -  "type": "string"
        -}
    • Changedsearch_hotels2 fields changed
      • changedInput schema / properties / location / description
        Previous value: -"City, address, venue, or landmark (e.g. 'Nashville, TN' or 'Times Square, NYC'). Required for all searches."New value: +"City, address, venue, or landmark (e.g. 'Nashville, TN' or 'Times Square, NYC'). Required unless latitude and longitude are both provided."
      • changedInput schema / required
        Previous value: -[
        -  "location",
        -  "check_in",
        -  "check_out"
        -]New value: +[
        +  "check_in",
        +  "check_out"
        +]
  15. 4 tool updates
    • Addedlookup_booking
    • Addedresend_confirmation
    • Removedretrieve_booking
    • Changedsearch_hotels1 field changed
      • changedInput schema / properties / chain_code / description
        Previous value: -"Filter by hotel chain code (e.g. 'MC' for Marriott, 'HH' for Hilton)"New value: +"Two-letter hotel chain filter. MC=Marriott, HH=Hilton, HI=IHG, YX=Hyatt, BW=Best Western, WY=Wyndham, EL=Choice. Omit for boutique, independent, or unbranded searches."
  16. 4 tool updates
    • Removedlookup_booking
    • Removedresend_confirmation
    • Addedretrieve_booking
    • Changedsearch_hotels1 field changed
      • changedInput schema / properties / chain_code / description
        Previous value: -"Two-letter hotel chain filter. MC=Marriott, HH=Hilton, HI=IHG, YX=Hyatt, BW=Best Western, WY=Wyndham, EL=Choice. Omit for boutique, independent, or unbranded searches."New value: +"Filter by hotel chain code (e.g. 'MC' for Marriott, 'HH' for Hilton)"
  17. 4 tool updates
    • Addedlookup_booking
    • Addedresend_confirmation
    • Removedretrieve_booking
    • Changedsearch_hotels1 field changed
      • changedInput schema / properties / chain_code / description
        Previous value: -"Filter by hotel chain code (e.g. 'MC' for Marriott, 'HH' for Hilton)"New value: +"Two-letter hotel chain filter. MC=Marriott, HH=Hilton, HI=IHG, YX=Hyatt, BW=Best Western, WY=Wyndham, EL=Choice. Omit for boutique, independent, or unbranded searches."

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.