Skip to main content
Glama

Hotelumo Hotel Operations

Server Details

See your hotel's room availability, rates, housekeeping and upcoming arrivals and departures.

Ownership verified
Status
Healthy
Uptime
100.0% over 21 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.2/5.0

Scored across 11 tools

Disambiguation4/5

Each tool targets a distinct resource or aggregation (hotel, room type, physical room, rate plan, daily rates, extras, availability, schedule) and nearly every description includes explicit 'Not for...' boundaries that steer selection. The only real friction is between get_hotel and show_hotel_overview and between get_room_type and list_room_types, where a single-entity getter and a list/aggregate tool cover adjacent ground, but the descriptions clarify the split.

Naming Consistency5/5

All names are snake_case and follow a verb-first convention (get_*, list_*, show_*). The only variation is get/list versus show, and 'show' is consistently reserved for the computed overview card, which is a defensible semantic distinction rather than an inconsistency.

Tool Count5/5

Eleven tools is well within the healthy range and each one maps to a distinct noun in the hotel domain (hotels, room types, rooms, rate plans, rates, extras) plus three aggregate/query views. No tool looks redundant enough to remove.

Completeness3/5

The surface is coherent but explicitly read-only: it covers configuration, availability, pricing and aggregate stay counts, yet there is no reservation or guest lookup and no create/update/delete for any entity. Several descriptions fence these off deliberately ('Not for making a booking', 'Not for looking up a guest or reservation'), so an agent asked to book, modify, or find a specific reservation hits a dead end.

Available Tools

11 tools
get_hotelGet hotel detailsA
Read-onlyIdempotent
Inspect

Use this when someone asks about one hotel's setup, such as its default check-in and check-out times, currency, country or timezone. Returns the hotel's name, currency, language, timezone, country code and default check-in and check-out times, or not-found. Not for room availability or prices.

ParametersJSON Schema
NameRequiredDescriptionDefault
hotelIdYesHotel id: 24 lowercase hexadecimal characters

Output Schema

ParametersJSON Schema
NameRequiredDescription
hotelYesOperational hotel metadata; null when not found. Contact details, addresses, integrations, credentials, payment configuration, reminders and guest data are never returned.
statusYes

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile needs no restating. The description adds the 'or not-found' outcome, which is genuine behavioral information beyond the annotations, but says nothing about permissions, error conditions, or lookup constraints such as whether the hotel must be active.

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 sentences, front-loaded with the trigger and scoping constraint. The middle sentence re-lists return fields that an existing output schema already covers, so it is mildly redundant, but nothing is padded or ambiguous.

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?

With one fully documented required parameter, rich annotations and an output schema present, the description covers everything an agent needs: when to call it, what it returns conceptually, the not-found case, and what it is not for. No material gaps remain.

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?

There is a single parameter and schema description coverage is 100%, with the schema itself documenting the 24-hex-character id format and pattern. The description adds no extra meaning about the identifier, so the baseline 3 applies since the schema does all the work.

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 one hotel's setup') and enumerates the concrete attributes returned (check-in/check-out times, currency, country, timezone). It also explicitly rules out neighboring concerns ('Not for room availability or prices'), so an agent can separate it from get_hotel_availability and list_daily_rates without opening a schema.

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?

Gives a clear trigger ('Use this when someone asks about one hotel's setup') plus an explicit exclusion for availability and prices. It does not name the specific sibling tool to use instead (e.g., get_hotel_availability), so routing is implied by category rather than stated, but the when/when-not framing is present.

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

get_hotel_availabilityCheck room availability and pricesA
Read-onlyIdempotent
Inspect

Use this when someone asks if rooms are free for certain dates or what a stay would cost. Returns the room types and rate plans with a free room every night for the party, with rooms left and nightly and total prices in minor currency units. Stays of 1–30 nights, check-in within 365 days. Not for making a booking.

ParametersJSON Schema
NameRequiredDescriptionDefault
adultsNoAdults staying, from 1 to 20; defaults to 2
hotelIdYesHotel id: 24 lowercase hexadecimal characters
infantsNoInfants staying, from 0 to 20; defaults to 0
childrenNoChildren staying, from 0 to 20; defaults to 0
checkInDateYesArrival date as YYYY-MM-DD, from today to 365 days ahead in the hotel's timezone
checkOutDateYesDeparture date as YYYY-MM-DD, 1 to 30 nights after checkInDate

Output Schema

ParametersJSON Schema
NameRequiredDescription
offersYesOne row per bookable room type and rate plan with a free room every night. Amounts are integer minor currency units (12000 is 120.00 in a two-decimal currency). Guest records, reservations, room assignments, access data, notes, payments, channel references, photos, free-text descriptions and credentials are excluded.
searchYes
offersAreTruncatedYesTrue when more than 100 offers matched the search

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, so the safety profile is covered. The description still adds real behavioral context beyond them: results are filtered to rate plans that have availability on every night for the party, prices are in minor currency units, and searches are bounded to 1-30 nights and check-in within 365 days.

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

Conciseness5/5

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

Three sentences, front-loaded with the usage trigger, then what is returned, then constraints and the exclusion. No filler or redundancy; each sentence carries distinct information.

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?

With an output schema already present, the description need not enumerate return fields. It supplies the scope, the availability filter semantics, currency-unit convention, and date-range limits, which is everything needed to call the tool correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter (dates, headcounts, hotelId format) is already documented in the schema. The description's date-window constraints largely restate what the schema says, and it adds no new syntax or party-composition detail. Baseline 3 applies.

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 names a specific resource and scope: it returns room types and rate plans with a free room every night for the party, plus inventory counts and prices. The filtering semantics ('free room every night') are more precise than the title alone. It does not name any sibling (e.g. list_daily_rates, list_rate_plans) as the adjacent alternative, so it falls short of full sibling 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?

It gives a concrete trigger ('when someone asks if rooms are free for certain dates or what a stay would cost') and a negative boundary ('Not for making a booking'). It does not, however, steer the agent toward or away from any actual sibling tool that overlaps on rates or room lists.

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

get_hotel_schedule_summaryCount arrivals, departures and staysA
Read-onlyIdempotent
Inspect

Use this when someone asks how busy the hotel is, or how many arrivals, departures or in-house stays fall on each day. Returns daily counts of confirmed, checked-in and checked-out stays plus reservation totals by status, for 7 days from today by default and at most 31 days; counting stops at 500. Not for looking up a guest or reservation.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateToNoLast day as YYYY-MM-DD (inclusive), at most 31 days in total; defaults to six days after dateFrom
hotelIdYesHotel id: 24 lowercase hexadecimal characters
dateFromNoFirst day as YYYY-MM-DD (inclusive); defaults to today in UTC

Output Schema

ParametersJSON Schema
NameRequiredDescription
daysYesOne row per day. arrivals, departures and inHouseReservations count confirmed, checked-in and checked-out stays; a stay is not in-house on its checkout day. Reservation or allocation identifiers, individual stay records, guest data, room assignments, notes, documents, payments, access data, channel references and credentials are never returned.
hotelYes
rangeYes
statusCountsYesReservations overlapping the range by status, inquiries, requests, no-shows and cancellations included
reservationCountYes
reservationCountIsLowerBoundYesTrue when more than 500 reservations overlap the range

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds real operational context beyond that: a default 7-day window, a 31-day maximum, and a counting cap of 500. It does not explain response shape, but the output schema makes that unnecessary.

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 triggering intent, followed by the return contents and limits, then the exclusion. No filler and nothing buried.

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

Completeness5/5

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

For a read-only aggregate tool with full schema coverage and an output schema, the description supplies everything an agent needs: what is counted, the default and maximum window, the 500 cap, and what the tool is not for. No meaningful gap remains.

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 coverage is 100%: dateFrom/dateTo defaults, the inclusive YYYY-MM-DD format and the 31-day limit are all documented in the schema already. The description's window and cap statements largely restate that, so baseline 3 is appropriate with no added syntax or format detail beyond the schema.

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

Purpose5/5

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

The description states a specific verb and resource: it returns daily counts of arrivals, departures and in-house stays, plus reservation totals by status. That is concrete enough to distinguish it from lookup-style siblings like get_hotel or list_rooms without opening any schema.

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 an explicit trigger ("Use this when someone asks how busy the hotel is, or how many arrivals, departures or in-house stays fall on each day") and an explicit exclusion ("Not for looking up a guest or reservation"). It does not name a specific sibling tool as the alternative for a caller who wanted an occupied-rooms view, so it falls just short of the 5 bar.

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

get_room_typeGet room type detailsA
Read-onlyIdempotent
Inspect

Use this when someone asks about one room type, such as its name or how many guests it sleeps. Returns the room type's name, hotel and maximum guests, or not-found. Not for its prices or free dates.

ParametersJSON Schema
NameRequiredDescriptionDefault
roomTypeIdYesRoom type id: 24 lowercase hexadecimal characters

Output Schema

ParametersJSON Schema
NameRequiredDescription
statusYes
roomTypeYesNull when not found. Free-text descriptions, facilities, photos, channel mappings, integrations, credentials and arbitrary metadata are never returned.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description still adds value by disclosing the not-found outcome, which annotations 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?

Three short sentences with zero waste; the trigger condition is front-loaded, followed by return shape and then exclusions. Every clause earns its place.

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

Completeness4/5

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

With an output schema present, return values need not be spelled out, yet the description still summarizes them. For a one-parameter read tool with full annotation coverage, the only minor gap is not naming the sibling to use for prices or dates.

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% and the single roomTypeId parameter is fully documented in the schema, including its 24-hex-character pattern. The description adds no format or lookup semantics beyond that, so the baseline 3 applies.

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 (get) and resource (room type) and names exactly what it returns: name, hotel, maximum guests. The exclusion of prices and free dates cleanly separates it from rate/availability siblings.

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?

Gives a clear triggering condition ("when someone asks about one room type") and explicit exclusions ("Not for its prices or free dates"), which routes the agent away from list_daily_rates and get_hotel_availability. It stops short of naming the alternative tool to use instead, so it is strong but not maximal.

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

list_daily_ratesShow daily prices and restrictionsA
Read-onlyIdempotent
Inspect

Use this when someone asks what a rate costs on specific nights, or about minimum stays, stop-sell or closed-to-arrival dates. Returns the stored per-day price and restrictions of one rate plan over up to 90 days; days without a row use the plan's base price. Not for whether rooms are free.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateToYesLast night as YYYY-MM-DD (inclusive); the range covers at most 90 days
hotelIdYesHotel id: 24 lowercase hexadecimal characters
dateFromYesFirst night as YYYY-MM-DD (inclusive)
ratePlanIdYesRate plan id, belonging to hotelId: 24 lowercase hexadecimal characters

Output Schema

ParametersJSON Schema
NameRequiredDescription
statusYes
dailyRatesYesStored per-day rows sorted by date; a date without a row sells at the plan's base price. price is in integer minor currency units. Guest, payment, channel, credential and arbitrary metadata are excluded.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, non-destructive, and closed-world behavior. The description adds useful operational context beyond annotations: the 90-day range limit and the default behavior that 'days without a row use the plan's base price.' It does not cover auth or rate limits, but it meaningfully extends the behavioral picture.

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 three tightly written sentences. It is front-loaded with the usage trigger, follows with the return behavior and fallback semantics, and closes with the exclusion. Every sentence earns its place.

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?

An output schema exists, so return formatting need not be explained. Annotations cover the safety profile, and the description supplies the usage trigger, scope, fallback behavior, and explicit exclusion. Nothing an agent needs in order to call this 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 the schema already documents all four parameters with patterns and descriptions. The description reinforces that the tool operates on one rate plan and specific nights, but adds no syntax or format detail beyond the schema. Baseline 3 is appropriate when the schema carries the parameter burden.

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: it 'Returns the stored per-day price and restrictions of one rate plan over up to 90 days.' It also distinguishes the tool from siblings by specifying that it is 'Not for whether rooms are free,' which contrasts with the availability-focused tools.

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

Usage Guidelines5/5

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

It gives an explicit when-to-use trigger ('when someone asks what a rate costs on specific nights, or about minimum stays, stop-sell or closed-to-arrival dates') and an explicit when-not ('Not for whether rooms are free'). The exclusion effectively routes the agent away from availability tools, even though the alternative tool is not named by exact name.

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

list_extrasList extras and add-onsA
Read-onlyIdempotent
Inspect

Use this when someone asks what extras a hotel sells, such as breakfast, parking, spa, transfers or fees, and what they cost. Returns each active extra's name, price in minor currency units, currency, category and taxable flag, 20 per page by default. Not for what a guest bought or was charged.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoExtras per page, from 1 to 100; defaults to 20
offsetNoExtras to skip, from 0 to 10000; defaults to 0. For the next page pass offset + limit
hotelIdNoOnly this hotel (24 lowercase hexadecimal characters); every hotel when absent

Output Schema

ParametersJSON Schema
NameRequiredDescription
pageYeshasMore is true when another page exists; request it with offset + limit
extrasYesActive extras; price is in integer minor currency units. Guest charges, folio data, display colors and credentials are excluded.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so safety is covered. The description adds real behavioral context beyond that: only *active* extras are returned, prices are in minor currency units, and results are paginated at 20 per page by default.

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, zero filler: the first front-loads the use case and the key returned fields, the second states the exclusion. Nothing is redundant or buried.

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?

With full param coverage, an output schema handling return values, and annotations covering the safety profile, the description supplies everything else an agent needs: domain scope, active-only filtering, price units, pagination, and the exclusion boundary.

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%, with limit, offset and hotelId all self-documented including defaults and the offset+limit paging recipe. The description only echoes the 20-per-page default already present in the schema, so it adds little beyond 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 names a specific verb+resource ('list extras a hotel sells') and enumerates the domain (breakfast, parking, spa, transfers, fees) so an agent can distinguish it from siblings like list_rate_plans or list_daily_rates. It also closes the boundary with 'Not for what a guest bought or was charged.'

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

Usage Guidelines5/5

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

It states the trigger explicitly ('Use this when someone asks what extras a hotel sells... and what they cost') and pairs it with a negative condition ('Not for what a guest bought or was charged'), which is the main risk of misuse for an extras-listing tool.

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

list_hotelsList your hotelsA
Read-onlyIdempotent
Inspect

Use this when someone asks which hotels or properties they manage in Hotelumo, or a hotel's id is needed. Returns each hotel's id, name, currency, language and timezone, 20 per page by default (no addresses or guest data). Not for room availability.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHotels per page, from 1 to 100; defaults to 20
offsetNoHotels to skip, from 0 to 10000; defaults to 0. For the next page pass offset + limit

Output Schema

ParametersJSON Schema
NameRequiredDescription
pageYeshasMore is true when another page exists; request it with offset + limit
hotelsYesHotels in the signed-in organization. Addresses, phone numbers, channel credentials, payment configuration, reminder configuration and guest data are excluded.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already establish readOnly/idempotent/safe semantics, but the description adds real value beyond them: the returned field set (id, name, currency, language, timezone), the 20-per-page default, and what is deliberately excluded (no addresses or guest data). It does not describe error or auth behavior, so it falls short of 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.

Conciseness5/5

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

Three short sentences ordered by importance — trigger, return shape, exclusion — with no filler and no 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?

For a zero-required-param list tool with an output schema and full annotation coverage, the description supplies everything an agent needs: when to call it, what comes back, and what it is not for.

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?

Both parameters are fully documented in the schema (limit 1-100 default 20, offset 0-10000 with offset+limit paging guidance), so the description's mention of "20 per page by default" only restates it. With 100% schema coverage, baseline 3 is appropriate.

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

Purpose5/5

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

States a specific verb (list) and resource (hotels/properties the user manages) and explicitly carves out scope with "Not for room availability," separating it from get_hotel_availability and list_room_types. An agent can identify this tool's job without opening the schema.

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?

Gives a concrete trigger ("when someone asks which hotels... or a hotel's id is needed") and one exclusion ("Not for room availability"). It stops short of naming the alternative sibling tool to use instead, so routing still needs a small inference.

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

list_rate_plansList rate plans and base pricesA
Read-onlyIdempotent
Inspect

Use this when someone asks what rate plans a hotel sells, such as room-only or breakfast-included rates, and their base prices. Returns each plan's title, room type, base price in minor currency units, meal plan, per-room or per-person pricing and default flag, 20 per page by default. Not for prices on specific dates.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoRate plans per page, from 1 to 100; defaults to 20
offsetNoRate plans to skip, from 0 to 10000; defaults to 0. For the next page pass offset + limit
hotelIdYesHotel id: 24 lowercase hexadecimal characters
roomTypeIdNoOnly this room type (24 lowercase hexadecimal characters)

Output Schema

ParametersJSON Schema
NameRequiredDescription
pageYeshasMore is true when another page exists; request it with offset + limit
ratePlansYesbasePrice is in integer minor currency units. Channel-manager mappings, integration metadata and credentials are excluded.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover the read-only/idempotent/non-destructive profile, but the description adds genuinely new context: the returned field set (title, room type, base price, meal plan, per-room/per-person, default flag) and the pagination default of 20 per page. It does not mention auth requirements or total-count behavior, so not a full 5.

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

Conciseness5/5

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

Three tight sentences: trigger, returned payload, then exclusion. Front-loaded and every clause carries information.

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?

With an output schema present and full schema coverage, the description need only establish purpose, scope, and the date-specific exclusion, all of which it does. Nothing essential for correct invocation 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 coverage is 100%, so all four parameters including limit/offset syntax are already documented in the schema. The description only restates the 20-per-page default, adding no meaning beyond the schema; baseline 3 applies.

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 concrete verb+resource (list rate plans) plus what is returned (base prices), and explicitly carves out the boundary against date-specific pricing. An agent can distinguish it from list_daily_rates without reading any schema.

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?

Gives a clear triggering condition ('when someone asks what rate plans a hotel sells... and their base prices') and an exclusion ('Not for prices on specific dates'). It stops short of naming the alternative tool to use instead, leaving that inference to the agent.

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

list_roomsCheck room and housekeeping statusA
Read-onlyIdempotent
Inspect

Use this when someone asks which rooms are clean, dirty or inspected, or which are out of order or out of service. Returns each physical room's name or number, room type and hotel with its room and housekeeping status, 20 per page by default (no guest or occupant data). Not for which rooms are free on given dates.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoRooms per page, from 1 to 100; defaults to 20
offsetNoRooms to skip, from 0 to 10000; defaults to 0. For the next page pass offset + limit
hotelIdNoOnly this hotel (24 lowercase hexadecimal characters); every hotel when absent
roomTypeIdNoOnly this room type (24 lowercase hexadecimal characters)

Output Schema

ParametersJSON Schema
NameRequiredDescription
pageYeshasMore is true when another page exists; request it with offset + limit
roomsYesPhysical rooms sorted by name. Internal room ids, reservation, occupant, guest, access-control and channel data are excluded.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds genuinely useful context beyond that: the default page size of 20 and the privacy constraint that no guest or occupant data is returned. It stops short of describing pagination limits or ordering, which keeps it out of the top range.

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

Conciseness5/5

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

Three tightly packed sentences: trigger condition first, return contents second, exclusion last. No filler, and the most decision-relevant information is front-loaded.

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?

An output schema exists, yet the description still summarizes the salient return shape, and it covers the filter parameters implicitly via the schema. For a read-only list tool with full annotation coverage, nothing an agent needs to select or invoke it 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 coverage is 100%, so limit/offset/hotelId/roomTypeId semantics are already fully documented in the schema. The description adds the pagination default but does not mention the hotel or room-type filters, so it neither compensates for nor extends the schema meaningfully. Baseline 3 applies.

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 (list) and resource (rooms) with the exact status dimension it exposes — clean/dirty/inspected, out of order/service. It also names what the result contains (name/number, room type, hotel, statuses), which an agent can use to differentiate it from siblings like get_hotel_availability.

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?

Gives explicit trigger conditions ('when someone asks which rooms are clean, dirty or inspected') and an explicit exclusion ('Not for which rooms are free on given dates'), which routes the agent to the availability tool for the adjacent use case.

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

list_room_typesList room typesA
Read-onlyIdempotent
Inspect

Use this when someone asks what kinds of rooms a hotel offers or how many guests each room type sleeps. Returns each room type's id, hotel, name and maximum guests, sorted by name, 20 per page by default. Not for whether a room type is free on given dates.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoRoom types per page, from 1 to 100; defaults to 20
offsetNoRoom types to skip, from 0 to 10000; defaults to 0. For the next page pass offset + limit
hotelIdNoOnly this hotel (24 lowercase hexadecimal characters); every hotel when absent

Output Schema

ParametersJSON Schema
NameRequiredDescription
pageYeshasMore is true when another page exists; request it with offset + limit
roomTypesYesRoom types sorted by name. Photos, public descriptions, rate-plan internals, channel mappings and credentials are excluded.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint, and openWorldHint, so the safety profile is covered. The description adds genuinely new behavioral context beyond the annotations: the sort order (by name) and the default pagination size (20 per page).

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

Conciseness5/5

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

Three sentences, front-loaded with the use condition, then the return/sort/paging behavior, then the exclusion. No filler and every sentence carries a distinct piece of information.

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?

With a full output schema, complete parameter descriptions, and annotations covering the safety profile, the description only needs to cover scope, ordering, paging default, and boundaries — all of which it does. Nothing an agent needs to call this 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 limit, offset, and hotelId are already fully documented including defaults, ranges, and the offset+limit paging hint. The description only restates the 20-per-page default, adding no syntax or semantics beyond the schema; baseline 3 is appropriate.

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

Purpose5/5

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

The description states a specific verb and resource ('List room types') and frames it in the user-language scenario ('what kinds of rooms a hotel offers or how many guests each room type sleeps'), which lets an agent distinguish it from siblings like get_room_type (singular) and list_rooms.

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

Usage Guidelines5/5

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

It gives an explicit when-to-use trigger and an explicit when-not ('Not for whether a room type is free on given dates'), which routes the agent away from this tool toward the availability sibling. The only gap is not naming that alternative by exact name, but the exclusion condition is unambiguous.

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

show_hotel_overviewShow hotel operations overviewA
Read-onlyIdempotent
Inspect

Use this when someone wants a quick overview or dashboard of one hotel's operations. Returns an overview card with the hotel's details, reservation status counts for the next 7 days, and room, room-type, room-status and housekeeping counts from bounded samples (no guest, stay or payment data). Not for a single reservation.

ParametersJSON Schema
NameRequiredDescriptionDefault
hotelIdYesHotel id: 24 lowercase hexadecimal characters

Output Schema

ParametersJSON Schema
NameRequiredDescription
hotelYesNull when not found. Guest identities, contact details, reservation or allocation identifiers, individual stay records, notes, documents, occupant ids, payments, access data, integration configuration, credentials and arbitrary metadata are excluded.
roomsYesPhysical rooms, sampled up to 100; hasMore marks a lower bound
roomTypesYesRoom types, sampled up to 50; hasMore marks a lower bound
reservationsYesReservations overlapping the next seven UTC days, any status, sampled up to 50; hasMore marks a lower bound
scheduleRangeYes
roomStatusCountsYes
reservationStatusCountsYes
housekeepingStatusCountsYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, closed-world. The description adds real context beyond that: it enumerates what the card contains (reservation status counts for next 7 days, room/room-type/room-status/housekeeping counts), notes these come from bounded samples, and explicitly excludes guest, stay and payment data — useful privacy/scope disclosure.

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

Conciseness5/5

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

Three sentences that are tightly ordered: usage trigger, then return contents, then exclusion. No filler or redundancy, and the most decision-relevant information (when to use) is front-loaded.

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

Completeness5/5

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

For a single-parameter read tool with rich annotations and an existing output schema, the description supplies everything else an agent needs: what it returns, the bounded-sample caveat, and what data is deliberately absent. Nothing material 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?

Single parameter with 100% schema description coverage (pattern and format already documented in the schema). The description adds no syntax or constraint detail for hotelId, so the schema does all the work — baseline 3.

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 ('Show') plus the resource ('hotel operations overview' / dashboard) and constrains scope to one hotel. It also names the adjacent-but-different case ('Not for a single reservation'), letting an agent separate it from get_hotel and get_hotel_schedule_summary.

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?

Gives a clear triggering condition ('when someone wants a quick overview or dashboard of one hotel's operations') and one explicit exclusion ('Not for a single reservation'). It stops short of naming which sibling to use instead for detail or schedule, so it is strong but not fully routing.

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. 11 tool updates
    • Changedget_hotel2 fields changed
      • changedInput schema / properties / hotelId / description
        Previous value: -"24-character lowercase hexadecimal hotel id"New value: +"Hotel id: 24 lowercase hexadecimal characters"
      • addedOutput schema / properties / hotel / description
        Added value: +"Operational hotel metadata; null when not found. Contact details, addresses, integrations, credentials, payment configuration, reminders and guest data are never returned."
    • Changedget_hotel_availability8 fields changed
      • addedInput schema / properties / adults / description
        Added value: +"Adults staying, from 1 to 20; defaults to 2"
      • changedInput schema / properties / checkInDate / description
        Previous value: -"YYYY-MM-DD check-in"New value: +"Arrival date as YYYY-MM-DD, from today to 365 days ahead in the hotel's timezone"
      • changedInput schema / properties / checkOutDate / description
        Previous value: -"YYYY-MM-DD check-out"New value: +"Departure date as YYYY-MM-DD, 1 to 30 nights after checkInDate"
      • addedInput schema / properties / children / description
        Added value: +"Children staying, from 0 to 20; defaults to 0"
      • changedInput schema / properties / hotelId / description
        Previous value: -"24-character lowercase hexadecimal hotel id"New value: +"Hotel id: 24 lowercase hexadecimal characters"
      • addedInput schema / properties / infants / description
        Added value: +"Infants staying, from 0 to 20; defaults to 0"
      • addedOutput schema / properties / offers / description
        Added value: +"One row per bookable room type and rate plan with a free room every night. Amounts are integer minor currency units (12000 is 120.00 in a two-decimal currency). Guest records, reservations, room assignments, access data, notes, payments, channel references, photos, free-text descriptions and credentials are excluded."
      • addedOutput schema / properties / offersAreTruncated / description
        Added value: +"True when more than 100 offers matched the search"
    • Changedget_hotel_schedule_summary6 fields changed
      • changedInput schema / properties / dateFrom / description
        Previous value: -"Inclusive UTC date as YYYY-MM-DD; defaults to today"New value: +"First day as YYYY-MM-DD (inclusive); defaults to today in UTC"
      • changedInput schema / properties / dateTo / description
        Previous value: -"Inclusive UTC date as YYYY-MM-DD; defaults to six days later"New value: +"Last day as YYYY-MM-DD (inclusive), at most 31 days in total; defaults to six days after dateFrom"
      • changedInput schema / properties / hotelId / description
        Previous value: -"24-character lowercase hexadecimal hotel id"New value: +"Hotel id: 24 lowercase hexadecimal characters"
      • addedOutput schema / properties / days / description
        Added value: +"One row per day. arrivals, departures and inHouseReservations count confirmed, checked-in and checked-out stays; a stay is not in-house on its checkout day. Reservation or allocation identifiers, individual stay records, guest data, room assignments, notes, documents, payments, access data, channel references and credentials are never returned."
      • addedOutput schema / properties / reservationCountIsLowerBound / description
        Added value: +"True when more than 500 reservations overlap the range"
      • addedOutput schema / properties / statusCounts / description
        Added value: +"Reservations overlapping the range by status, inquiries, requests, no-shows and cancellations included"
    • Changedget_room_type2 fields changed
      • changedInput schema / properties / roomTypeId / description
        Previous value: -"24-character lowercase hexadecimal room-type id"New value: +"Room type id: 24 lowercase hexadecimal characters"
      • addedOutput schema / properties / roomType / description
        Added value: +"Null when not found. Free-text descriptions, facilities, photos, channel mappings, integrations, credentials and arbitrary metadata are never returned."
    • Changedlist_daily_rates5 fields changed
      • changedInput schema / properties / dateFrom / description
        Previous value: -"Inclusive YYYY-MM-DD start"New value: +"First night as YYYY-MM-DD (inclusive)"
      • changedInput schema / properties / dateTo / description
        Previous value: -"Inclusive YYYY-MM-DD end"New value: +"Last night as YYYY-MM-DD (inclusive); the range covers at most 90 days"
      • changedInput schema / properties / hotelId / description
        Previous value: -"24-character lowercase hexadecimal hotel id"New value: +"Hotel id: 24 lowercase hexadecimal characters"
      • changedInput schema / properties / ratePlanId / description
        Previous value: -"24-character lowercase hexadecimal rate-plan id"New value: +"Rate plan id, belonging to hotelId: 24 lowercase hexadecimal characters"
      • addedOutput schema / properties / dailyRates / description
        Added value: +"Stored per-day rows sorted by date; a date without a row sells at the plan's base price. price is in integer minor currency units. Guest, payment, channel, credential and arbitrary metadata are excluded."
    • Changedlist_extras8 fields changed
      • addedInput schema / properties / hotelId / description
        Added value: +"Only this hotel (24 lowercase hexadecimal characters); every hotel when absent"
      • addedInput schema / properties / limit / description
        Added value: +"Extras per page, from 1 to 100; defaults to 20"
      • addedInput schema / properties / offset / description
        Added value: +"Extras to skip, from 0 to 10000; defaults to 0. For the next page pass offset + limit"
      • addedOutput schema / properties / extras / description
        Added value: +"Active extras; price is in integer minor currency units. Guest charges, folio data, display colors and credentials are excluded."
      • removedOutput schema / properties / extras / items / properties / category / $ref
        Removed value: -"#/properties/extras/items/properties/name"
      • addedOutput schema / properties / extras / items / properties / category / anyOf
        Added value: +[
        +  {
        +    "$ref": "#/properties/extras/items/properties/name/anyOf/0"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedOutput schema / properties / extras / items / properties / category / description
        Added value: +"BREAKFAST, PARKING, SPA, TRANSFER, FEE or OTHER"
      • addedOutput schema / properties / page / description
        Added value: +"hasMore is true when another page exists; request it with offset + limit"
    • Changedlist_hotels4 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Hotels per page, from 1 to 100; defaults to 20"
      • addedInput schema / properties / offset / description
        Added value: +"Hotels to skip, from 0 to 10000; defaults to 0. For the next page pass offset + limit"
      • addedOutput schema / properties / hotels / description
        Added value: +"Hotels in the signed-in organization. Addresses, phone numbers, channel credentials, payment configuration, reminder configuration and guest data are excluded."
      • addedOutput schema / properties / page / description
        Added value: +"hasMore is true when another page exists; request it with offset + limit"
    • Changedlist_rate_plans9 fields changed
      • changedInput schema / properties / hotelId / description
        Previous value: -"24-character lowercase hexadecimal hotel id"New value: +"Hotel id: 24 lowercase hexadecimal characters"
      • addedInput schema / properties / limit / description
        Added value: +"Rate plans per page, from 1 to 100; defaults to 20"
      • addedInput schema / properties / offset / description
        Added value: +"Rate plans to skip, from 0 to 10000; defaults to 0. For the next page pass offset + limit"
      • addedInput schema / properties / roomTypeId / description
        Added value: +"Only this room type (24 lowercase hexadecimal characters)"
      • addedOutput schema / properties / page / description
        Added value: +"hasMore is true when another page exists; request it with offset + limit"
      • addedOutput schema / properties / ratePlans / description
        Added value: +"basePrice is in integer minor currency units. Channel-manager mappings, integration metadata and credentials are excluded."
      • removedOutput schema / properties / ratePlans / items / properties / rateMode / $ref
        Removed value: -"#/properties/ratePlans/items/properties/title"
      • addedOutput schema / properties / ratePlans / items / properties / rateMode / anyOf
        Added value: +[
        +  {
        +    "$ref": "#/properties/ratePlans/items/properties/title/anyOf/0"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedOutput schema / properties / ratePlans / items / properties / rateMode / description
        Added value: +"manual or derived"
    • Changedlist_room_types5 fields changed
      • addedInput schema / properties / hotelId / description
        Added value: +"Only this hotel (24 lowercase hexadecimal characters); every hotel when absent"
      • addedInput schema / properties / limit / description
        Added value: +"Room types per page, from 1 to 100; defaults to 20"
      • addedInput schema / properties / offset / description
        Added value: +"Room types to skip, from 0 to 10000; defaults to 0. For the next page pass offset + limit"
      • addedOutput schema / properties / page / description
        Added value: +"hasMore is true when another page exists; request it with offset + limit"
      • addedOutput schema / properties / roomTypes / description
        Added value: +"Room types sorted by name. Photos, public descriptions, rate-plan internals, channel mappings and credentials are excluded."
    • Changedlist_rooms12 fields changed
      • addedInput schema / properties / hotelId / description
        Added value: +"Only this hotel (24 lowercase hexadecimal characters); every hotel when absent"
      • addedInput schema / properties / limit / description
        Added value: +"Rooms per page, from 1 to 100; defaults to 20"
      • addedInput schema / properties / offset / description
        Added value: +"Rooms to skip, from 0 to 10000; defaults to 0. For the next page pass offset + limit"
      • addedInput schema / properties / roomTypeId / description
        Added value: +"Only this room type (24 lowercase hexadecimal characters)"
      • addedOutput schema / properties / page / description
        Added value: +"hasMore is true when another page exists; request it with offset + limit"
      • addedOutput schema / properties / rooms / description
        Added value: +"Physical rooms sorted by name. Internal room ids, reservation, occupant, guest, access-control and channel data are excluded."
      • removedOutput schema / properties / rooms / items / properties / housekeepingStatus / $ref
        Removed value: -"#/properties/rooms/items/properties/name"
      • addedOutput schema / properties / rooms / items / properties / housekeepingStatus / anyOf
        Added value: +[
        +  {
        +    "$ref": "#/properties/rooms/items/properties/name/anyOf/0"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedOutput schema / properties / rooms / items / properties / housekeepingStatus / description
        Added value: +"CLEAN, DIRTY or INSPECTED"
      • removedOutput schema / properties / rooms / items / properties / status / $ref
        Removed value: -"#/properties/rooms/items/properties/name"
      • addedOutput schema / properties / rooms / items / properties / status / anyOf
        Added value: +[
        +  {
        +    "$ref": "#/properties/rooms/items/properties/name/anyOf/0"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedOutput schema / properties / rooms / items / properties / status / description
        Added value: +"AVAILABLE (in service, not a statement about occupancy), OUT_OF_ORDER or OUT_OF_SERVICE"
    • Changedshow_hotel_overview5 fields changed
      • changedInput schema / properties / hotelId / description
        Previous value: -"24-character lowercase hexadecimal hotel id"New value: +"Hotel id: 24 lowercase hexadecimal characters"
      • addedOutput schema / properties / hotel / description
        Added value: +"Null when not found. Guest identities, contact details, reservation or allocation identifiers, individual stay records, notes, documents, occupant ids, payments, access data, integration configuration, credentials and arbitrary metadata are excluded."
      • addedOutput schema / properties / reservations / description
        Added value: +"Reservations overlapping the next seven UTC days, any status, sampled up to 50; hasMore marks a lower bound"
      • addedOutput schema / properties / roomTypes / description
        Added value: +"Room types, sampled up to 50; hasMore marks a lower bound"
      • addedOutput schema / properties / rooms / description
        Added value: +"Physical rooms, sampled up to 100; hasMore marks a lower bound"
  2. 11 tool updates
    • First observedget_hotel
    • First observedget_hotel_availability
    • First observedget_hotel_schedule_summary
    • First observedget_room_type
    • First observedlist_daily_rates
    • First observedlist_extras
    • First observedlist_hotels
    • First observedlist_rate_plans
    • First observedlist_room_types
    • First observedlist_rooms
    • First observedshow_hotel_overview

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources