Skip to main content
Glama

Search Hotels

search_hotels
Read-only

Mehmonxona qidiradi; sanalar berilsa mos bo'sh xonalar va space_idsni qaytaradi.

Sana formati `YYYY-MM-DD` yoki `dd-mm-yyyy`. Bron qilishda natijadagi
`available_spaces[].id` qiymatlarini `create_booking.space_ids` ga bering.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "search_hotels"
  }
}

Input Schema

NameRequiredDescriptionDefault
langNoJavob tili: uz, ru yoki en - foydalanuvchi yozgan tilni bering. Hudud nomlari va tavsif tarjimasi shu tilda keladi.
pageNoNatijalar sahifasi, 1-100.
sortNoSaralash: 0=tavsiya, 1=arzon, 2=qimmat, 3=reyting.
queryNoE'lon nomi bo'yicha erkin qidiruv. Hudud uchun `province` parametrini ishlating.
roomsNoKerakli xonalar soni.
adultsNoKattalar soni.
check_inNoKirish sanasi: YYYY-MM-DD yoki dd-mm-yyyy. check_out bilan birga beriladi.
childrenNoBolalar soni.
price_toNoMaksimal narx, UZS.
provinceNoHudud: viloyat, tuman/shahar yoki joy (qishloq, dam olish zonasi) nomi, slug'i yoki ID'si - masalan `Chorvoq`, `Bo'stonliq`, `Toshkent viloyati`, `Чарвак`, `2`. Bir nechtasi `|` bilan: `Chorvoq|Qibray`. Ro'yxat: `list_search_filters` (`locations`).
check_outNoChiqish sanasi: YYYY-MM-DD yoki dd-mm-yyyy. check_in bilan birga beriladi.
max_imagesNoNatijaga biriktiriladigan rasmlar soni, 0-10 (0 = rasmsiz).
price_fromNoMinimal narx, UZS.
province_idNoViloyat/hudud ID'si bo'yicha filtr (eski nom; `province` bilan bir xil, nom ham qabul qilinadi).

Output Schema

NameRequiredDescriptionDefault
hintNoXatoni qanday tuzatish haqida ko'rsatma.
pageNoJoriy sahifa raqami.
countNoTopilgan e'lonlar umumiy soni.
errorNoXato kodi; faqat tool bajarilmaganda keladi.
detailNoUpstream API xatosi tafsiloti.
resultsNoE'lonlar: id, slug, name, province, price (matn), price_value (son, UZS), score, countReview, image, url va boshqalar.
currencyNoNarxlar valyutasi (UZS).
countPageNoSahifalar umumiy soni.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / province / description
      Previous value: -"Hudud: nomi, slug'i yoki ID'si - masalan `Chorvoq`, `bostonliq`, `Чарвак`, `2`. Bir nechtasi `|` bilan: `Chorvoq|Bochka`. Ro'yxat: `list_search_filters`."New value: +"Hudud: viloyat, tuman/shahar yoki joy (qishloq, dam olish zonasi) nomi, slug'i yoki ID'si - masalan `Chorvoq`, `Bo'stonliq`, `Toshkent viloyati`, `Чарвак`, `2`. Bir nechtasi `|` bilan: `Chorvoq|Qibray`. Ro'yxat: `list_search_filters` (`locations`)."
  2. Changed5 schema fields changed
    • addedInput schema / properties / lang
      Added value: +{
      +  "anyOf": [
      +    {
      +      "enum": [
      +        "uz",
      +        "ru",
      +        "en"
      +      ],
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Javob tili: uz, ru yoki en - foydalanuvchi yozgan tilni bering. Hudud nomlari va tavsif tarjimasi shu tilda keladi.",
      +  "title": "Lang"
      +}
    • addedInput schema / properties / province
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Hudud: nomi, slug'i yoki ID'si - masalan `Chorvoq`, `bostonliq`, `Чарвак`, `2`. Bir nechtasi `|` bilan: `Chorvoq|Bochka`. Ro'yxat: `list_search_filters`.",
      +  "title": "Province"
      +}
    • changedInput schema / properties / province_id / description
      Previous value: -"Viloyat/hudud ID'si bo'yicha filtr."New value: +"Viloyat/hudud ID'si bo'yicha filtr (eski nom; `province` bilan bir xil, nom ham qabul qilinadi)."
    • changedInput schema / properties / query / description
      Previous value: -"Nom bo'yicha erkin qidiruv matni."New value: +"E'lon nomi bo'yicha erkin qidiruv. Hudud uchun `province` parametrini ishlating."
    • changedOutput schema / properties / results / description
      Previous value: -"E'lonlar: id, slug, name, province, price, score, image, url va boshqalar."New value: +"E'lonlar: id, slug, name, province, price (matn), price_value (son, UZS), score, countReview, image, url va boshqalar."
  3. Changed13 schema fields changed
    • addedInput schema / properties / adults / description
      Added value: +"Kattalar soni."
    • addedInput schema / properties / check_in / description
      Added value: +"Kirish sanasi: YYYY-MM-DD yoki dd-mm-yyyy. check_out bilan birga beriladi."
    • addedInput schema / properties / check_out / description
      Added value: +"Chiqish sanasi: YYYY-MM-DD yoki dd-mm-yyyy. check_in bilan birga beriladi."
    • addedInput schema / properties / children / description
      Added value: +"Bolalar soni."
    • addedInput schema / properties / max_images / description
      Added value: +"Natijaga biriktiriladigan rasmlar soni, 0-10 (0 = rasmsiz)."
    • addedInput schema / properties / page / description
      Added value: +"Natijalar sahifasi, 1-100."
    • addedInput schema / properties / price_from / description
      Added value: +"Minimal narx, UZS."
    • addedInput schema / properties / price_to / description
      Added value: +"Maksimal narx, UZS."
    • addedInput schema / properties / province_id / description
      Added value: +"Viloyat/hudud ID'si bo'yicha filtr."
    • addedInput schema / properties / query / description
      Added value: +"Nom bo'yicha erkin qidiruv matni."
    • addedInput schema / properties / rooms / description
      Added value: +"Kerakli xonalar soni."
    • addedInput schema / properties / sort / description
      Added value: +"Saralash: 0=tavsiya, 1=arzon, 2=qimmat, 3=reyting."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "count": {
      +      "description": "Topilgan e'lonlar umumiy soni.",
      +      "title": "Count",
      +      "type": "integer"
      +    },
      +    "countPage": {
      +      "description": "Sahifalar umumiy soni.",
      +      "title": "Countpage",
      +      "type": "integer"
      +    },
      +    "currency": {
      +      "description": "Narxlar valyutasi (UZS).",
      +      "title": "Currency",
      +      "type": "string"
      +    },
      +    "detail": {
      +      "description": "Upstream API xatosi tafsiloti.",
      +      "title": "Detail"
      +    },
      +    "error": {
      +      "description": "Xato kodi; faqat tool bajarilmaganda keladi.",
      +      "title": "Error"
      +    },
      +    "hint": {
      +      "description": "Xatoni qanday tuzatish haqida ko'rsatma.",
      +      "title": "Hint"
      +    },
      +    "page": {
      +      "description": "Joriy sahifa raqami.",
      +      "title": "Page",
      +      "type": "integer"
      +    },
      +    "results": {
      +      "description": "E'lonlar: id, slug, name, province, price, score, image, url va boshqalar.",
      +      "items": {
      +        "additionalProperties": true,
      +        "type": "object"
      +      },
      +      "title": "Results",
      +      "type": "array"
      +    }
      +  },
      +  "title": "SearchResult",
      +  "type": "object"
      +}
  4. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, so safety is covered. The description adds genuinely useful behavior beyond that: results only include availability/space ids when dates are provided, and it discloses the exact output field (`available_spaces[].id`) needed downstream. It omits pagination/rate-limit behavior but the schema covers paging.

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?

Three short sentences with the core search purpose and the date-conditional behavior front-loaded, followed by the booking handoff. No filler, though the date-format sentence is somewhat redundant given the 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 read-only search tool with a full output schema, annotations, and 100% schema coverage, the description supplies exactly what structure can't: the date-conditional return behavior and the linkage to create_booking.space_ids. Nothing essential for correct invocation 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%, so the schema already documents all 14 parameters including the date formats and sorting. The description's date-format note merely restates the schema, adding no syntax or constraint detail beyond it. Baseline 3 is appropriate.

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 ("Mehmonxona qidiradi" = searches hotels) and distinguishes itself from the rental sibling by naming hotels. It also clarifies scope: with dates it returns matching available rooms, which differentiates it from bare listing lookups.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives conditional behavior (dates supplied -> availability returned) and routes the agent forward to create_booking with space_ids, which is useful. However, it never says when to prefer this over check_availability/check_hotel_availability or search_rentals, nor does it state prerequisites such as check_in/check_out needing to be paired.

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