Skip to main content
Glama

Quub hotel search and booking

Server Details

Live hotel prices worldwide, sourced destination guides, prebooking. No key needed for reads.

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/5.0

Scored across 8 tools

Disambiguation4/5

Each tool targets a distinct resource+action: search_hotels returns lists, get_hotel returns a single hotel's full detail, prebook holds a room, get_booking reports status, and cancel_booking cancels. The list/detail pairs (list_destinations vs get_destination_guide, search_hotels vs get_hotel) are clearly differentiated by their descriptions, with only mild conceptual adjacency between searching and fetching a hotel.

Naming Consistency4/5

Names are snake_case verb_noun throughout (search_hotels, get_hotel, prebook, get_booking, cancel_booking, list_destinations, get_destination_guide, request_api_key). The lone deviation is 'prebook', which is a bare verb without a noun, but the convention remains readable and predictable.

Tool Count5/5

Eight tools is well-scoped for a hotel search and booking server. Each tool maps to a clear step in the search-to-booking lifecycle plus supporting utilities (guides, API key), with no redundant or filler tools.

Completeness4/5

The full booking lifecycle is covered: search -> prebook -> pay -> get_booking -> cancel_booking, plus destination guides and API key provisioning. Minor gaps exist (e.g. no booking modification or multi-room handling), but core workflows have no dead ends.

Available Tools

8 tools
cancel_bookingCancel bookingA
DestructiveIdempotent
Inspect

Cancels a confirmed booking with a refundable rate that this key made. The refund follows the rate terms (free before the deadline, the hotel charge after it) and goes back to the card through Nuitee. Non-refundable rates cannot be cancelled online. Only call this when the guest asked for it. Needs the guest email. Needs a Quub API key (this connection has none yet: use request_api_key).

ParametersJSON Schema
NameRequiredDescriptionDefault
booking_idYesbooking_id from prebook.
guest_emailYesThe guest email used for the booking.

TDQS

A4.6/5.0
Behavior5/5

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

Annotations declare the safety profile (destructive=true, idempotent=true), but the description adds material context they cannot carry: the refund follows the rate terms, is credited back to the card through Nuitee, and the free-cancellation window is bounded by a deadline. It also discloses the auth blocker (no Quub API key on this connection), which is exactly the kind of precondition an agent needs before invoking a destructive tool.

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?

Front-loaded with the purpose and refund consequence, then constraints, then prerequisites. Five short sentences with little waste, though 'Needs the guest email' is mildly redundant against a required schema field and could be dropped.

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 destructive, irreversible cancellation with no output schema, the description covers everything an agent needs: what is refunded, where the money goes, which rates are eligible, who must request it, and that the call is currently blocked pending an API key. 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?

Schema coverage is 100% and both parameters are required, so the schema already documents booking_id and guest_email. The description only restates that the guest email is needed, adding no format, provenance, or edge-case detail beyond what is structured. 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 and resource ('Cancels a confirmed booking') and narrows the scope with two qualifiers: the rate must be refundable and the booking must have been made with this key. No sibling tool performs cancellation, so the agent can immediately place it in the toolset.

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 an explicit gate ('Only call this when the guest asked for it'), an explicit exclusion ('Non-refundable rates cannot be cancelled online'), and routes to the correct alternative tool for the blocking prerequisite ('this connection has none yet: use request_api_key'). When-to-use, when-not-to, and the prerequisite path are all named.

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

get_bookingGet bookingA
Read-only
Inspect

Status of a booking this key made: awaiting_payment (with pay_url), confirming, confirmed (confirmation number, hotel reference, voucher_url), outcome_pending, failed or cancelled (refund), plus the total, the cancellation terms and the free cancellation deadline. Needs the guest email or the booking_secret from prebook. Needs a Quub API key (this connection has none yet: use request_api_key).

ParametersJSON Schema
NameRequiredDescriptionDefault
booking_idYesbooking_id from prebook, starts with Q.
guest_emailNoThe guest email used for the booking.
booking_secretNobooking_secret from prebook.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=true, and the description adds real operational context beyond that: the auth requirement (Quub API key), the fact this connection lacks one, the remediation path (request_api_key), and the dependency on prebook output. It does not contradict the read-only annotation.

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?

Purpose is front-loaded and every sentence carries information, but the middle enumeration of status values is dense and parenthetical-heavy, making it feel like a run-on rather than cleanly structured prose.

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 no output schema, the description steps in to describe the returned statuses and fields (pay_url, confirmation number, hotel reference, voucher_url, refund, total, cancellation terms, free cancellation deadline), plus auth and prerequisites. An agent has everything needed to call and interpret it.

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

Parameters4/5

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

Schema coverage is 100%, but the description adds meaning the schema does not: that the caller needs guest_email OR booking_secret even though the schema marks only booking_id as required, and it ties booking_secret/booking_id back to prebook. This resolves a genuine ambiguity in the required-parameter list.

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+resource: retrieves the status of a booking created by this key, and enumerates the concrete return states (awaiting_payment, confirming, confirmed, outcome_pending, failed/cancelled). This clearly distinguishes it from siblings like get_hotel or prebook.

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 prerequisites (needs guest_email or booking_secret from prebook) and routes to a sibling when the key is missing (use request_api_key). It does not explicitly state when-not-to-use it versus cancel_booking, so it stops 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.

get_destination_guideGet destination guideA
Read-only
Inspect

The facts of one destination guide as data, each with its source URL: tourist tax, short-term rental rules, guest registration, parking with a rental car, monthly stays, airport, emergency number (key_facts), the areas to stay in (who each suits, how parking and car access work, distances), the articles, the FAQ and every source.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesDestination slug from list_destinations, e.g. "lisbon".

TDQS

A3.5/5.0
Behavior4/5

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

readOnlyHint=true already establishes the safety profile, so the bar is lower, and the description earns credit by disclosing the shape of what comes back (key_facts, areas with suitability/parking/distances, articles, FAQ, and per-fact source URLs). It still omits error behavior for an unknown slug and any auth expectations, keeping it short of the top mark.

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?

It is a single front-loaded sentence that leads with the resource and then enumerates contents, with no filler or redundancy. The enumeration is long, but because there is no output schema it is doing real work rather than padding.

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 no output schema, the description effectively substitutes for one by cataloguing the returned sections and noting each fact carries a source URL. The main remaining gap is failure handling for an invalid slug, which is not covered anywhere.

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?

With a single parameter and 100% schema coverage, the schema already documents slug fully, including its source tool and an example. The description adds nothing about the parameter, so the 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 makes clear this retrieves a single destination guide's content and enumerates what that content comprises (key facts, areas to stay, articles, FAQ, sources), so the verb+resource is unambiguous. It does not, however, position itself against the obvious sibling list_destinations, which is only referenced inside the schema rather than the description.

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

Usage Guidelines2/5

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

There is no explicit when-to-use or when-not-to-use guidance; the only routing hint (the slug comes from list_destinations) lives in the input schema, not the description. An agent must infer that this is the drill-down call after list_destinations, with no stated prerequisite or alternative.

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

get_hotelGet hotelA
Read-only
Inspect

One hotel's details (address, coordinates, stars, rating, photos, description, facilities, check-in and check-out times, parking) and, when dates are given, every bookable room for them: offer_id, room name, board, refundable and the free cancellation deadline, total, per night, taxes included and taxes at the property, and a book_url where a person can fill in the guest form. Prices are the total for the whole stay for one room, in the currency asked (EUR by default), as Nuitee, the booking partner and merchant of record, charges them, with the taxes Nuitee collects included. Taxes and fees paid at the property (often a city or tourist tax) are listed separately in taxes_at_property and are not in the total.

ParametersJSON Schema
NameRequiredDescriptionDefault
adultsNoAdults in the one room, 1 to 8. Default 2.
checkinNoCheck-in date, YYYY-MM-DD, today or later.
checkoutNoCheck-out date, YYYY-MM-DD, 1 to 30 nights after check-in.
childrenNoAges of children in the room, if any.
currencyNoISO 4217 currency for the prices, default EUR.
hotel_idYesThe hotel id from search_hotels.
nationalityNoGuest nationality, ISO 3166 alpha-2 (prices can depend on it). Default from the client's language, else NL.

TDQS

A3.9/5.0
Behavior5/5

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

Annotations only declare readOnlyHint and openWorldHint; the description carries the real behavioral burden. It defines what the prices numerically represent (total for the whole stay, one room, in the requested currency, Nuitee as merchant of record, taxes Nuitee collects included) and separates property-paid taxes into taxes_at_property, plus explains the purpose of book_url. This is exactly the context an agent needs before quoting prices.

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?

Information-dense with no filler, and the returned payload is front-loaded before the pricing caveats. The first sentence is an unusually long run-on with nested parenthetical enumerations, which hurts scannability, but every clause carries substantive meaning.

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 no output schema, the description fully owns explaining the return shape and does so thoroughly (hotel fields, offer fields, pricing, taxes, book_url). Minor gaps remain: it never says what happens if no dates are passed for availability, and it doesn't point to prebook for continuing the booking flow.

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 all seven parameters are already documented, which sets the baseline at 3. The description restates the currency default and the fact that prices are per-room totals, but adds no new syntax or constraint detail for adults, children, dates, or nationality beyond what the schema already provides.

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+resource ('One hotel's details') and enumerates the exact fields returned, including room offers when dates are supplied. It is distinguishable in substance from search_hotels and the booking siblings, though it never names an alternative explicitly.

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?

Usage is only implied by the conditional clause 'when dates are given, every bookable room for them', which hints at the two operating modes. There is no explicit guidance on when to call this versus search_hotels (to find hotel_id) or prebook (to obtain a booking token), so the agent must infer the workflow.

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

list_destinationsList destination guidesA
Read-only
Inspect

The destinations Quub has a sourced guide for (slug, name, country, one line, last fact check, guide URL). Hotels can be searched anywhere, not only in these. Optional q filters by name or country.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoFilter by name, country or slug, e.g. "Spain".

TDQS

A3.9/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=true; the description goes further by disclosing the response shape (slug, name, country, one line, last fact check, guide URL), which matters since there is no output schema. It omits pagination/result-count behavior, but for a small reference list that is a minor gap.

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 tight sentences with the resource definition front-loaded, then the hotel caveat, then the parameter note. The parenthetical field list is dense but earns its place by standing in for a missing output schema.

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 zero-required-parameter read tool with no output schema, the description covers what is returned, the one optional filter, and the key scope caveat about hotels. Only pagination or ordering behavior is left unspecified.

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 the baseline is 3. The description adds that q is optional and filters by name or country, but it drops 'slug', which the schema explicitly supports — a small loss of precision rather than added meaning.

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 the resource (destination guides Quub has sourced) and enumerates the returned fields, so the agent knows exactly what this lists versus get_destination_guide (singular fetch). It never states the verb 'list' explicitly, relying on the name/title, but the scope is unmistakable.

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?

'Hotels can be searched anywhere, not only in these' is an explicit exclusion that steers the agent away from treating this as a hotel inventory filter, implicitly routing hotel queries to search_hotels. It stops short of naming the sibling or stating when to prefer get_destination_guide for a single entry.

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

prebookPrebook a roomA
Idempotent
Inspect

Holds one room (an offer_id from search_hotels or get_hotel) with the partner for the named guest and returns booking_id, booking_secret (shown once), the confirmed total (price_changed and previous_total when the hotel repriced it), the cancellation terms and pay_url. Nothing is ever charged by a tool: the person named as guest pays on the pay_url page, Nuitee's payment form, and the booking exists only after that payment. Give the guest pay_url and tell them the total and the cancellation terms; if price_changed is true, say so. The guest's name must match the ID shown at check-in; email and phone with country code are required. Send an idempotency_key to make a retry safe. Needs a Quub API key (this connection has none yet: use request_api_key).

ParametersJSON Schema
NameRequiredDescriptionDefault
adultsNoAdults in the one room, 1 to 8. Default 2.
checkinYesCheck-in date, YYYY-MM-DD, today or later.
remarksNoSpecial requests for the hotel, not guaranteed.
checkoutYesCheck-out date, YYYY-MM-DD, 1 to 30 nights after check-in.
currencyNoISO 4217 currency for the prices, default EUR.
hotel_idYesThe hotel id the offer belongs to.
offer_idYesoffer_id from search_hotels or get_hotel, for these dates and adults.
guest_emailYesThe confirmation goes here; the guest needs it to cancel.
guest_phoneYesWith country code, e.g. +31 6 1234 5678.
nationalityNoGuest nationality, ISO 3166 alpha-2 (prices can depend on it). Default from the client's language, else NL.
expected_totalNoThe total you saw for this offer, so a change is flagged.
guest_last_nameYesAs on the ID shown at check-in.
idempotency_keyNoAny unique string; the same key returns the same booking instead of a second one.
guest_first_nameYesAs on the ID shown at check-in.

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only declare the mutation/idempotency profile, but the description carries much more: nothing is charged by any tool, the booking exists only after payment on Nuitee's form, booking_secret is shown once, price_changed flags repricing, and idempotency_key makes retries safe. These are real behavioral traits beyond the structured hints.

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?

Front-loads the core action and return values, then moves to guest-facing instructions, with no filler sentences. It is dense and slightly long, but each clause (repricing, cancellation terms, API key) carries actionable 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?

For a 14-parameter mutation with no output schema, the description adequately explains what is returned (booking_id, booking_secret, total, price_changed, cancellation terms, pay_url) and the auth prerequisite, so an agent has everything needed to call it and act on the result.

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 dates, nationality defaults, currency, and idempotency semantics. The description largely restates the critical constraints (guest name matching the ID, phone with country code, sending an idempotency key) rather than adding new format or edge-case detail, so 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 and resource ('Holds one room ... with the partner for the named guest') and names where the offer_id comes from (search_hotels, get_hotel), which cleanly separates it from those exploration siblings. An agent can identify this as the committing step of the booking flow 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 clear sequencing context — this follows search_hotels/get_hotel, and the guest pays on pay_url rather than through the tool — plus a concrete fallback (request_api_key) when the connection lacks a key. It never states an explicit when-not or a named alternative for the booking step (e.g., vs cancel_booking), so it stops short of 5.

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

request_api_keyRequest an API keyAInspect

Sends an email with a one-time link to a free Quub API key. The owner of the address opens the link, sees the key once and adds it to this connector (Authorization: Bearer quub_..., or ?key=quub_... on the server URL). A key is needed for prebook, get_booking and cancel_booking and raises the search limits. Bookings made with a key carry an 8 percent margin. Only send it to an address the person gave you for this.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesWhere the link goes.
labelNoA name for the key, e.g. the agent or app.

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=false and openWorldHint=true; the description adds the externally visible side effect (an email is sent), the one-time/link-shown-once semantics, how the caller later authenticates with the key, and a commercial consequence (8 percent margin on bookings made with a key). That is substantial behavior beyond the annotations.

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

Conciseness5/5

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

A single tight paragraph with the core action front-loaded, followed by the follow-up flow, prerequisites, cost implication, and safety constraint in descending priority. 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?

With no output schema, the description still conveys what happens after the call (email sent, key revealed once to the recipient, not returned here) and the downstream auth format. Minor gaps remain, such as rate limits or delivery failure behavior, but the agent has enough to invoke it 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 both 'email' and 'label' are already documented in the schema ('Where the link goes.', 'A name for the key'). The description only implicitly clarifies that email must be the address owner's, adding little 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?

Opens with a concrete verb and effect: 'Sends an email with a one-time link to a free Quub API key.' The resource (API key) and mechanism (emailed one-time link) are unambiguous and cannot be confused with any sibling such as search_hotels or prebook.

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?

States the trigger condition explicitly: a key is needed for prebook, get_booking and cancel_booking and raises search limits, naming the exact sibling tools that depend on it. It also gives a consent constraint ('Only send it to an address the person gave you for this'), which functions as a when-not rule.

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

search_hotelsSearch hotelsA
Read-only
Inspect

Live hotel prices for a place and dates. place can be a city, region, island, airport or landmark name anywhere in the world, a Quub destination slug (see list_destinations) or a Google place id. Returns up to limit hotels, cheapest first (or best rated): id, name, stars, guest rating (0 to 10) and review count, coordinates, photo, area or distance from the centre, the cheapest room with its total, board, refund rule and free cancellation deadline, its offer_id for prebook, and hotel_url / book_url pages a person can open. Prices are the total for the whole stay for one room, in the currency asked (EUR by default), as Nuitee, the booking partner and merchant of record, charges them, with the taxes Nuitee collects included. Taxes and fees paid at the property (often a city or tourist tax) are listed separately in taxes_at_property and are not in the total.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoprice (cheapest total first, default) or rating.
limitNoHow many hotels, 1 to 60. Default 20.
placeYesWhere: "Lisbon", "Kotor, Montenegro", "lisbon" (slug) or a Google place id.
adultsNoAdults in the one room, 1 to 8. Default 2.
checkinYesCheck-in date, YYYY-MM-DD, today or later.
checkoutYesCheck-out date, YYYY-MM-DD, 1 to 30 nights after check-in.
childrenNoAges of children in the room, if any.
currencyNoISO 4217 currency for the prices, default EUR.
nationalityNoGuest nationality, ISO 3166 alpha-2 (prices can depend on it). Default from the client's language, else NL.

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnly/openWorld, but the description adds substantial behavioral context beyond them: prices are whole-stay totals for one room, in the requested currency, charged by Nuitee as merchant of record, with Nuitee-collected taxes included and property taxes listed separately. That pricing/merchant semantics materially affects interpretation of results.

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?

Front-loaded with purpose, then result fields, then pricing semantics. Dense but each clause carries real content; the pricing/merchant paragraph is long but earns its place given there is no output schema.

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 no output schema, the description fully enumerates the returned fields (id, name, stars, guest rating, coordinates, area/distance, cheapest room with total, board, refund rule, free-cancellation deadline, offer_id, and booking URLs) plus the pricing basis, leaving nothing essential ambiguous for correct invocation.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description still adds meaning by widening 'place' beyond the schema's examples to city, region, island, airport, or landmark anywhere in the world, and by clarifying that results are capped at limit and ordered via sort (cheapest or best rated).

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?

Opens with a specific verb+resource+scope: 'Live hotel prices for a place and dates.' It is immediately distinguishable from siblings like get_hotel, list_destinations, and prebook, and it explicitly names two of them in routing roles.

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?

Routes the agent to siblings: slugs come from list_destinations, and the returned offer_id is the input for prebook. This gives clear context for when to use this tool and what to do with its output, though it never states explicit exclusions or when not to use it.

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

Tool Schema Changelog

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

  1. 8 tool updates
    • First observedcancel_booking
    • First observedget_booking
    • First observedget_destination_guide
    • First observedget_hotel
    • First observedlist_destinations
    • First observedprebook
    • First observedrequest_api_key
    • First observedsearch_hotels

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.
    12
    41
    428 npm
    2
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to search and book hotels globally with real-time pricing and inventory from over 2 million properties.
    46
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables 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.
    6
    9 npm
    1
    ISC
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources