Skip to main content
Glama

Get listing details

get_listing_details
Read-onlyIdempotent

Full details for one CielStay listing: description, photos, amenities, house rules, location, and every booking link CielStay holds, including the host's own booking site. With checkIn and checkOut, the response also carries liveQuote where the host's booking engine supports it: the total on the host's own site for those dates (room, fees and taxes), read live. Each live quote is a real request to the host's booking engine. Accepts the listing id, the slug from a listing URL, or a short code (the "1zwf" in cielstay.com/l/1zwf).

Input Schema

NameRequiredDescriptionDefault
idYesThe listing ID from a previous search result (result.id).
guestsNoNumber of guests, for the live quote. Defaults to 2.
checkInNoArrival date, YYYY-MM-DD. With checkOut, returns the live total from the host's own booking site.
checkOutNoDeparture date, YYYY-MM-DD.

Output Schema

NameRequiredDescriptionDefault
idNo
foundNo
priceNo
titleNo
imagesNo
bookUrlNo
messageNo
amenitiesNo
liveQuoteNoThe total on the host's own site for the dates asked, read live; null when it couldn't be read
priceNoteNo
cielstayUrlNo
descriptionNo
bookingOptionsNo
messageHostUrlNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed9 schema fields changed
    • removedOutput schema / properties / bookingOptions / items / $ref
      Removed value: -"#/properties/amenities/anyOf/0/items/anyOf/1"
    • addedOutput schema / properties / bookingOptions / items / additionalProperties
      Added value: +true
    • addedOutput schema / properties / bookingOptions / items / properties
      Added value: +{}
    • addedOutput schema / properties / bookingOptions / items / type
      Added value: +"object"
    • removedOutput schema / properties / images / items / $ref
      Removed value: -"#/properties/amenities/anyOf/0/items/anyOf/1"
    • addedOutput schema / properties / images / items / additionalProperties
      Added value: +true
    • addedOutput schema / properties / images / items / properties
      Added value: +{}
    • addedOutput schema / properties / images / items / type
      Added value: +"object"
    • changedOutput schema / properties / liveQuote / anyOf
      Previous value: -[
      -  {
      -    "$ref": "#/properties/amenities/anyOf/0/items/anyOf/1"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": true,
      +    "properties": {},
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. Changed1 schema field changed
    • addedOutput schema / properties / messageHostUrl
      Added value: +{
      +  "type": "string"
      +}
  3. Changed6 schema fields changed
    • addedOutput schema / properties / amenities / anyOf
      Added value: +[
      +  {
      +    "items": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "additionalProperties": true,
      +          "properties": {},
      +          "type": "object"
      +        }
      +      ]
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / bookingOptions / items
      Added value: +{
      +  "$ref": "#/properties/amenities/anyOf/0/items/anyOf/1"
      +}
    • addedOutput schema / properties / bookingOptions / type
      Added value: +"array"
    • addedOutput schema / properties / images / items
      Added value: +{
      +  "$ref": "#/properties/amenities/anyOf/0/items/anyOf/1"
      +}
    • addedOutput schema / properties / images / type
      Added value: +"array"
    • addedOutput schema / properties / liveQuote / anyOf
      Added value: +[
      +  {
      +    "$ref": "#/properties/amenities/anyOf/0/items/anyOf/1"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  4. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": true,
      +  "properties": {
      +    "amenities": {},
      +    "bookUrl": {
      +      "type": "string"
      +    },
      +    "bookingOptions": {},
      +    "cielstayUrl": {
      +      "type": "string"
      +    },
      +    "description": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "found": {
      +      "type": "boolean"
      +    },
      +    "id": {
      +      "type": "string"
      +    },
      +    "images": {},
      +    "liveQuote": {
      +      "description": "The total on the host's own site for the dates asked, read live; null when it couldn't be read"
      +    },
      +    "message": {
      +      "type": "string"
      +    },
      +    "price": {
      +      "additionalProperties": true,
      +      "properties": {
      +        "amountUsd": {
      +          "type": "number"
      +        },
      +        "basis": {
      +          "description": "What the figure is: e.g. avg_night_incl_fees, avg_nightly_rate_excl_fees, host_set, monthly_rent",
      +          "type": "string"
      +        },
      +        "label": {
      +          "description": "The qualifier to show next to the price",
      +          "type": "string"
      +        },
      +        "per": {
      +          "description": "\"night\" or \"month\"",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "amountUsd",
      +        "per",
      +        "basis",
      +        "label"
      +      ],
      +      "type": "object"
      +    },
      +    "priceNote": {
      +      "type": "string"
      +    },
      +    "title": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": "object"
      +}
  5. Changed3 schema fields changed
    • addedInput schema / properties / checkIn
      Added value: +{
      +  "description": "Arrival date, YYYY-MM-DD. With checkOut, returns the live total from the host's own booking site.",
      +  "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      +  "type": "string"
      +}
    • addedInput schema / properties / checkOut
      Added value: +{
      +  "description": "Departure date, YYYY-MM-DD.",
      +  "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      +  "type": "string"
      +}
    • addedInput schema / properties / guests
      Added value: +{
      +  "description": "Number of guests, for the live quote. Defaults to 2.",
      +  "maximum": 50,
      +  "minimum": 1,
      +  "type": "integer"
      +}
  6. First observed

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/openWorld, and the description adds context the annotations cannot: the live quote is an outbound call to the host's engine per request, and liveQuote may be absent when the engine lacks support. It does not say how partial failures or unsupported engines surface (missing field vs error), which keeps it off 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.

Conciseness4/5

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

Purpose is front-loaded and each sentence carries distinct information (fields returned, quote trigger, quote cost, id formats). The quote explanation is spread over two partly overlapping sentences and the id-format note would be better placed near the start, but there is 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?

With an output schema present, the field enumeration is optional context rather than a requirement, and annotations cover the safety profile. The remaining gap is operational: no statement of behavior when the host engine is unsupported, slow, or fails, and no differentiation from get_property or find_direct_booking beyond scope.

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, but the description meaningfully extends the `id` parameter beyond the schema's narrow 'result.id from a previous search result' by accepting a slug from a listing URL or a short code ('1zwf' in cielstay.com/l/1zwf), which is information an agent cannot get from the schema. It also restates the checkIn/checkOut-to-liveQuote linkage already in the schema, so it adds value without fully re-deriving guest/date semantics.

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?

Specific verb and resource ('Full details for one CielStay listing') followed by an enumerated field list (description, photos, amenities, house rules, location, booking links) plus the conditional liveQuote payload. That scope distinguishes it clearly from search_vacation_rentals (discovery) and get_property (basic record).

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 specifies the trigger for the expensive path ('With checkIn and checkOut, the response also carries liveQuote...where the host's booking engine supports it') and warns that each quote is 'a real request to the host's booking engine', which implies do-not-request-casually. It never explicitly routes to a sibling (e.g. contact_host or find_direct_booking) or says when to skip this tool, so it falls 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.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources