Tool tree
gradeNot graded
search_hotelsAnswer
Search bookable hotels on Pilot by location and dates. Returns hotels with prices, star and guest ratings, photos, coordinates, a `url` to book the hotel on Pilot, and an opaque id for get_hotel_details and get_room_rates_for_hotel. Booking is not available through this tool; link the user to the hotel `url`. Narrow with the rating, amenity and radius filters rather than a large limit, and page with offset.
View tool JSON
{
"name": "search_hotels",
"kind": "answer",
"impl": "imperative",
"description": "Search bookable hotels on Pilot by location and dates. Returns hotels with prices, star and guest ratings, photos, coordinates, a `url` to book the hotel on Pilot, and an opaque id for get_hotel_details and get_room_rates_for_hotel. Booking is not available through this tool; link the user to the hotel `url`. Narrow with the rating, amenity and radius filters rather than a large limit, and page with offset.",
"inputSchema": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "City, neighbourhood, address or place name"
},
"check_in": {
"type": "string",
"description": "Check-in date, YYYY-MM-DD",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"check_out": {
"type": "string",
"description": "Check-out date, YYYY-MM-DD",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"guests": {
"type": "integer",
"minimum": 1,
"default": 2,
"description": "Number of adults"
},
"rooms": {
"type": "integer",
"minimum": 1,
"default": 1,
"description": "Rooms required"
},
"children_ages": {
"type": "array",
"items": {
"type": "integer",
"minimum": 0,
"maximum": 17
},
"description": "Ages of children sharing the room"
},
"currency": {
"type": "string",
"minLength": 3,
"maxLength": 3,
"default": "USD",
"description": "ISO 4217 currency"
},
"guest_nationality": {
"type": "string",
"minLength": 2,
"maxLength": 2,
"default": "US",
"description": "ISO 3166-1 alpha-2 country of the guest; affects rate eligibility"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 20,
"description": "Maximum hotels to return"
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0,
"description": "Hotels to skip, for paging"
},
"radius_meters": {
"type": "integer",
"minimum": 1000,
"description": "Restrict to this radius around the location"
},
"min_star_rating": {
"type": "number",
"minimum": 1,
"maximum": 5,
"description": "Minimum star rating"
},
"min_guest_rating": {
"type": "number",
"minimum": 1,
"maximum": 10,
"description": "Minimum guest score out of 10"
},
"ai_search": {
"type": "string",
"description": "Free-text preference, e.g. 'boutique hotel near the old town'"
}
},
"required": [
"location",
"check_in",
"check_out"
]
}
}get_hotel_detailsAnswer
Description, amenities, photos and address for a hotel id returned by search_hotels.
View tool JSON
{
"name": "get_hotel_details",
"kind": "answer",
"impl": "imperative",
"description": "Description, amenities, photos and address for a hotel id returned by search_hotels.",
"inputSchema": {
"type": "object",
"properties": {
"hotel_id": {
"type": "string",
"description": "Hotel id from search_hotels"
}
},
"required": [
"hotel_id"
]
}
}get_room_rates_for_hotelAnswer
Bookable room offers for a hotel id from search_hotels, each with price, board type and refundability. Booking is not available through this tool; send the user to the hotel `url` on Pilot to book.
View tool JSON
{
"name": "get_room_rates_for_hotel",
"kind": "answer",
"impl": "imperative",
"description": "Bookable room offers for a hotel id from search_hotels, each with price, board type and refundability. Booking is not available through this tool; send the user to the hotel `url` on Pilot to book.",
"inputSchema": {
"type": "object",
"properties": {
"hotel_id": {
"type": "string",
"description": "Hotel id from search_hotels"
},
"check_in": {
"type": "string",
"description": "Override check-in, YYYY-MM-DD",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"check_out": {
"type": "string",
"description": "Override check-out, YYYY-MM-DD",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"guests": {
"type": "integer",
"minimum": 1,
"description": "Number of guests"
}
},
"required": [
"hotel_id"
]
}
}get_install_instructionsAnswer
Step-by-step instructions for adding Pilot's hotel search MCP server to an AI client, so the user can keep using these tools outside this page.
View tool JSON
{
"name": "get_install_instructions",
"kind": "answer",
"impl": "imperative",
"description": "Step-by-step instructions for adding Pilot's hotel search MCP server to an AI client, so the user can keep using these tools outside this page.",
"inputSchema": {
"type": "object",
"properties": {
"client": {
"type": "string",
"enum": [
"claude",
"chatgpt",
"claude-code",
"cursor",
"vs-code",
"windsurf",
"codex",
"gemini-cli",
"other"
],
"description": "The AI client to install into"
}
},
"required": [
"client"
]
}
}