Skip to main content
Glama

Find where a property can be booked

find_direct_booking
Read-onlyIdempotent

Look up one named property and every way it can be booked, including the host's or manager's own site. Takes propertyName plus city (most reliable), or a listing URL from a booking platform, which is matched on its listing id. The response has answerType "lookup": a lookup about one property, not a ranked search. confidence describes the match: exact-ota-id, CielStay holds that exact listing; exact-title, the name matched but it is not confirmed to be the same property; discovered-match, CielStay does not hold it, but after reading the pasted link (title and location only) it found a booking-site page that agrees on name and place, which is likely but not certain; none, CielStay has no record, which does not show that no direct option exists. Every booking URL in the response is one CielStay holds or found; none is constructed. For a pasted link CielStay does not hold, the lookup reads that one page and searches live (up to about 20 seconds); otaListing shows what was read. When the answer is none, alternatives lists different, direct-bookable homes near place (matchType "alternative"), and possibleMatches lists the closest unconfirmed candidates by name and meaning (matchType "possible", no booking link, matchScore 0-1 is closeness, not proof). Readable version: https://www.cielstay.com/lookup?q=.

Input Schema

NameRequiredDescriptionDefault
cityNoThe city, to disambiguate a property name. Names repeat across towns.
placeNoThe town or area the traveller says the property is in. Only used to list direct-bookable alternatives near it when we do not hold the property; it never changes whether it matched.
otaUrlNoThe Airbnb or Vrbo URL the traveller is looking at. Paste it exactly as they gave it — tracking parameters and locale prefixes are fine. This is the most reliable input.
propertyNameNoThe property name, if you have no URL. Exact spelling as shown on the OTA listing.

Output Schema

NameRequiredDescriptionDefault
foundNo
answerTypeNo
confidenceNoexact-ota-id, exact-title, discovered-match or none

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": true,
      +  "properties": {
      +    "answerType": {
      +      "type": "string"
      +    },
      +    "confidence": {
      +      "description": "exact-ota-id, exact-title, discovered-match or none",
      +      "type": "string"
      +    },
      +    "found": {
      +      "type": "boolean"
      +    }
      +  },
      +  "type": "object"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / place
      Added value: +{
      +  "description": "The town or area the traveller says the property is in. Only used to list direct-bookable alternatives near it when we do not hold the property; it never changes whether it matched.",
      +  "type": "string"
      +}
  3. Added

TDQS

A4.4/5.0
Behavior5/5

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

Goes well past the annotations (readOnly/openWorld/idempotent), disclosing that a pasted link triggers a live fetch of up to ~20 seconds, that every returned URL is held or found rather than constructed, and a full taxonomy of `confidence` values with what each does and does not prove. This is exactly the kind of mutation-free but open-world, latency-bearing behavior an agent needs flagged.

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 core purpose in the first sentence, then layered detail on confidence, latency, and fallbacks; nothing is pure filler. It is dense and long, and the confidence-enum tour could be trimmed since the output schema already enumerates them, but each sentence still carries decision-relevant meaning.

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 four-parameter, open-world lookup with an output schema, the description covers the things the schema cannot: the none-case semantics, the meaning of matchScore, the absence of booking links on possible matches, and the live-fetch cost. An agent has everything needed to invoke it and to interpret a weak or empty result 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 coverage is 100%, so the baseline is 3; the description adds some value by explaining that a URL is matched on its listing id and that `place` never affects matching. However, its '(most reliable)' parenthetical attached to city reads ambiguously against the schema's claim that otaUrl is the most reliable input, which slightly muddies rather than clarifies parameter choice.

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 ('Look up one named property and every way it can be booked, including the host's or manager's own site') and immediately scopes it apart from sibling searches ('a lookup about one property, not a ranked search'). An agent can distinguish this from search_vacation_rentals, get_property, and get_listing_details 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?

Gives concrete input recipes — propertyName plus city, or a listing URL matched on listing id — and says when the answer is 'none' what the fallback lists mean. It frames the tool negatively against ranked search but never names the sibling tools (get_property, get_listing_details) that an agent might confuse it with, so the routing guidance is strong but not complete.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources