Skip to main content
Glama

RoomLast - Last-Minute Hotels

Server Details

Find last-minute hotels, compare room offers, and continue on RoomLast to book.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.1/5.0

Scored across 3 tools

Disambiguation4/5

The three tools map to distinct stages: hotel discovery, undated property facts, and live room offers. However, search_accommodations and get_accommodation_offers both accept dates and occupancy and both return price bands and links, so an agent could occasionally confuse search results with room-level offer retrieval.

Naming Consistency4/5

All names use a predictable snake_case verb_noun pattern with clear accommodation-related nouns. The only minor inconsistency is singular 'accommodation' in the get tools versus plural 'accommodations' in search.

Tool Count5/5

Three tools are well-scoped for a last-minute hotel discovery server: search, property details, and live offers. Each tool has a clear role and the set is not bloated.

Completeness4/5

The surface covers discovery, property facts, and live room offers, which supports the main research flow. Booking and exact private prices are intentionally delegated to RoomLast via links, but the absence of any booking or reservation operation is a minor gap.

Available Tools

3 tools
get_accommodation_detailsGet undated hotel factsA
Read-onlyIdempotent
Inspect

Returns undated facts for one identified RoomLast property ID, including address, description, photos, amenities, check-in and checkout times, star rating, and guest-review data. Availability, room offers, prices, breakfast, and cancellation terms are not included.

NameRequiredDescriptionDefault
currencyNoUSD
propertyIdYes

Output Schema

NameRequiredDescription
idYes
nameYes
imagesYes
addressYes
latitudeYes
amenitiesYes
longitudeYes
highlightsYes
starRatingYes
checkinFromYes
descriptionYes
reviewCountYes
reviewScaleYes
reviewScoreYes
propertyTypeYes
checkoutUntilYes

TDQS

A4.1/5.0
Behavior4/5

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 useful scope disclosure — the data is 'undated', meaning it is static property facts rather than time-sensitive availability — which prevents the agent from expecting pricing or availability.

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, no filler. The positive scope (what is returned) comes first and the exclusion clause second, which is the correct front-loading for a lookup tool with a nearby offers sibling.

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

Completeness4/5

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

An output schema exists, so return structure need not be described, yet the description still gives a useful content inventory. The main gap is the unexplained 'currency' parameter, which no structured field documents given 0% schema coverage.

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

Parameters2/5

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

Schema coverage is 0%, so the description carries the full parameter burden, and it fails: the 'currency' parameter (with a default of USD) is never explained, and its purpose is only hinted at by saying prices are *not* returned, which is actively confusing. propertyId is gestured at only as 'one identified RoomLast property ID' with no format or sourcing guidance.

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

Purpose5/5

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

The description names a specific verb and resource ('Returns undated facts for one identified RoomLast property ID') and enumerates the exact content returned (address, description, photos, amenities, check-in/checkout times, star rating, guest reviews). It is clearly distinguishable from get_accommodation_offers, which the exclusion clause implicitly names.

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 second sentence explicitly excludes availability, room offers, prices, breakfast, and cancellation terms, which tells the agent when to route elsewhere — notably to the offers sibling. It stops short of naming the alternative tool directly, so it is clear context rather than a full when/when-not/alternative statement.

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

get_accommodation_offersGet one hotel's full-stay rooms and pricesA
Read-onlyIdempotent
Inspect

Returns one named or identified hotel's live room offers for tonight or specified upcoming dates. Dates are represented by dateIntent tonight or by checkinDate and checkoutDate. Results include room types, photos, breakfast, refundability, cancellation terms, public-rate comparisons, masked RoomLast price bands, and RoomLast links. Supports single-room and multi-room occupancy. Exact private prices and booking are available on RoomLast.

NameRequiredDescriptionDefault
roomsNoNumber of rooms. Each room requires at least one adult.
adultsNoTotal adult guests.
currencyNoUSD
timeZoneNoOptional IANA time-zone fallback for resolving relative stay dates; destination or property location takes precedence.
hotelNameNoExact hotel name when propertyId is unavailable.
dateIntentNoRelative stay intent. Tonight resolves check-in as the current local date and check-out as the following date.
propertyIdNoRoomLast property ID from a search result or RoomLast stay URL.
checkinDateNoExplicit check-in date in YYYY-MM-DD; paired with checkoutDate.
destinationNoOptional city or region for disambiguating hotelName.
checkoutDateNoExplicit check-out date in YYYY-MM-DD; paired with checkinDate.
childrenAgesNoAge of each child at check-in.
roomArrangementsNoExact per-room occupancy. Example: room 1 has 2 adults and room 2 has 2 adults plus children ages 4 and 2 => [{adults:2,childrenAges:[],infants:0},{adults:2,childrenAges:[4,2],infants:0}]. Array length equals rooms, and aggregate guests equal adults and childrenAges.
availabilityTokenNo

Output Schema

NameRequiredDescription
stayYes
offersYes
propertyYes
propertyIdYes
priceDisclosureYes

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, and openWorld, so the safety profile is covered. The description adds genuinely new behavioral context: results carry masked RoomLast price bands and comparisons, exact private prices and booking must happen on RoomLast — a useful expectation-setting limitation.

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 front-loaded sentences with no filler; the identity scoping, date representation, and return contents come in that order. The enumeration of return fields ('photos, breakfast, refundability...') is slightly long but each item conveys real capability.

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

Completeness4/5

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

An output schema exists so return values need no prose explanation, and the description covers hotel identification, date handling, occupancy, and the masked-price limitation. The only missing piece is the prerequisite that a propertyId typically comes from search_accommodations.

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 85%, so the schema does most of the work, but the description still adds the date-mode semantics (dateIntent 'tonight' vs. the paired checkinDate/checkoutDate) and flags single- versus multi-room occupancy support, which maps to rooms and roomArrangements.

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 specific verb and resource: 'Returns one named or identified hotel's live room offers.' The 'one hotel' scoping implicitly separates it from search_accommodations, but it never names the sibling, so the differentiation is inferential rather than explicit.

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

Usage Guidelines3/5

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

The phrasing 'one named or identified hotel's' signals that a propertyId or hotelName must already be known, and it offers two date modes (tonight vs. explicit dates). However, it never says to run search_accommodations first to obtain a propertyId, nor does it exclude any situation or name a sibling tool.

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

search_accommodationsFind last-minute hotels with RoomLastA
Read-onlyIdempotent
Inspect

Finds last-minute hotels in a city, neighborhood, airport, or landmark for tonight or specified upcoming dates. Dates are represented by dateIntent tonight or by checkinDate and checkoutDate. Supports occupancy, price, stars, guest score, property type, amenities, cancellation, and sort filters. Returns hotel IDs, facts, masked RoomLast price bands, public-rate comparisons, and RoomLast links. Room choices and exact private prices are not included in these results.

NameRequiredDescriptionDefault
pageNo
sortNoResult order: top-picks, distance, total price ascending, total price descending, or guest reviews.top-picks
roomsNoNumber of rooms. Each room receives the default of 2 adults when adults is omitted.
adultsNoTotal adult guests. When omitted, RoomLast defaults to 2 adults per room.
childrenYesTotal child guests; equals childrenAges.length.
currencyNoUSD
timeZoneNoOptional IANA time-zone fallback for resolving relative stay dates; destination or property location takes precedence.
amenitiesNoAmenities required in every result.
dateIntentNoRelative stay intent. Tonight resolves check-in as the current local date and check-out as the following date.
checkinDateNoExplicit check-in date in YYYY-MM-DD; paired with checkoutDate.
destinationYesCity, neighborhood, airport, landmark, or other broad destination.
starRatingsNoExact accepted hotel star classifications.
checkoutDateNoExplicit check-out date in YYYY-MM-DD; paired with checkinDate.
childrenAgesNoAge of every child at check-in. The array length must equal children.
maximumPriceNoMaximum nightly price in the selected currency.
minimumPriceNoMinimum nightly price in the selected currency.
propertyTypesNoAccepted accommodation types, such as hotel, motel, resort, hostel, or apartment.
minimumStarRatingNoMinimum hotel star classification from 1 to 5; distinct from guest review score.
minimumReviewScoreNoMinimum guest review score out of 10; distinct from hotel star classification.
freeCancellationOnlyNoWhether results require free cancellation or refundable rates.

Output Schema

NameRequiredDescription
pageYes
totalYes
searchYes
totalPagesYes
accommodationsYes
priceDisclosureYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, non-destructive and open-world traits, so the bar is lower; the description still adds real value by disclosing that prices are masked RoomLast bands and that results carry public-rate comparisons and links, and by stating the exclusion of exact private prices and room options. It omits pagination behavior despite a page parameter.

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 purpose and scope before the filter and return-value summary. The filter enumeration partially restates the schema and could be trimmed, but no sentence is 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 20-parameter search tool with an output schema, the description covers purpose, date semantics, filter scope, and result shape adequately. Minor gaps: no note on pagination limits or how masked price bands should be interpreted downstream.

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 90%, so the baseline is 3; the description adds meaningful semantics by explaining the two date modes (dateIntent 'tonight' versus the checkinDate/checkoutDate pair) and by grouping the filter families (occupancy, price, stars, guest score, property type, amenities, cancellation, sort) into a coherent mental model.

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?

Specific verb ('Finds') + resource (last-minute hotels) + geographic scope (city, neighborhood, airport, landmark) + date scope (tonight or upcoming dates). The closing sentence about what is excluded (room choices, exact private prices) implicitly distinguishes it from get_accommodation_offers and get_accommodation_details.

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?

Clear context for use: last-minute stays for tonight or specified dates, with the supported filter families enumerated. It signals the boundary against offer/detail tools by stating results exclude room choices and private prices, but never names those sibling tools explicitly, so the routing is implied rather than spelled out.

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

Tool Schema Changelog

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

  1. 3 tool updates
    • First observedget_accommodation_details
    • First observedget_accommodation_offers
    • First observedsearch_accommodations

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    A
    maintenance
    Official MCP server for MAQAMI, a hotel and flight booking platform with 3M+ hotels. Search live hotel rates and flights, look up places, airports and hotel details, then prebook and book. Remote Streamable HTTP endpoint, no API key required.
    41
    56 npm
    2
    MIT
  • F
    license
    A
    quality
    B
    maintenance
    Enables AI assistants to search hotel rooms by number of nights within a flexible date range, returning real prices and the cheapest deals with booking links. It also supports city resolution, hotel listing, and offer details for external booking completion.
    4
    -
  • A
    license
    A
    quality
    B
    maintenance
    Search VeryChic hotel deals from any MCP client; browse flash-sale offers, filter by destination or price, and read availability and prices by date. Read-only, anonymous, no account needed.
    2
    63 PyPI
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources