Skip to main content
Glama

Get one yacht

get_yacht
Read-only

Use it once the person names or picks one yacht from a search_yachts or best_deals answer: pass its page link, exactly as that answer returned it, as id. It answers the yacht's facts and terms as the source states them (packages, included, required and optional extras, deposit, check-in days and times, stay limits, equipment, the operator's descriptions) and its availability: with from / to, that stay's status and price and, when it is not free, the nearest free stays; without dates, its free stays, soonest first. A field left out is one the source does not state. To compare several, call search_yachts.

Input Schema

NameRequiredDescriptionDefault
idYesThe yacht's page link (an absolute URL on this site), exactly as a search or best_deals returned it.
toNoCheck-out day, YYYY-MM-DD.
fromNoCheck-in day, YYYY-MM-DD.
limitNoRows per page: at most 10 when browsing, 20 once the person is signed in.
partyNoHow many people.
cursorNoThe cursor a previous answer returned, for its next page.

Output Schema

NameRequiredDescriptionDefault
hrefYesIts page on this site, absolute URL.
itemYesIts name.
kindNoIts type.
nextNoWhen browsing: how to get a quote or more rows.
stayNoWith dates: the stay asked for, first. Its price, the price struck through (listPrice), the AI booking price (aiDiscount) and whether it is free (status).
factsNoThe facts its page shows, labelled.
placeNoWhere it is.
termsNoDeposit, licence, stay limits, check-in days and times, as stated.
extrasNoThe default package's extras: show the mandatory ones by name and amount.
soldAsNoHow it is sold: the default package.
nearestNoWhen the stay asked for is not free: the nearest free one, priced the same way.
browsingNotrue: answered without sign-in, so fewer rows and the first pages only.
packagesNoThe ways it is sold, the default first, each with its included, required and optional extras.
checkedAtNoWhen the source was read, ISO time.
equipmentNoNamed equipment in groups.
onRequestNoWhat the source does not state: say "on request" for it, never leave it blank.
descriptionNoIts description.
availabilityNoWith dates: that stay and, when not free, the nearest free stays; without: its free stays, soonest first.
mainEquipmentNoThe main equipment, the first few, as stated.
nearestPricedNoWhen the stay asked for is free but has no price: the nearest free stay of the same length that has one, with its price and AI price.
operatorDescriptionsNoThe operator's own texts and documents.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed12 schema fields changed
    • addedOutput schema / properties / availability / properties / freeStays / items / properties / priceBasis
      Added value: +{
      +  "description": "Where the price comes from; none = no price for these dates: say price on request and offer a quote, never a price.",
      +  "enum": [
      +    "quoted",
      +    "weekly-rates",
      +    "none"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / availability / properties / freeStays / items / properties / priceNote
      Added value: +{
      +  "description": "With priceBasis none: what to tell the person instead of a price.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / availability / properties / nearestFree / items / properties / priceBasis
      Added value: +{
      +  "description": "Where the price comes from; none = no price for these dates: say price on request and offer a quote, never a price.",
      +  "enum": [
      +    "quoted",
      +    "weekly-rates",
      +    "none"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / availability / properties / nearestFree / items / properties / priceNote
      Added value: +{
      +  "description": "With priceBasis none: what to tell the person instead of a price.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / availability / properties / nearestPriced
      Added value: +{
      +  "description": "When the stay is free but has no price: the nearest free stay that has one.",
      +  "properties": {
      +    "aiDiscount": {
      +      "description": "The AI booking discount: book through this assistant and this is the price. Show it with the price struck through.",
      +      "properties": {
      +        "percent": {
      +          "description": "The discount, percent.",
      +          "type": "number"
      +        },
      +        "price": {
      +          "description": "The price after the discount.",
      +          "properties": {
      +            "amount": {
      +              "description": "In major units (euros, not cents).",
      +              "type": "number"
      +            },
      +            "currency": {
      +              "description": "ISO 4217.",
      +              "type": "string"
      +            },
      +            "text": {
      +              "description": "The amount written out, to quote to the person.",
      +              "type": "string"
      +            }
      +          },
      +          "type": "object"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "checkIn": {
      +      "description": "YYYY-MM-DD.",
      +      "type": "string"
      +    },
      +    "checkOut": {
      +      "description": "YYYY-MM-DD.",
      +      "type": "string"
      +    },
      +    "checkedAt": {
      +      "description": "When the source was read, ISO time.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "deposit": {
      +      "description": "The deposit held.",
      +      "properties": {
      +        "amount": {
      +          "description": "In major units (euros, not cents).",
      +          "type": "number"
      +        },
      +        "currency": {
      +          "description": "ISO 4217.",
      +          "type": "string"
      +        },
      +        "text": {
      +          "description": "The amount written out, to quote to the person.",
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "discountPct": {
      +      "description": "The discount the source states.",
      +      "type": "number"
      +    },
      +    "listPrice": {
      +      "description": "The source's list price above price, when discounted.",
      +      "properties": {
      +        "amount": {
      +          "description": "In major units (euros, not cents).",
      +          "type": "number"
      +        },
      +        "currency": {
      +          "description": "ISO 4217.",
      +          "type": "string"
      +        },
      +        "text": {
      +          "description": "The amount written out, to quote to the person.",
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "mandatoryExtras": {
      +      "description": "What the source says is payable on top, whatever the person picks.",
      +      "properties": {
      +        "amount": {
      +          "description": "In major units (euros, not cents).",
      +          "type": "number"
      +        },
      +        "currency": {
      +          "description": "ISO 4217.",
      +          "type": "string"
      +        },
      +        "text": {
      +          "description": "The amount written out, to quote to the person.",
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "nights": {
      +      "description": "Nights.",
      +      "type": "number"
      +    },
      +    "price": {
      +      "description": "The stay's price.",
      +      "properties": {
      +        "amount": {
      +          "description": "In major units (euros, not cents).",
      +          "type": "number"
      +        },
      +        "currency": {
      +          "description": "ISO 4217.",
      +          "type": "string"
      +        },
      +        "text": {
      +          "description": "The amount written out, to quote to the person.",
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "priceBasis": {
      +      "description": "Where the price comes from; none = no price for these dates: say price on request and offer a quote, never a price.",
      +      "enum": [
      +        "quoted",
      +        "weekly-rates",
      +        "none"
      +      ],
      +      "type": "string"
      +    },
      +    "priceNote": {
      +      "description": "With priceBasis none: what to tell the person instead of a price.",
      +      "type": "string"
      +    },
      +    "status": {
      +      "description": "Whether it can be booked.",
      +      "enum": [
      +        "free",
      +        "booked",
      +        "not-a-check-in-day",
      +        "not-whole-blocks",
      +        "outside-calendar",
      +        "not-known"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / properties / availability / properties / stay / properties / priceBasis
      Added value: +{
      +  "description": "Where the price comes from; none = no price for these dates: say price on request and offer a quote, never a price.",
      +  "enum": [
      +    "quoted",
      +    "weekly-rates",
      +    "none"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / availability / properties / stay / properties / priceNote
      Added value: +{
      +  "description": "With priceBasis none: what to tell the person instead of a price.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / nearest / properties / priceBasis
      Added value: +{
      +  "description": "Where the price comes from; none = no price for these dates: say price on request and offer a quote, never a price.",
      +  "enum": [
      +    "quoted",
      +    "weekly-rates",
      +    "none"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / nearest / properties / priceNote
      Added value: +{
      +  "description": "With priceBasis none: what to tell the person instead of a price.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / nearestPriced
      Added value: +{
      +  "description": "When the stay asked for is free but has no price: the nearest free stay of the same length that has one, with its price and AI price.",
      +  "properties": {
      +    "aiDiscount": {
      +      "description": "The AI booking discount: book through this assistant and this is the price. Show it with the price struck through.",
      +      "properties": {
      +        "percent": {
      +          "description": "The discount, percent.",
      +          "type": "number"
      +        },
      +        "price": {
      +          "description": "The price after the discount.",
      +          "properties": {
      +            "amount": {
      +              "description": "In major units (euros, not cents).",
      +              "type": "number"
      +            },
      +            "currency": {
      +              "description": "ISO 4217.",
      +              "type": "string"
      +            },
      +            "text": {
      +              "description": "The amount written out, to quote to the person.",
      +              "type": "string"
      +            }
      +          },
      +          "type": "object"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "checkIn": {
      +      "description": "YYYY-MM-DD.",
      +      "type": "string"
      +    },
      +    "checkOut": {
      +      "description": "YYYY-MM-DD.",
      +      "type": "string"
      +    },
      +    "checkedAt": {
      +      "description": "When the source was read, ISO time.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "deposit": {
      +      "description": "The deposit held.",
      +      "properties": {
      +        "amount": {
      +          "description": "In major units (euros, not cents).",
      +          "type": "number"
      +        },
      +        "currency": {
      +          "description": "ISO 4217.",
      +          "type": "string"
      +        },
      +        "text": {
      +          "description": "The amount written out, to quote to the person.",
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "discountPct": {
      +      "description": "The discount the source states.",
      +      "type": "number"
      +    },
      +    "listPrice": {
      +      "description": "The source's list price above price, when discounted.",
      +      "properties": {
      +        "amount": {
      +          "description": "In major units (euros, not cents).",
      +          "type": "number"
      +        },
      +        "currency": {
      +          "description": "ISO 4217.",
      +          "type": "string"
      +        },
      +        "text": {
      +          "description": "The amount written out, to quote to the person.",
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "mandatoryExtras": {
      +      "description": "What the source says is payable on top, whatever the person picks.",
      +      "properties": {
      +        "amount": {
      +          "description": "In major units (euros, not cents).",
      +          "type": "number"
      +        },
      +        "currency": {
      +          "description": "ISO 4217.",
      +          "type": "string"
      +        },
      +        "text": {
      +          "description": "The amount written out, to quote to the person.",
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "nights": {
      +      "description": "Nights.",
      +      "type": "number"
      +    },
      +    "price": {
      +      "description": "The stay's price.",
      +      "properties": {
      +        "amount": {
      +          "description": "In major units (euros, not cents).",
      +          "type": "number"
      +        },
      +        "currency": {
      +          "description": "ISO 4217.",
      +          "type": "string"
      +        },
      +        "text": {
      +          "description": "The amount written out, to quote to the person.",
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "priceBasis": {
      +      "description": "Where the price comes from; none = no price for these dates: say price on request and offer a quote, never a price.",
      +      "enum": [
      +        "quoted",
      +        "weekly-rates",
      +        "none"
      +      ],
      +      "type": "string"
      +    },
      +    "priceNote": {
      +      "description": "With priceBasis none: what to tell the person instead of a price.",
      +      "type": "string"
      +    },
      +    "status": {
      +      "description": "Whether it can be booked.",
      +      "enum": [
      +        "free",
      +        "booked",
      +        "not-a-check-in-day",
      +        "not-whole-blocks",
      +        "outside-calendar",
      +        "not-known"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / properties / stay / properties / priceBasis
      Added value: +{
      +  "description": "Where the price comes from; none = no price for these dates: say price on request and offer a quote, never a price.",
      +  "enum": [
      +    "quoted",
      +    "weekly-rates",
      +    "none"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / stay / properties / priceNote
      Added value: +{
      +  "description": "With priceBasis none: what to tell the person instead of a price.",
      +  "type": "string"
      +}
  2. Changed3 schema fields changed
    • addedOutput schema / properties / nearest
      Added value: +{
      +  "description": "When the stay asked for is not free: the nearest free one, priced the same way.",
      +  "properties": {
      +    "aiDiscount": {
      +      "description": "The AI booking discount: book through this assistant and this is the price. Show it with the price struck through.",
      +      "properties": {
      +        "percent": {
      +          "description": "The discount, percent.",
      +          "type": "number"
      +        },
      +        "price": {
      +          "description": "The price after the discount.",
      +          "properties": {
      +            "amount": {
      +              "description": "In major units (euros, not cents).",
      +              "type": "number"
      +            },
      +            "currency": {
      +              "description": "ISO 4217.",
      +              "type": "string"
      +            },
      +            "text": {
      +              "description": "The amount written out, to quote to the person.",
      +              "type": "string"
      +            }
      +          },
      +          "type": "object"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "checkIn": {
      +      "description": "YYYY-MM-DD.",
      +      "type": "string"
      +    },
      +    "checkOut": {
      +      "description": "YYYY-MM-DD.",
      +      "type": "string"
      +    },
      +    "checkedAt": {
      +      "description": "When the source was read, ISO time.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "deposit": {
      +      "description": "The deposit held.",
      +      "properties": {
      +        "amount": {
      +          "description": "In major units (euros, not cents).",
      +          "type": "number"
      +        },
      +        "currency": {
      +          "description": "ISO 4217.",
      +          "type": "string"
      +        },
      +        "text": {
      +          "description": "The amount written out, to quote to the person.",
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "discountPct": {
      +      "description": "The discount the source states.",
      +      "type": "number"
      +    },
      +    "listPrice": {
      +      "description": "The source's list price above price, when discounted.",
      +      "properties": {
      +        "amount": {
      +          "description": "In major units (euros, not cents).",
      +          "type": "number"
      +        },
      +        "currency": {
      +          "description": "ISO 4217.",
      +          "type": "string"
      +        },
      +        "text": {
      +          "description": "The amount written out, to quote to the person.",
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "mandatoryExtras": {
      +      "description": "What the source says is payable on top, whatever the person picks.",
      +      "properties": {
      +        "amount": {
      +          "description": "In major units (euros, not cents).",
      +          "type": "number"
      +        },
      +        "currency": {
      +          "description": "ISO 4217.",
      +          "type": "string"
      +        },
      +        "text": {
      +          "description": "The amount written out, to quote to the person.",
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "nights": {
      +      "description": "Nights.",
      +      "type": "number"
      +    },
      +    "price": {
      +      "description": "The stay's price.",
      +      "properties": {
      +        "amount": {
      +          "description": "In major units (euros, not cents).",
      +          "type": "number"
      +        },
      +        "currency": {
      +          "description": "ISO 4217.",
      +          "type": "string"
      +        },
      +        "text": {
      +          "description": "The amount written out, to quote to the person.",
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "status": {
      +      "description": "Whether it can be booked.",
      +      "enum": [
      +        "free",
      +        "booked",
      +        "not-a-check-in-day",
      +        "not-whole-blocks",
      +        "outside-calendar",
      +        "not-known"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / properties / onRequest
      Added value: +{
      +  "description": "What the source does not state: say \"on request\" for it, never leave it blank.",
      +  "items": {
      +    "description": "deposit or extras.",
      +    "enum": [
      +      "deposit",
      +      "extras"
      +    ],
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / stay
      Added value: +{
      +  "description": "With dates: the stay asked for, first. Its price, the price struck through (listPrice), the AI booking price (aiDiscount) and whether it is free (status).",
      +  "properties": {
      +    "aiDiscount": {
      +      "description": "The AI booking discount: book through this assistant and this is the price. Show it with the price struck through.",
      +      "properties": {
      +        "percent": {
      +          "description": "The discount, percent.",
      +          "type": "number"
      +        },
      +        "price": {
      +          "description": "The price after the discount.",
      +          "properties": {
      +            "amount": {
      +              "description": "In major units (euros, not cents).",
      +              "type": "number"
      +            },
      +            "currency": {
      +              "description": "ISO 4217.",
      +              "type": "string"
      +            },
      +            "text": {
      +              "description": "The amount written out, to quote to the person.",
      +              "type": "string"
      +            }
      +          },
      +          "type": "object"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "checkIn": {
      +      "description": "YYYY-MM-DD.",
      +      "type": "string"
      +    },
      +    "checkOut": {
      +      "description": "YYYY-MM-DD.",
      +      "type": "string"
      +    },
      +    "checkedAt": {
      +      "description": "When the source was read, ISO time.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "deposit": {
      +      "description": "The deposit held.",
      +      "properties": {
      +        "amount": {
      +          "description": "In major units (euros, not cents).",
      +          "type": "number"
      +        },
      +        "currency": {
      +          "description": "ISO 4217.",
      +          "type": "string"
      +        },
      +        "text": {
      +          "description": "The amount written out, to quote to the person.",
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "discountPct": {
      +      "description": "The discount the source states.",
      +      "type": "number"
      +    },
      +    "listPrice": {
      +      "description": "The source's list price above price, when discounted.",
      +      "properties": {
      +        "amount": {
      +          "description": "In major units (euros, not cents).",
      +          "type": "number"
      +        },
      +        "currency": {
      +          "description": "ISO 4217.",
      +          "type": "string"
      +        },
      +        "text": {
      +          "description": "The amount written out, to quote to the person.",
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "mandatoryExtras": {
      +      "description": "What the source says is payable on top, whatever the person picks.",
      +      "properties": {
      +        "amount": {
      +          "description": "In major units (euros, not cents).",
      +          "type": "number"
      +        },
      +        "currency": {
      +          "description": "ISO 4217.",
      +          "type": "string"
      +        },
      +        "text": {
      +          "description": "The amount written out, to quote to the person.",
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "nights": {
      +      "description": "Nights.",
      +      "type": "number"
      +    },
      +    "price": {
      +      "description": "The stay's price.",
      +      "properties": {
      +        "amount": {
      +          "description": "In major units (euros, not cents).",
      +          "type": "number"
      +        },
      +        "currency": {
      +          "description": "ISO 4217.",
      +          "type": "string"
      +        },
      +        "text": {
      +          "description": "The amount written out, to quote to the person.",
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "status": {
      +      "description": "Whether it can be booked.",
      +      "enum": [
      +        "free",
      +        "booked",
      +        "not-a-check-in-day",
      +        "not-whole-blocks",
      +        "outside-calendar",
      +        "not-known"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  3. Changed3 schema fields changed
    • addedOutput schema / properties / extras
      Added value: +{
      +  "description": "The default package's extras: show the mandatory ones by name and amount.",
      +  "properties": {
      +    "included": {
      +      "description": "Included, nothing to pay.",
      +      "items": {
      +        "description": "One extra.",
      +        "properties": {
      +          "amount": {
      +            "description": "An amount in the site currency.",
      +            "properties": {
      +              "amount": {
      +                "description": "In major units (euros, not cents).",
      +                "type": "number"
      +              },
      +              "currency": {
      +                "description": "ISO 4217.",
      +                "type": "string"
      +              },
      +              "text": {
      +                "description": "The amount written out, to quote to the person.",
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "name": {
      +            "description": "Its name.",
      +            "type": "string"
      +          },
      +          "paid": {
      +            "description": "at the base, or in advance.",
      +            "type": "string"
      +          },
      +          "per": {
      +            "description": "booking, hour, day, night, week or week-started.",
      +            "type": "string"
      +          },
      +          "perPerson": {
      +            "description": "Per person.",
      +            "type": "boolean"
      +          },
      +          "percentOfPrice": {
      +            "description": "A percentage of the price instead of an amount.",
      +            "type": "number"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "optional": {
      +      "description": "The person's choice, the first few.",
      +      "items": {
      +        "description": "One extra.",
      +        "properties": {
      +          "amount": {
      +            "description": "An amount in the site currency.",
      +            "properties": {
      +              "amount": {
      +                "description": "In major units (euros, not cents).",
      +                "type": "number"
      +              },
      +              "currency": {
      +                "description": "ISO 4217.",
      +                "type": "string"
      +              },
      +              "text": {
      +                "description": "The amount written out, to quote to the person.",
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "name": {
      +            "description": "Its name.",
      +            "type": "string"
      +          },
      +          "paid": {
      +            "description": "at the base, or in advance.",
      +            "type": "string"
      +          },
      +          "per": {
      +            "description": "booking, hour, day, night, week or week-started.",
      +            "type": "string"
      +          },
      +          "perPerson": {
      +            "description": "Per person.",
      +            "type": "boolean"
      +          },
      +          "percentOfPrice": {
      +            "description": "A percentage of the price instead of an amount.",
      +            "type": "number"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "required": {
      +      "description": "Must be paid.",
      +      "items": {
      +        "description": "One extra.",
      +        "properties": {
      +          "amount": {
      +            "description": "An amount in the site currency.",
      +            "properties": {
      +              "amount": {
      +                "description": "In major units (euros, not cents).",
      +                "type": "number"
      +              },
      +              "currency": {
      +                "description": "ISO 4217.",
      +                "type": "string"
      +              },
      +              "text": {
      +                "description": "The amount written out, to quote to the person.",
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "name": {
      +            "description": "Its name.",
      +            "type": "string"
      +          },
      +          "paid": {
      +            "description": "at the base, or in advance.",
      +            "type": "string"
      +          },
      +          "per": {
      +            "description": "booking, hour, day, night, week or week-started.",
      +            "type": "string"
      +          },
      +          "perPerson": {
      +            "description": "Per person.",
      +            "type": "boolean"
      +          },
      +          "percentOfPrice": {
      +            "description": "A percentage of the price instead of an amount.",
      +            "type": "number"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / properties / mainEquipment
      Added value: +{
      +  "description": "The main equipment, the first few, as stated.",
      +  "items": {
      +    "description": "One item.",
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / soldAs
      Added value: +{
      +  "description": "How it is sold: the default package.",
      +  "properties": {
      +    "name": {
      +      "description": "Its name as the source states it.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "staffed": {
      +      "description": "Sold with staff as standard.",
      +      "type": "boolean"
      +    }
      +  },
      +  "type": "object"
      +}
  4. Changed3 schema fields changed
    • addedOutput schema / properties / availability / properties / freeStays / items / properties / aiDiscount
      Added value: +{
      +  "description": "The AI booking discount: book through this assistant and this is the price. Show it with the price struck through.",
      +  "properties": {
      +    "percent": {
      +      "description": "The discount, percent.",
      +      "type": "number"
      +    },
      +    "price": {
      +      "description": "The price after the discount.",
      +      "properties": {
      +        "amount": {
      +          "description": "In major units (euros, not cents).",
      +          "type": "number"
      +        },
      +        "currency": {
      +          "description": "ISO 4217.",
      +          "type": "string"
      +        },
      +        "text": {
      +          "description": "The amount written out, to quote to the person.",
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / properties / availability / properties / nearestFree / items / properties / aiDiscount
      Added value: +{
      +  "description": "The AI booking discount: book through this assistant and this is the price. Show it with the price struck through.",
      +  "properties": {
      +    "percent": {
      +      "description": "The discount, percent.",
      +      "type": "number"
      +    },
      +    "price": {
      +      "description": "The price after the discount.",
      +      "properties": {
      +        "amount": {
      +          "description": "In major units (euros, not cents).",
      +          "type": "number"
      +        },
      +        "currency": {
      +          "description": "ISO 4217.",
      +          "type": "string"
      +        },
      +        "text": {
      +          "description": "The amount written out, to quote to the person.",
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / properties / availability / properties / stay / properties / aiDiscount
      Added value: +{
      +  "description": "The AI booking discount: book through this assistant and this is the price. Show it with the price struck through.",
      +  "properties": {
      +    "percent": {
      +      "description": "The discount, percent.",
      +      "type": "number"
      +    },
      +    "price": {
      +      "description": "The price after the discount.",
      +      "properties": {
      +        "amount": {
      +          "description": "In major units (euros, not cents).",
      +          "type": "number"
      +        },
      +        "currency": {
      +          "description": "ISO 4217.",
      +          "type": "string"
      +        },
      +        "text": {
      +          "description": "The amount written out, to quote to the person.",
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    }
      +  },
      +  "type": "object"
      +}
  5. Changed8 schema fields changed
    • removedInput schema / properties / email
      Removed value: -{
      -  "description": "Optional: the person's own email, as they gave it, for more rows a call. Leave out to browse; the site keeps it to answer their enquiry.",
      -  "type": "string"
      -}
    • changedInput schema / properties / limit / description
      Previous value: -"Rows per page: at most 10 when browsing, 20 with the person's email or phone."New value: +"Rows per page: at most 10 when browsing, 20 once the person is signed in."
    • removedInput schema / properties / name
      Removed value: -{
      -  "description": "Optional: the person's name, as they gave it.",
      -  "type": "string"
      -}
    • removedInput schema / properties / phone
      Removed value: -{
      -  "description": "Optional: the person's own phone, international form (+ and country code), as they gave it, for more rows a call. Leave out to browse.",
      -  "type": "string"
      -}
    • removedInput schema / properties / session
      Removed value: -{
      -  "description": "The session an earlier answer returned. Pass it instead of email or phone from then on.",
      -  "type": "string"
      -}
    • changedOutput schema / properties / browsing / description
      Previous value: -"true: answered without a contact, so fewer rows and the first pages only."New value: +"true: answered without sign-in, so fewer rows and the first pages only."
    • removedOutput schema / properties / session
      Removed value: -{
      -  "description": "Only on the call that created the contact: pass it from then on.",
      -  "type": "string"
      -}
    • removedOutput schema / properties / sessionExpiresAt
      Removed value: -{
      -  "description": "When that session stops working, ISO time.",
      -  "type": "string"
      -}
  6. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnly, non-destructive and closed-world, so the description focuses correctly on data semantics: undocumented fields mean the source is silent, availability returns status and price plus nearest free stays when the requested stay is unavailable, and free stays are returned soonest-first. It adds genuine behavior beyond the annotations, though it says nothing about failure modes (e.g. a stale or malformed link) or page-size enforcement.

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 trigger condition and ends with the sibling redirect, which is the right ordering. It is dense, however: the long parenthetical list of returned facts and the run-on availability clause take effort to parse, and some of that detail is already in the 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?

For a six-parameter tool with an output schema and full annotation coverage, the description covers everything an agent needs to decide and call: which inputs produce which mode, what an absent field means, and where to go for comparison. Return-value details are appropriately deferred to the output schema.

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 still earns above baseline by explaining that `id` must be the link exactly as returned (not a resolved or guessed URL) and by pairing `from`/`to` into a meaningful mode that changes the whole response shape. `party`, `limit` and `cursor` get no elaboration beyond the schema, which keeps it from a 5.

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 (fetch one yacht's facts, terms and availability by its page link) and explicitly contrasts itself with search_yachts and best_deals, the tools whose answers feed it. An agent can distinguish it from all four siblings without opening a schema.

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 trigger ('once the person names or picks one yacht from a search_yachts or best_deals answer'), a conditional mode split (with from/to vs. without dates), and an explicit alternative ('To compare several, call search_yachts'). Both when-to-use and when-not-to-use are covered.

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