Skip to main content
Glama

Search stays with receipts

search_stays
Read-only

Live search of Booking.com, Vrbo and Expedia Group (hotel rooms) for the dates and party, verified against the map. Returns up to three picks (best overall, best value, closest) with receipts and tracked openUrl links. Picks within about a minute and the fine print after that, stopping at two and a half minutes; returns status 'running' with a searchId if it is not done within waitSeconds. Three trips on the house per connection, then a key (free account: five a month; Pro: unlimited).

Input Schema

NameRequiredDescriptionDefault
petsNoA pet is coming: only listings whose own policy allows pets
vibeNolocal
whereYesCity or town, with state or country when ambiguous: 'Lisbon', 'Wimberley, TX', 'Kyoto, Japan'.
adultsNo
budgetNoSuper-cheap brands (Motel 6, Econo Lodge and the like) are out on every budget. value = cheapest that passes, mid = balanced, splurge = the nicest (ranked on star class and reviews, not price; no hotel under four stars or from an economy or limited-service brand; mid has none under three)mid
intentNoWhat the trip is for, in the traveler's words: 'kayaking', 'a cooking class', 'a quiet writing week'. Steers things to do, never the ranking.
walkToNoWhat should be within a ten-minute walk
checkInYesYYYY-MM-DD
checkOutYesYYYY-MM-DD, 1 to 90 nights after checkIn (Booking.com is skipped past 30 nights; Vrbo quotes longer stays)
childrenNo
flexDaysNoDate flexibility for the alert watcher: 0, 1, 2, 3 or 7 days
stayTypeNoentire = whole apartments and houses (default); hotel = hotel rooms (Booking.com and Expedia Group); any = rentals and hotel rooms side by side, each tagged; resort = resorts and all-inclusives, Booking.com only, priced per person tooentire
hotelBrandsNoHotel loyalty: keep hotel picks inside these groups (marriott, hilton, hyatt, ihg, accor, wyndham, choice, bestwestern); whole homes are unaffected
maxTotalUsdNoHard cap on the whole-stay total in US dollars, taxes and fees included
quietStreetNo
waitSecondsNoHow long to wait for the search before returning a running status
nearLandmarkNoA place the traveler wants to be near: 'Zilker Park', 'the old town', 'Shinkansen station'
maxPerNightUsdNoHard cap per night in US dollars, all-in (taxes and fees included); kept per night, so the stay total follows the dates. Use instead of maxTotalUsd when the traveler gives a nightly figure (the top of a range).
travellerCountryNoISO-2 country the traveler lives in (default US); decides whether an eSIM line applies

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / budget / description
      Previous value: -"value = cheapest that passes, mid = balanced, splurge = the nicest (ranked on star class and reviews, not price; no hotel under four stars or from an economy or limited-service brand; mid has none under three)"New value: +"Super-cheap brands (Motel 6, Econo Lodge and the like) are out on every budget. value = cheapest that passes, mid = balanced, splurge = the nicest (ranked on star class and reviews, not price; no hotel under four stars or from an economy or limited-service brand; mid has none under three)"
  2. Changed4 schema fields changed
    • changedInput schema / properties / intent / description
      Previous value: -"What the trip is for, in the traveller's words: 'kayaking', 'a cooking class', 'a quiet writing week'. Steers things to do, never the ranking."New value: +"What the trip is for, in the traveler's words: 'kayaking', 'a cooking class', 'a quiet writing week'. Steers things to do, never the ranking."
    • changedInput schema / properties / maxPerNightUsd / description
      Previous value: -"Hard cap per night in US dollars, all-in (taxes and fees included); kept per night, so the stay total follows the dates. Use instead of maxTotalUsd when the traveller gives a nightly figure (the top of a range)."New value: +"Hard cap per night in US dollars, all-in (taxes and fees included); kept per night, so the stay total follows the dates. Use instead of maxTotalUsd when the traveler gives a nightly figure (the top of a range)."
    • changedInput schema / properties / nearLandmark / description
      Previous value: -"A place the traveller wants to be near: 'Zilker Park', 'the old town', 'Shinkansen station'"New value: +"A place the traveler wants to be near: 'Zilker Park', 'the old town', 'Shinkansen station'"
    • changedInput schema / properties / travellerCountry / description
      Previous value: -"ISO-2 country the traveller lives in (default US); decides whether an eSIM line applies"New value: +"ISO-2 country the traveler lives in (default US); decides whether an eSIM line applies"
  3. Changed4 schema fields changed
    • changedInput schema / properties / budget / description
      Previous value: -"value = cheapest that passes, mid = balanced, splurge = the nicest"New value: +"value = cheapest that passes, mid = balanced, splurge = the nicest (ranked on star class and reviews, not price; no hotel under four stars or from an economy or limited-service brand; mid has none under three)"
    • addedInput schema / properties / maxPerNightUsd
      Added value: +{
      +  "description": "Hard cap per night in US dollars, all-in (taxes and fees included); kept per night, so the stay total follows the dates. Use instead of maxTotalUsd when the traveller gives a nightly figure (the top of a range).",
      +  "exclusiveMinimum": 0,
      +  "type": "number"
      +}
    • changedInput schema / properties / maxTotalUsd / description
      Previous value: -"Hard cap on the whole-stay total in US dollars"New value: +"Hard cap on the whole-stay total in US dollars, taxes and fees included"
    • changedInput schema / properties / stayType / description
      Previous value: -"entire = whole apartments and houses (default); hotel = hotel rooms (Booking.com and Expedia); any = rentals and hotel rooms side by side, each tagged; resort = resorts and all-inclusives, Booking.com only, priced per person too"New value: +"entire = whole apartments and houses (default); hotel = hotel rooms (Booking.com and Expedia Group); any = rentals and hotel rooms side by side, each tagged; resort = resorts and all-inclusives, Booking.com only, priced per person too"
  4. First observed

TDQS

A3.9/5.0
Behavior5/5

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

Goes well past the readOnly/openWorld annotations: discloses latency ('picks within about a minute', hard stop at two and a half minutes), the async contract ('returns status running with a searchId'), dedup/limit behavior (up to three picks), and output artifacts (receipts, tracked openUrl links). Quota and auth requirements are stated explicitly: three free trips per connection, then a key; free account five a month, Pro unlimited.

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?

Four sentences, front-loaded with what it searches and returns, then timing, then pricing. Dense but every sentence carries distinct information. The rate-limit sentence with two nested account tiers is slightly bulky but not wasteful.

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 19-parameter, no-output-schema search tool, the description covers the essentials an agent needs: sources searched, result count and composition, async fallback, and cost/auth gating. Remaining gaps are mostly parameter-level nuances already handled by the schema, though the 'verified against the map' claim and the alert-oriented flexDays intent could use more explanation.

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

Parameters3/5

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

Schema description coverage is 79%, so the schema already carries most parameter meaning. The description adds only loose references to 'the dates and party' and implies waitSeconds drives the running-status cutoff; it does not explain stayType vs. hotelBrands interplay, budget tiers, or the two price caps. Baseline 3 is appropriate.

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?

States a concrete verb+resource with named sources: 'Live search of Booking.com, Vrbo and Expedia Group (hotel rooms)'. It also conveys the output shape (three picks: best overall, best value, closest). It doesn't explicitly differentiate from siblings like get_stay, check_listing, or city_picks, so an agent must infer the boundary from names alone.

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

Usage Guidelines3/5

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

Implicitly frames this as the discovery step ('Live search... verified against the map') and explains the waitSeconds/running-status fallback, which is useful. But it never says when to prefer this over get_stay, check_listing, or city_picks, nor any exclusions (e.g., do not use for a known listing).

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources