Skip to main content
Glama

Das Landhaus Apartments Prägant

Get Rates

get_rates
Read-only

Get the price level of each apartment for a whole month plus that month's booking rules.

Use when the guest has no exact dates yet ("what does a week in July cost?", "when is it cheapest?"). For each apartment it returns the lowest total price of a real reference stay in that month (usually 7 nights, incl. final cleaning and tourist tax) and the arrival days / minimum stay / closures of the month. Not for exact prices on specific dates — use check_availability for that. Visual version: render_rates_card with the same arguments. Behaviour: read-only, live from the booking system (about 1-2 s, cached 5 min). Returns text plus structuredContent (apartments, periods, weeks, perks, offers).

Input Schema

NameRequiredDescriptionDefault
monthNoMonth as '2027-07', 'July', 'Juli 2027'; empty = next month
adultsNoAdults sharing one apartment (1-5)
guestsNoDeprecated alias of adults (clients before 2.2.0); 0 = unused
childrenNoAges of ALL children 0-17, comma-separated, e.g. '8,15'; empty if none. Ages change price and tourist tax (charged from age 17).
languageNoAnswer language: 'de' (default) or 'en' — use the language of the conversation. Text and card are always in the same language.de

Output Schema

NameRequiredDescriptionDefault
monthNoYYYY-MM
perksNo
weeksNoSearched reference stays with all prices
adultsNo
offersNo
statusNook, closed, fully_booked or not_released
periodsNoBooking rules: from, to, closed, min_nights, arrival_weekdays
languageNo
apartmentsNoPer apartment: nr, name, lowest total EUR, nights, check_in/check_out of that reference stay
child_agesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / additionalProperties
      Added value: +false
  2. Changed6 schema fields changed
    • changedInput schema / properties / adults / description
      Previous value: -"Adults in one apartment"New value: +"Adults sharing one apartment (1-5)"
    • changedInput schema / properties / children / description
      Previous value: -"Ages of ALL children 0–17, comma-separated, e.g. '8,15'. Empty if none. Ages matter for price and tourist tax."New value: +"Ages of ALL children 0-17, comma-separated, e.g. '8,15'; empty if none. Ages change price and tourist tax (charged from age 17)."
    • changedInput schema / properties / guests / description
      Previous value: -"Deprecated alias of adults (clients before 2.2.0)"New value: +"Deprecated alias of adults (clients before 2.2.0); 0 = unused"
    • changedInput schema / properties / language / description
      Previous value: -"'de' (default) or 'en' — the language of the conversation"New value: +"Answer language: 'de' (default) or 'en' — use the language of the conversation. Text and card are always in the same language."
    • changedInput schema / properties / month / description
      Previous value: -"e.g. '2027-07', 'July', 'Juli 2027'; empty = next month"New value: +"Month as '2027-07', 'July', 'Juli 2027'; empty = next month"
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "description": "Result of get_rates / render_rates_card.",
      +  "properties": {
      +    "adults": {
      +      "type": [
      +        "integer",
      +        "null"
      +      ]
      +    },
      +    "apartments": {
      +      "description": "Per apartment: nr, name, lowest total EUR, nights, check_in/check_out of that reference stay",
      +      "items": {
      +        "additionalProperties": true,
      +        "type": "object"
      +      },
      +      "type": [
      +        "array",
      +        "null"
      +      ]
      +    },
      +    "child_ages": {
      +      "items": {
      +        "type": "integer"
      +      },
      +      "type": [
      +        "array",
      +        "null"
      +      ]
      +    },
      +    "language": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "month": {
      +      "description": "YYYY-MM",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "offers": {
      +      "items": {
      +        "additionalProperties": true,
      +        "type": "object"
      +      },
      +      "type": [
      +        "array",
      +        "null"
      +      ]
      +    },
      +    "periods": {
      +      "description": "Booking rules: from, to, closed, min_nights, arrival_weekdays",
      +      "items": {
      +        "additionalProperties": true,
      +        "type": "object"
      +      },
      +      "type": [
      +        "array",
      +        "null"
      +      ]
      +    },
      +    "perks": {
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "status": {
      +      "description": "ok, closed, fully_booked or not_released",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "weeks": {
      +      "description": "Searched reference stays with all prices",
      +      "items": {
      +        "additionalProperties": true,
      +        "type": "object"
      +      },
      +      "type": [
      +        "array",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": "object"
      +}
  3. Changed8 schema fields changed
    • addedInput schema / properties / adults
      Added value: +{
      +  "default": 2,
      +  "description": "Adults in one apartment",
      +  "maximum": 5,
      +  "minimum": 1,
      +  "title": "Adults",
      +  "type": "integer"
      +}
    • addedInput schema / properties / children
      Added value: +{
      +  "default": "",
      +  "description": "Ages of ALL children 0–17, comma-separated, e.g. '8,15'. Empty if none. Ages matter for price and tourist tax.",
      +  "title": "Children",
      +  "type": "string"
      +}
    • changedInput schema / properties / guests / default
      Previous value: -2New value: +0
    • addedInput schema / properties / guests / description
      Added value: +"Deprecated alias of adults (clients before 2.2.0)"
    • addedInput schema / properties / guests / maximum
      Added value: +5
    • addedInput schema / properties / guests / minimum
      Added value: +0
    • addedInput schema / properties / language / description
      Added value: +"'de' (default) or 'en' — the language of the conversation"
    • addedInput schema / properties / month / description
      Added value: +"e.g. '2027-07', 'July', 'Juli 2027'; empty = next month"
  4. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already cover the read-only safety profile, and the description adds genuinely new context: the data is live from the booking system, takes about 1-2 s, is cached 5 minutes, and returns both text and structuredContent with named sections (apartments, periods, weeks, perks, offers). That is meaningful operational context beyond the annotations.

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?

Front-loaded with the core purpose, then use cases, then the exclusion and alternative, then behaviour and latency. Every sentence carries information the agent would otherwise lack; there is no filler.

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 read-only lookup with a full schema and an output schema, the description covers purpose, selection criteria, alternatives, return shape, and latency/caching. Nothing needed to call it correctly is missing.

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% and each parameter already carries format examples ('2027-07', 'July', '8,15'), the deprecated-alias note, and the children/tourist-tax rule. The description adds no parameter-level detail beyond the schema, so the baseline 3 applies.

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 ('get the price level of each apartment for a whole month plus that month's booking rules') and pins down exactly what is returned (lowest total price of a reference stay, arrival days, minimum stay, closures). This is clearly distinguishable from check_availability (exact dates) and render_rates_card (visual version).

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?

Explicit when-to-use with concrete guest utterances ("what does a week in July cost?"), an explicit when-not ('Not for exact prices on specific dates — use check_availability for that'), and a stated alternative for the visual variant (render_rates_card with the same arguments). Nothing is left to inference.

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