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 with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
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.4/5.0

Scored across 8 tools

Disambiguation4/5

Most tools target clearly distinct actions: search, book, cancel, lookup, and get. The only potential confusion is lookup_booking versus get_booking, since both can involve a confirmation number, but detailed descriptions clarify that one returns a summary/token and the other returns full booking details.

Naming Consistency5/5

All tool names follow a consistent verb_noun lowercase snake_case pattern: book_hotel, cancel_booking, get_booking, get_hotel_details, lookup_booking, resend_confirmation, search_hotels, search_tools. The naming is predictable and makes the tool set easy to navigate.

Tool Count5/5

Eight tools is well-scoped for a hotel booking server. Each tool covers a necessary part of the booking lifecycle without redundancy or unnecessary expansion, and the count is comfortably within the ideal 3-15 range.

Completeness4/5

The booking lifecycle is well covered: search, details, book, lookup, get, cancel, and resend confirmation. The only notable gap is the lack of a modify/update booking operation, but this can be worked around by cancelling and rebooking, and the server explicitly scopes its first release to single-room bookings.

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
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.7/5.0
Behavior5/5

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

Beyond the annotations, the description reveals important behavioral details: no guest identity or payment fields are accepted, payment is collected on a secure checkout page, the guest pays the hotel directly, loyalty points apply automatically, and the displayed total includes taxes and fees. This is substantial additional context.

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 front-loaded with the core purpose and return value, then efficiently covers constraints, payment behavior, and rate-code validity. Every sentence adds useful information without redundancy.

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 description covers the booking flow, payment responsibility, checkout URL, fee/tax behavior, and rate-code expiration. An output schema exists, so detailed return fields are not needed here. This is complete enough for an agent to understand how and when to call the tool.

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 meaningful value by explaining the provenance and expiry of rate_code, and by clarifying that no guest identity or payment parameters are accepted. This goes beyond the schema, justifying a 4.

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: 'Book exactly one hotel room.' It also clarifies the operation's scope and what it returns ('Returns a secure checkout URL'), distinguishing the tool from booking-related siblings like cancel_booking, lookup_booking, and get_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 clearly establishes the booking context and prerequisites, especially that a rate_code must come from get_hotel_details and expires in about 15 minutes. It notes the current release does not support multi-room bookings, but it does not explicitly enumerate when to prefer one sibling over another. Nevertheless, the usage context is clear.

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. Do not say the reservation was cancelled unless a later verified booking-status lookup reports status 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.4/5.0
Behavior5/5

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

Beyond annotations, the description discloses critical behaviors: input verification, no refund/penalty estimates, short-lived cancellation URL, and the fact that the action is not a cancellation but a preparation step. It also mandates the guest's manual confirmation step and cautions against asserting cancellation prematurely. These details go well beyond the sparse annotation hints and align with them—no contradiction.

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 about 100 words and contains no filler; every sentence earns its place, including the refund-policy disclaimer and the cancellation-status caveat. It front-loads the core purpose before caveats, but it is slightly longer than strictly necessary. A concise tool name and title could allow for a tighter statement, yet the detail is justified by the multi-step nature.

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 that an output schema exists, the description need not explain return values, but it still summarizes the key outputs (policy classification, deadline, cancellation_url) as context. It covers prerequisites, the external completion flow, and the follow-up verification requirement, leaving no major operational gap for an agent to misuse the tool.

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 fully documents all three parameters with 100% coverage, so the baseline is 3. The description adds a small nuance by saying it 'verifies' these fields, implying they must match the reservation, but it provides no additional format, source, or validation semantics. It neither detects nor corrects parameter ambiguity, so it stays at the baseline.

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 then clarifies it verifies guest inputs and returns policy classification, deadline, and a cancellation URL. This sharply distinguishes it from sibling lookup tools like get_booking and lookup_booking, and the explicit 'Calling this tool never cancels the reservation' removes any ambiguity.

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 conveys clear context: use this tool to start a cancellation flow that the guest completes externally. It also warns not to claim cancellation until a later verified status lookup confirms it, implicitly steering the agent to a status tool afterward. However, it never names sibling alternatives or states when not to use this tool, so it falls short of an explicit when/when-not comparison.

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

get_bookingGet BookingA
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 declare readOnlyHint=true and destructiveHint=false, and the description adds rich behavioral context beyond that: the exclusive use of hotel confirmation numbers, the refusal to disclose internal IDs, the requirement for a verification token for anonymous access, and the guarantee that no data is returned without a valid token. No contradiction with 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?

The description is well structured and front-loaded: the core purpose is stated in the first sentence, followed by the key constraint and the return summary, then the auth context in a compact second paragraph. Every sentence earns its place without redundancy or 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?

The description covers what the tool returns, how it is uniquely identified, the authentication model, and the scope restrictions. Since an output schema exists, the return-value details do not need to be spelled out. The description is complete enough for an agent to select and invoke this tool correctly.

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 input schema already describes both parameters fully (100% coverage), so the baseline is 3. The description adds meaning by explaining that the verification_token must be booking-scoped and issued by lookup_booking, and clarifies that developer API-key-authenticated access bypasses the token requirement. This pushes it to a 4.

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 reservation') and a specific resource ('by the hotel confirmation number'), and explicitly notes that internal Stayker booking IDs are never accepted. This distinguishes the tool's purpose from alternatives like lookup_booking and gives an agent immediate clarity on what it can and cannot do.

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 gives explicit when-to-use guidance: use this tool with the guest's hotel confirmation number. It also gives a when-not-to-use: internal booking IDs are never accepted. It further explains the prerequisite flow for anonymous access via lookup_booking and scopes developer access to their own bookings, so the agent knows exactly how to invoke it correctly.

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 (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.1/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 valuable context beyond that: the guest-pays-hotel-directly payment model, that totals include taxes and an itemized booking fee, loyalty-point eligibility, and interpretive notes on 'run of house' and 'suite' room types — all useful for an agent presenting or acting on the data.

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?

Three short paragraphs, front-loaded with the core purpose and then adding high-value context: payment/fee disclosure and room-type interpretation. Each sentence earns its place; the room-type notes are domain knowledge that prevents misinterpretation of results rather than filler.

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 read-only lookup with full schema coverage, an output schema present, and safety covered by annotations, the description covers the remaining gaps: workflow position (feeds book_hotel), pricing transparency, and result interpretation. Nothing an agent needs to call it correctly 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 every parameter is already documented in the schema, including the accessible flag's behavior and the rooms field's one-room constraint. The description reinforces the 'exactly one room' limitation and notes that rate_codes feed book_hotel, but it does not need to add more — the schema carries the load, making baseline 3 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?

States a specific verb and resource — 'Get rates and room details for exactly one room at a specific hotel' — with an explicit scope constraint that distinguishes it from search_hotels. The closing link to book_hotel ('rate_codes required by book_hotel') positions it in the booking workflow, so an agent can tell exactly what this tool is for and what it is not.

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 on when this fits: it returns rate_codes needed by book_hotel, and the 'exactly one room' constraint tells the agent it is a single-room lookup rather than a multi-room search. It stops short of explicitly naming alternatives or exclusion cases (e.g., 'use search_hotels to find hotels first'), so it is clear but not fully directive.

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

lookup_bookingLookup BookingA
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.3/5.0
Behavior4/5

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

Annotations already establish the read-only and non-destructive nature, so the description adds value by stating that the tool returns the confirmation number and booking summary in conversation, and that an email alone will not resolve a booking. This is useful behavioral context beyond the annotations, without contradicting them.

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 and front-loaded: purpose and return value come first, followed by precise identification requirements. Every sentence contributes useful guidance, and there is no redundant filler.

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 six-parameter read-only lookup with an output schema and annotations, the description covers purpose, output mode, and the necessary parameter combinations. The only notable gap is that it does not explicitly route the agent between this tool and the similar get_booking sibling when a confirmation number is already available.

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

Parameters5/5

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

Although the schema describes each parameter individually, the description contributes a critical constraint the schema does not encode: the user must supply the full name plus either confirmation_number or email together with last_four_card, and email alone is explicitly invalid. This pairing requirement is essential for correct invocation and goes well beyond property-level documentation.

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 resource (reservation) and the operation (look up), and adds the framing 'by verifying the guest's identity,' which helps separate it from simple retrieval siblings like get_booking. It does not explicitly name or contrast sibling tools, so it stops short of the strongest possible differentiation.

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 provides clear invocation context: full name plus either a confirmation number or email with last-four-digits, and explicitly warns that an email alone is not sufficient. It gives an agent concrete criteria for when this tool will succeed, though it does not mention alternatives such as get_booking or resend_confirmation for cases where the confirmation number is already known.

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.9/5.0
Behavior5/5

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

The description discloses key behavioral traits beyond annotations: recovery requests never reveal whether a reservation matched (privacy behavior), the confirmation is sent only to the existing email on the booking record with no recipient override, and email changes are handled externally. This adds meaningful context that annotations (readOnlyHint=false, destructiveHint=false) do not convey.

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 and front-loaded with the core action, then provides the two usage paths, privacy behavior, and recipient constraint in a logical order. Every sentence earns its place; no filler or redundancy.

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 complexity (two alternative invocation paths, privacy-sensitive behavior, no required parameters), the description covers all essential decision points: how to identify the guest, what happens when no match is found, where the email goes, and where to handle email changes. The output schema exists, so return values need not be described.

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 relationship between parameters: confirmation_number is the primary path, while first_name, last_name, and email are the alternative path when the confirmation number is unknown. It also clarifies that email is used only to find a match, not as a recipient override, which is not fully explicit 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 verb and resource ('Resend a hotel reservation confirmation email') and clearly distinguishes this from siblings like lookup_booking and cancel_booking by explaining the confirmation email's role. It also clarifies the two invocation paths (confirmation number vs. guest details), making the tool's purpose unmistakable.

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 says when to use each parameter path: use the confirmation number from a successful lookup_booking call, or use full name and email when the guest does not know their confirmation number, card last four, or check-in date. It also states the email is sent only to the address on file and points to a URL for email changes, giving clear context and exclusions.

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 (default 25, max 100)
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 4 (default 4). Use the returned cursor to load more pages.
guests_per_roomNoGuests per room (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.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and non-destructive behavior. The description adds useful context beyond annotations: results are nightly rates, guests pay the hotel directly, hotels issue their own confirmation numbers, and loyalty points apply. This helps the agent understand expected behavior without contradicting the schema or annotations.

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 and remains compact. The later sentences about payment, confirmation, and loyalty points are slightly beyond what is needed to invoke the tool, but they are brief and provide useful domain context.

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 100% parameter schema coverage, existing output schema, and annotations indicating a read-only search operation, the description is complete enough for correct invocation. It clearly conveys the one-room limitation, which is the main non-obvious constraint in the current release.

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 fully documents all 12 parameters. The description reinforces the key one-room constraint and location/date focus, but it does not add new parameter-level meaning beyond what the schema already provides.

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 starts with a specific action and resource: 'Search hotels by location and dates for exactly one room.' It also states the return type, 'available properties with nightly rates,' and distinguishes itself from booking/lookup siblings by focusing on search only.

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?

It provides clear use context: search by location and dates, with a one-room constraint for the current 1Stay release. It does not explicitly name sibling alternatives like book_hotel or get_hotel_details, but the search-vs-booking distinction is strongly implied and easy to infer.

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

A4.5/5.0
Behavior4/5

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

Annotations already establish readOnly=true and destructiveHint=false, so the safety profile is covered. The description adds behavioral detail beyond that: the optional keyword filters by tool category, and omitting it yields the full list. This is enough for an agent to anticipate the tool's behavior.

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, front-loaded with the core purpose, and no filler. Every clause adds necessary information about behavior or parameter semantics.

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?

This is a simple, read-only discovery tool with one optional parameter and an output schema present. The description fully covers selection and invocation needs; nothing important 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?

Schema coverage is 100%, and the schema already describes the keyword parameter with examples. The description adds meaning by clarifying the default behavior when the parameter is absent, which is not 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 uses a specific verb and resource: 'List available 1Stay hotel booking tools.' It clearly differentiates this meta-tool from sibling tools like book_hotel, cancel_booking, and search_hotels, which perform operations rather than list them.

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?

It gives clear context on how to use the optional keyword filter and the default behavior when no keyword is supplied ('absence of a keyword returns all tools'). It doesn't explicitly contrast with sibling alternatives, but the description makes the tool-discovery purpose unambiguous.

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. 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
  2. 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
  3. 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
  4. 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"
        +  }
        +]
  5. 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."
  6. 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"
  7. 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"
        +}
  8. 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"
        -}
  9. 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"
        +]
  10. 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"
        +}
  11. 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)"
  12. 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)"
  13. 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"
        +]
  14. 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."
  15. 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)"
  16. 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."
  17. 3 tool updates
    • Changedbook_hotel2 fields changed
      • changedInput schema / properties / check_in / description
        Previous value: -"Check-in date (YYYY-MM-DD)"New value: +"Check-in date in YYYY-MM-DD format (e.g. 2026-05-06)"
      • changedInput schema / properties / check_out / description
        Previous value: -"Check-out date (YYYY-MM-DD)"New value: +"Check-out date in YYYY-MM-DD format (e.g. 2026-05-07)"
    • Changedget_hotel_details2 fields changed
      • changedInput schema / properties / check_in / description
        Previous value: -"Check-in date (YYYY-MM-DD)"New value: +"Check-in date in YYYY-MM-DD format (e.g. 2026-05-06)"
      • changedInput schema / properties / check_out / description
        Previous value: -"Check-out date (YYYY-MM-DD)"New value: +"Check-out date in YYYY-MM-DD format (e.g. 2026-05-07)"
    • Changedsearch_hotels6 fields changed
      • changedInput schema / properties / check_in / description
        Previous value: -"Check-in date (YYYY-MM-DD)"New value: +"Check-in date in YYYY-MM-DD format (e.g. 2026-05-06). Must be today or later."
      • changedInput schema / properties / check_out / description
        Previous value: -"Check-out date (YYYY-MM-DD)"New value: +"Check-out date in YYYY-MM-DD format (e.g. 2026-05-07). Must be after check_in."
      • changedInput schema / properties / latitude / description
        Previous value: -"Latitude — skip geocoding if provided with longitude"New value: +"Latitude — must be provided together with longitude"
      • changedInput schema / properties / location / description
        Previous value: -"City, address, venue, or landmark. Required unless latitude/longitude provided."New value: +"City, address, venue, or landmark (e.g. 'Nashville, TN' or 'Times Square, NYC'). Required for all searches."
      • changedInput schema / properties / longitude / description
        Previous value: -"Longitude — skip geocoding if provided with latitude"New value: +"Longitude — must be provided together with latitude"
      • changedInput schema / required
        Previous value: -[
        -  "check_in",
        -  "check_out"
        -]New value: +[
        +  "location",
        +  "check_in",
        +  "check_out"
        +]

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.