Skip to main content
Glama

Pilot Hotel Search

Server Details

Search hotels worldwide, compare total-stay prices and cancellation terms, then book on Pilot.

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 3 tools

Disambiguation4/5

search_hotels, get_hotel_details, and get_room_rates_for_hotel each target a distinct stage: discovery, static content, and rate offers. Some overlap exists because search results include nightly prices while room rates provide detailed pricing, but descriptions make the boundary clear.

Naming Consistency4/5

All tools use snake_case and follow a verb_noun pattern (search_hotels, get_hotel_details, get_room_rates_for_hotel). The only minor deviation is the redundant 'for_hotel' suffix in get_room_rates_for_hotel, but the convention remains predictable.

Tool Count5/5

Three tools precisely cover the read-only hotel search workflow: search, details, and rates. Given booking is intentionally excluded, the count is well-scoped with no redundant tools.

Completeness4/5

The surface covers search by location/dates, static hotel details, room rates, and provides booking URLs for the excluded booking step. Minor gaps like reviews or destination browsing are non-critical for the stated search purpose.

Available Tools

3 tools
get_hotel_detailsGet hotel detailsA
Read-only
Inspect

Get static details (description, amenities, photos, address) for a hotel id returned by search_hotels.

ParametersJSON Schema
NameRequiredDescriptionDefault
hotel_idYesHotel id from search_hotels

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered structurally. The description adds the useful trait that the returned data is static (cached catalog-style content), but says nothing about error behavior for invalid ids, latency, or rate limits.

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 sentence with the payload fields front-loaded and the provenance constraint appended. No filler or redundancy.

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 one-parameter read tool with annotations and no output schema, this is nearly complete: it names the return fields so the agent knows what it gets. It stops short only on failure modes and the search-then-detail workflow being spelled out explicitly.

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 the single parameter is already documented as 'Hotel id from search_hotels'. The description repeats the same provenance rather than adding format, validation, or failure behavior, so the schema carries the weight.

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 (get) and resource (hotel details), and enumerates what is returned: description, amenities, photos, address. It also anchors the tool in the workflow by noting the id comes from search_hotels, which distinguishes it from search_hotels and get_room_rates_for_hotel without naming them 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 implied rather than stated: the agent must infer it should call search_hotels first, then this tool, and that rate information belongs to get_room_rates_for_hotel. The word 'static' hints at the boundary with the rates sibling, but no explicit when/when-not guidance or alternative is given.

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

get_room_rates_for_hotelGet room ratesA
Read-only
Inspect

Get room rates for a hotel id from search_hotels. Each offer includes a price, board type and refundability. Booking is not available through this connector; send the user to Pilot to book.

ParametersJSON Schema
NameRequiredDescriptionDefault
guestsNoNumber of guests
check_inNoOverride check-in, YYYY-MM-DD
hotel_idYesHotel id from search_hotels
check_outNoOverride check-out, YYYY-MM-DD

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false. The description adds useful behavioral context beyond that: each offer contains a price, board type, and refundability, and booking is unavailable in this connector. It does not cover rate limits or auth requirements, but those are less critical here.

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, front-loaded with the core purpose. Every sentence carries operational value: what the tool returns, and the booking limitation. No 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?

No output schema exists, so the description usefully explains the offer shape (price, board type, refundability) and booking limitation. It still leaves optional date/guest override semantics to the schema, but overall the definition is sufficient for calling 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 the schema already documents all four parameters. The description only restates that hotel_id comes from search_hotels and adds no meaning for guests, check_in, or check_out 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.

Purpose4/5

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

States a specific verb and resource: 'Get room rates for a hotel id'. This is clearly distinguishable from sibling search_hotels and get_hotel_details in substance, but the description itself does not explicitly name what it is not or contrast with those 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 prerequisite: the hotel_id comes from search_hotels. It also states a usage boundary and alternative for booking: 'Booking is not available through this connector; send the user to Pilot to book.' However, it does not explicitly compare this tool against get_hotel_details.

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

Search bookable hotels by location and dates. Returns hotels with nightly prices, photos, coordinates, a url linking to the hotel on Pilot, and an opaque id to pass to get_hotel_details and get_rates. Booking is not available through this connector, so link the user to a hotel's url when they want to book. Narrow with the rating, amenity and radius filters rather than requesting a large limit, and page with offset using next_offset from the previous result.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum hotels to return
roomsNoRooms required
guestsNoNumber of adults
offsetNoHotels to skip, for paging
check_inYesCheck-in date, YYYY-MM-DD
currencyNoISO-4217 currency for returned pricesUSD
locationYesCity, address, or place name
ai_searchNoFree-text preference, e.g. 'boutique hotel near the old town'. Ignored when it matches no inventory.
check_outYesCheck-out date, YYYY-MM-DD
amenity_idsNoSupplier facility ids the hotel must offer
children_agesNoAges of children sharing the room
radius_metersNoRestrict to this radius around the location
min_star_ratingNoOnly hotels at or above this star rating
min_guest_ratingNoOnly hotels at or above this guest review score, out of 10
guest_nationalityNoISO-2 country of the guest; affects rate eligibilityUS
property_type_idsNoSupplier hotel-type ids to restrict to

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnly/openWorld/non-destructive, so the safety profile is covered. The description adds real behavioral context beyond that: booking is unavailable through the connector (forcing the url hand-off), results are paged via next_offset, and broad limit requests are discouraged. It does not discuss rate limits, caching, or result-ordering, 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?

Four sentences, front-loaded with purpose and return payload, then constraints, then tactical guidance. No restatement of the title and no filler; each sentence either routes the agent or prevents a misuse.

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?

Despite 16 parameters and no output schema, the description covers return contents, the id hand-off contract, the booking limitation, and pagination. Nothing an agent needs to select or correctly invoke this tool is missing.

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 the baseline is 3. The description adds genuine strategy beyond the schema by telling the agent which parameters to prefer for narrowing (rating, amenity, radius) and how offset/next_offset interact for paging, which the schema itself only labels neutrally.

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+scope: 'Search bookable hotels by location and dates,' and immediately enumerates the returned payload (nightly prices, photos, coordinates, url, opaque id). This clearly separates it from the sibling detail and rate tools, which consume the id this tool emits.

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?

Explicitly routes the agent: pass the opaque id to get_hotel_details and get_rates, narrow with rating/amenity/radius filters instead of a large limit, and page with offset using next_offset. It also sets an exclusion boundary by declaring booking is not available here and instructing the agent to link the user to the hotel url instead.

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

Tool Schema Changelog

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

  1. 3 tool updates
    • First observedget_hotel_details
    • First observedget_room_rates_for_hotel
    • 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
    B
    maintenance
    Enables AI agents to search, compare, and book hotels with real-time pricing and availability, supporting multiple location types, star ratings, and price filters.
    12
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Searches hotels and vacation rentals with nightly and total rates, ratings, amenities, and detailed property information through natural language in any MCP client.
    1
    95 npm
    46 PyPI
    2
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources