Staylist
Server Details
Hotel research for AI assistants: ranked shortlists, guest-review summaries, booking links. No key.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
Each tool has a distinct role: search_hotels finds properties, get_hotel returns full details, get_booking_link returns approved partner links, and list_destinations offers starting points. There is mild overlap since get_hotel already embeds booking links and search results include rating/amenity data, which could make an agent unsure when to call get_booking_link versus relying on get_hotel output.
All four tools follow a clean verb_noun snake_case pattern: get_booking_link, get_hotel, list_destinations, search_hotels. Verbs (get/list/search) match the action each tool performs, with no mixed conventions.
Four tools is a tight, well-scoped set for a hotel discovery plus booking-link server: destination listing, search, detail, and link retrieval. It is on the thin side but no tool feels redundant or missing from the surface.
The core lifecycle of discover destinations → search → inspect a hotel → retrieve a bookable link is fully covered, and booking/payment are explicitly out of scope. Minor gaps exist (no direct multi-hotel comparison or filter-only listing tool), but agents can work around them by chaining search_hotels and get_hotel.
Available Tools
4 toolsget_booking_linkGet hotel booking linksARead-onlyIdempotentInspect
Return the approved booking links for a hotel (the same links shown to people on staylist.world) plus the Staylist hotel page. Property links open the exact hotel on Trip.com or Klook, where the traveler picks dates and room; preserve these URLs unchanged. Dated offer links, when present, are sorted by total; primary is never a commission preference. The traveler completes checkout on the booking site; this tool cannot book or charge anyone.
| Name | Required | Description | Default |
|---|---|---|---|
| adults | No | ||
| checkin | No | Calendar date in YYYY-MM-DD format; provide both dates or neither | |
| checkout | No | Calendar date in YYYY-MM-DD format; provide both dates or neither | |
| hotel_id | Yes | Exact hotel id returned by search_hotels | |
| children_ages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so the description's added value is the operational context: links mirror what is publicly shown on staylist.world, URLs must be preserved unchanged, dated offers are sorted by total, and primary is not a commission preference. It omits anything about caching, rate limits, or failure modes, so not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, front-loaded with what is returned and followed by the operational constraints; each sentence carries distinct information. Slightly dense but no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly carries the return-value burden (booking links plus hotel page, dated offers sorted by total). It could say more about what happens when no dated offers exist or how the links are keyed, but it is sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 60% and the description adds no parameter-level meaning at all (nothing about adults, checkin/checkout pairing, or children_ages). The schema documents the date-pair coupling and the hotel_id provenance itself, so the baseline 3 is appropriate for a description that neither compensates nor misleads.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (return approved booking links for a hotel) and adds scope detail (the Staylist hotel page, property links opening on Trip.com/Klook). It is plainly distinguishable from siblings like get_hotel and search_hotels, which fetch hotel data rather than booking URLs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the purpose and there is one negative condition ('this tool cannot book or charge anyone'), which usefully rules out a mistaken intent. However, it never states when to prefer this over get_hotel or search_hotels, nor the prerequisites (e.g. needing a hotel_id from search_hotels).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_hotelCompare hotel offersARead-onlyIdempotentInspect
Hotel details: photos, address, star class, amenities, Trip.com review summary (score, review count, cleanliness/amenities/location/service sub-scores, what guests mention, highlights), check-in/out times, child policy, nearest airport/station, and booking links; for live-provider hotels also booking-site offers for the requested dates and guests (total, room, cancellation, conditions). refundable=null means unknown. Prices are not guaranteed. Preserve dates and occupancy from the search.
| Name | Required | Description | Default |
|---|---|---|---|
| adults | No | ||
| checkin | No | Calendar date in YYYY-MM-DD format; provide both dates or neither | |
| checkout | No | Calendar date in YYYY-MM-DD format; provide both dates or neither | |
| hotel_id | Yes | Exact hotel id returned by search_hotels | |
| children_ages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and openWorldHint, so the safety profile is covered. The description adds genuinely useful behavioral caveats beyond those: 'refundable=null means unknown', 'Prices are not guaranteed', and that booking-site offers appear only for live-provider hotels.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It leads with the resource ('Hotel details:') which is good front-loading, but the bulk is one very long run-on enumeration of return fields. It is dense and readable but not tightly scoped; the field list could have been trimmed since much of it is enumerative rather than decision-relevant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates the returned fields (photos, review sub-scores, policies, transfer info, booking links, offers), so an agent knows what to expect. It also warns about unpriced/unknown refundability and non-guaranteed prices, covering the main surprises for a detail-plus-offer tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 60%, with the checkin/checkout pairing constraint and the hotel_id provenance already documented in the schema. The description only adds the implicit requirement to reuse search dates and occupancy, without clarifying format or bounds for adults/children_ages, so it neither compensates for nor much improves on the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource precisely ('Hotel details' plus live-provider booking offers for the requested dates and guests) and enumerates the content returned, so an agent can tell it is a detail/offer lookup rather than a search. It does not explicitly name or contrast itself with siblings like search_hotels or get_booking_link, leaving differentiation to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The closing sentence 'Preserve dates and occupancy from the search' implies the intended workflow (call after search_hotels, carry over checkin/checkout/adults), which is useful contextual guidance. However there is no explicit when-to-use/when-not-to-use statement and no direct routing to get_booking_link for link-only needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_destinationsBrowse popular destinationsARead-onlyIdempotentInspect
Popular starting points with country codes. Optional; this list does not restrict which destinations can be searched. No provider search quota is used with the live provider.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful behavior not in annotations: it consumes no provider search quota and reflects the live provider, which matters for call budgeting.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, no filler, and the key constraint (the list does not restrict searches) is placed early. Slightly fragmentary opening but appropriately sized for a trivial tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, no-output-schema listing tool with strong annotations, the description covers what it returns, that it is optional, and its quota behavior. Only the return shape/size is unspecified, which is a minor gap given no output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so there is nothing for the description to disambiguate; the baseline of 4 applies. No param claims are made that could mislead.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description conveys that this returns a set of popular destinations with country codes, but 'Popular starting points' is loose phrasing that never states the action (listing/browsing) plainly. It is distinguishable from sibling search/get tools by resource, though no sibling is named.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clarifies that the list is optional and does not restrict which destinations can be searched, which is real routing guidance for an agent deciding whether it must call this first. It never states a positive condition for when to call it, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_hotelsSearch hotelsARead-onlyIdempotentInspect
Find hotels by city, name or preferences (query words also match amenities and guest mentions, e.g. "pool", "breakfast"). Cities in Staylist's catalogue return hotels that each have an approved partner booking link (Trip.com, Klook), with a score, Trip.com guest rating, review sub-scores and what guests mention, star class, amenities, check-in/out times and nearby transport where collected, photos and a sample_estimate (a previously observed nightly price, not a quote for the dates). Other cities use a live provider with indicative prices for an explicit stay. Supply both dates or neither. One room, 1–8 adults and up to 6 children. Use get_booking_link for the traveler's link. Never send names, email addresses or payment details.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| limit | No | ||
| query | No | ||
| stars | No | ||
| adults | No | ||
| checkin | No | Calendar date in YYYY-MM-DD format; provide both dates or neither | |
| checkout | No | Calendar date in YYYY-MM-DD format; provide both dates or neither | |
| min_rating | No | ||
| country_code | No | ||
| children_ages | No | ||
| max_price_per_night | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover the read-only/idempotent safety profile; the description adds substantial context beyond them: the two sourcing modes (Staylist catalogue vs live provider), what data is returned, and the critical caveat that sample_estimate is a previously observed price, not a quote. It also discloses a privacy rule ('Never send names, email addresses or payment details').
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded and the sentences are dense with useful detail rather than filler. The description is long and somewhat run-on in the return-value sentence, but nearly every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates what results contain (score, guest rating, amenities, photos, sample_estimate) and states operational constraints and a privacy rule. It is nearly complete for an 11-parameter search tool, with only a few filter parameters left unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 18%, so the description must compensate, and it does explain query semantics, the paired-date rule, and occupancy limits. However, it leaves several parameters (stars, min_rating, max_price_per_night, country_code, limit) undefined, so meaningful gaps remain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Starts with a specific verb+resource ('Find hotels') and immediately scopes it by city, name or preference queries, including that query words also match amenities and guest mentions. It clearly separates itself from siblings by routing booking-link needs to get_booking_link.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete usage constraints ('Supply both dates or neither', 'One room, 1–8 adults and up to 6 children') and names the alternative tool for booking links. It does not explicitly state when to prefer get_hotel or list_destinations, so it falls short of full when/when-not guidance.
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.
4 tool updates
- First observed
get_booking_link - First observed
get_hotel - First observed
list_destinations - First observed
search_hotels
Related MCP Connectors
Book real hotel and resort stays from any AI agent: all-in pricing, hosted Stripe checkout, no key.
Neutral hotel & stay price comparison for AI agents: live prices from 16+ booking sites. No signup.
Give AI assistants access to real-time data. Search the web, compare flights, find hotels, and more.
Search hotels, get live prices, and check out in chat. Guest search needs no sign-in.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI agents to search, browse, and book hotels from a database of 2 million properties worldwide. Provides comprehensive hotel search capabilities with location lookup, filtering by amenities, detailed property information, and integrated booking functionality.613 npm1ISC

DIDA Hotel MCPofficial
AlicenseNot gradedqualityBmaintenanceEnables AI agents to search, compare, and book hotels with real-time pricing and availability, supporting multiple location types, star ratings, and price filters.10MIT
RollingGo Hotel MCPofficial
AlicenseNot gradedqualityBmaintenanceEnables AI agents to search, compare, and book hotels worldwide through natural language, with real-time pricing and availability, plus price monitoring and order management.34MIT
Dida Hotel MCPofficial
AlicenseNot gradedqualityCmaintenanceEnables AI agents to search and book hotels globally with real-time pricing and inventory from over 2 million properties.82MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.