Skip to main content
Glama

get_hotel_availability

Hotels only. Есть ли свободные номера на ВСЕ ночи [checkIn, checkOut): по типам номеров — сколько свободно и помещается ли компания. Данные — из опубликованного календаря отеля. Дат нет — не вызывай, а спроси их. ok:false с reason unknown/stale/unavailable — данных нет: не утверждай ни «свободно», ни «занято», веди к форме бронирования или к человеку. ok:false с reason bad_request — ошибка в датах вызова, а не «данных нет»: dates-required — спроси у гостя даты заезда и выезда; checkin-in-the-past, checkout-not-after-checkin, checkin-too-far-ahead — уточни даты.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
partyNoКто едет: взрослые (≥1), дети и возраст каждого ребёнка (childAges). Передавай, только если гость назвал; не назвал — не передавай и НЕ спрашивай ради цены или наличия: посчитается цена номера (priceBasis room). Названная компания меняет цену так же, как в форме бронирования (доплата за дополнительного взрослого и за детей по возрасту).
domainYesHotel location code (uppercase, from the site URL or QR).
checkInYesЗаезд. Дата YYYY-MM-DD по календарю отеля.
checkOutYesВыезд (позже заезда). Дата YYYY-MM-DD по календарю отеля.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / party / description
      Previous value: -"Сколько гостей: взрослые (≥1) и дети. Передавай, только если гость назвал; не назвал — не передавай (посчитается 1 взрослый) и НЕ спрашивай ради цены или наличия: цена от числа гостей не зависит."New value: +"Кто едет: взрослые (≥1), дети и возраст каждого ребёнка (childAges). Передавай, только если гость назвал; не назвал — не передавай и НЕ спрашивай ради цены или наличия: посчитается цена номера (priceBasis room). Названная компания меняет цену так же, как в форме бронирования (доплата за дополнительного взрослого и за детей по возрасту)."
    • addedInput schema / properties / party / properties / childAges
      Added value: +{
      +  "description": "Возраст каждого ребёнка, если гость назвал.",
      +  "items": {
      +    "maximum": 17,
      +    "minimum": 0,
      +    "type": "integer"
      +  },
      +  "type": "array"
      +}
  2. Changed1 schema field changed
    • changedInput schema / properties / party / description
      Previous value: -"Сколько гостей: взрослые (≥1) и дети. Не знаешь — спроси; по умолчанию 1 взрослый."New value: +"Сколько гостей: взрослые (≥1) и дети. Передавай, только если гость назвал; не назвал — не передавай (посчитается 1 взрослый) и НЕ спрашивай ради цены или наличия: цена от числа гостей не зависит."
  3. Added

TDQS

A4.1/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so richly: it distinguishes 'no data' (unknown/stale/unavailable) from a bad request, forbids asserting free/busy on missing data, and routes to the booking form or a human. This is exactly the behavioral detail the schema cannot express.

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?

The core purpose and the date prerequisite are front-loaded in the first two sentences, followed by the error taxonomy. It is a bit dense and mixes English/Russian, but every clause about ok:false reasons earns its place.

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?

No output schema exists, so the description must describe returns; it enumerates the ok:false reason categories and the room-type/fit semantics, which is sufficient. The success-path return shape (counts per room type) is only implied, leaving a small gap.

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 the nested party object is already well documented in the schema, so baseline 3 applies. The description reinforces that missing dates block invocation but adds no syntax beyond what the schema already gives for domain/checkIn/checkOut.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (free rooms by room type) and scope ('Hotels only', check availability for ALL nights in [checkIn, checkOut)). The 'Hotels only' clause distinguishes it from the sibling check_table_availability, though it does not contrast with quote_stay (the other pricing/stay tool).

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 explicit when-to-use rules: no dates means do not call and ask for them, and bad_request reasons map to clarifying dates with the guest. It does not name an alternative tool (e.g. quote_stay) for the pricing path, leaving that inference to the agent.

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