# Bronla.UZ

> Search and book dachas, villas, cottages and hotels in Uzbekistan, with prices in UZS.

- name: uz.bronla/bronla
- version: 0.1.1
- connection class: R0 (autonomous)
- trust: 83/100 flags: no-repository
- quality: 84/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/uz.bronla%2Fbronla
- tools: https://api.protogrid.dev/v1/servers/uz.bronla%2Fbronla/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "bronla": {
      "type": "http",
      "url": "https://mcp.bronla.uz/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-100% +updated-14d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 84/100 (good)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (weight 30)

- pass `tools.descriptions`: every tool has a description
- warn `tools.description_length`: 2 tools have descriptions over 1,024 characters, which crowds the context
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 8 of 8 tools declare readOnlyHint or destructiveHint
- warn `tools.directory_hints`: 1 of 8 tools declare all four hints; missing: get_listing_details (destructiveHint, idempotentHint); get_my_bookings (destructiveHint, idempotentHint); search_rentals (destructiveHint, idempotentHint); …
- pass `tools.token_cost`: about 3,442 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 75 (weight 15)

- warn `stability.changes`: 12 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 8, about 3,442 tokens to load them all
- tool set hash: b7a2b3bce0189637d4c82da71a8a6407
- tools last changed: 2026-10-07T16:57:21.573Z
- badge: [![protogrid quality](https://protogrid.dev/badge/uz.bronla/bronla.svg)](https://protogrid.dev/servers/uz.bronla/bronla)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-07 `get_listing_details` changed (outputSchema)
- 2026-10-07 `list_search_filters` added
  - Qidiruv filtrlari: hududlar (`province`) va qulayliklar (`amenities`) ro'yxati. `search_rentals` nom/slug'ni o'zi taniydi, shuning uchun bu tool shart emas - foydalanuvchiga "qaysi hududlar bor?" deb javob berish yoki hudud nomi tanilmaganda kerak. `count` - shu hududdagi/qulaylikka ega dachalar soni.
- 2026-10-07 `get_listing_details` changed (description, inputSchema, outputSchema)
  - before: Bitta dacha/mehmonxonaning to'liq ma'lumotini va rasmlarini qaytaradi. listing_slug - qidiruv natijasidagi `slug` maydoni. listing_type `house` (dacha) yoki `property` (mehmonxona). Mehmonxonadagi bo'sh xonalarni `check_hotel_availability` orqali tekshiring. Tarkibida: tavsif, manzil/xarita, sig'im, qulayliklar, reyting, narx (`payment`/`paydaylist`), oldindan to'lov foizi, band kunlar (`blocked_dates`) va onlayn bron imkoniyati. Eslatma: detail endpoint'da tayyor `price` YO'Q - narx `payment` ro'yxatida (sig'im bo'yicha ish kunlari/hafta oxiri) va `paydaylist` (sana bo'yicha) keladi. Aniq bo'sh kunlarni `check_availability` orqali so'rang. Rasmlar: 10 tagacha rasm natijaga rasm (image content) sifatida qo'shiladi; ularning URL'lari `images` ro'yxatida. Faqat matn kerak bo'lsa (narx, bo'sh kunlar) - `max_images=0` yuboring. Bir nechta dachani rasmlari bilan solishtirish uchun bu tool'ni har biriga alohida chaqirmang: `search_rentals`/`search_hotels` natijasida har bir e'lonning rasmi allaqachon bor. Bu tool - bitta e'lonni batafsil ko'rish uchun.
  - after: Bitta dacha/mehmonxonaning to'liq ma'lumotini va rasmlarini qaytaradi. listing_slug - qidiruv natijasidagi `slug` maydoni. listing_type `house` (dacha) yoki `property` (mehmonxona). Mehmonxonadagi bo'sh xonalarni `check_hotel_availability` orqali tekshiring. Tarkibida: tavsif, manzil/xarita, sig'im, qulayliklar, reyting, narx (`payment`/`paydaylist`), oldindan to'lov foizi, band kunlar (`blocked_dates`) va onlayn bron imkoniyati. Eslatma: detail endpoint'da tayyor `price` YO'Q - narx `payment` ro'yxatida (sig'im bo'yicha ish kunlari/hafta oxiri) va `paydaylist` (sana bo'yicha) keladi. Aniq bo'sh kunlarni `check_availability` orqali so'rang. Rasmlar: 10 tagacha rasm natijaga rasm (image content) sifatida qo'shiladi; ularning URL'lari `images` ro'yxatida. Faqat matn kerak bo'lsa (narx, bo'sh kunlar) - `max_images=0` yuboring. Bir nechta dachani rasmlari bilan solishtirish uchun bu tool'ni har biriga alohida chaqirmang: `search_rentals`/`search_hotels` natijasida har bir e'lonning rasmi allaqachon bor. Bu tool - bitta e'lonni batafsil ko'rish uchun. Joylashuv: `address` - egasining qisqa mo'ljali; "qayerda?" savoliga `location_summary` va `map_url` bilan javob bering.
- 2026-10-07 `search_hotels` changed (inputSchema, outputSchema)
- 2026-10-07 `search_rentals` changed (description, inputSchema, outputSchema)
  - before: Bronla.UZ'dan dachalarni sanalari va mehmonlar soni bo'yicha qidiradi. check_in / check_out: `YYYY-MM-DD` yoki `dd-mm-yyyy` (masalan 2026-06-19). sort: 0=tavsiya, 1=arzon, 2=qimmat, 3=reyting. Natijada ixcham ro'yxat qaytadi: nomi, narxi, reytingi va havolasi. max_images: birinchi nechta natijaning rasmi biriktirilsin (standart 6, 0-10). Variantlarni rasmlari bilan ko'rsatish uchun shu natijadan foydalaning - har bir e'lonni `get_listing_details` bilan alohida ochish shart emas. check_in / check_out ixtiyoriy, lekin ikkalasi BIRGA berilishi kerak: bittasi bersa API sana filtrini jimjiyoq e'tiborga olib, filtrlanmagan natija qaytaradi. Bunday holatda xato qaytarilib, modeldan ikkala sana so'raladi.
  - after: Bronla.UZ'dan dachalarni hudud, qulayliklar, sana va mehmonlar soni bo'yicha qidiradi. province: hudud nomi ("Chorvoq", "Чарвак") yoki ID - "Chorvoqda dacha" so'rovida hududni `query` ga emas, shu yerga bering. amenities: ["sauna", "pool"] - barchasi bor dachalar qaytadi. check_in / check_out: `YYYY-MM-DD` yoki `dd-mm-yyyy` (masalan 2026-06-19). sort: 0=tavsiya, 1=arzon, 2=qimmat, 3=reyting (sharhsiz e'lonlar oxirida). "Eng yaxshisini tavsiya qil" uchun sort=3 va `countReview` ga qarang. Natijada ixcham ro'yxat qaytadi: nomi, narxi, reytingi va havolasi. max_images: birinchi nechta natijaning rasmi biriktirilsin (standart 6, 0-10). Variantlarni rasmlari bilan ko'rsatish uchun shu natijadan foydalaning - har bir e'lonni `get_listing_details` bilan alohida ochish shart emas. check_in / check_out ixtiyoriy, lekin ikkalasi BIRGA berilishi kerak: bittasi bersa API sana filtrini jimjiyoq e'tiborga olib, filtrlanmagan natija qaytaradi. Bunday holatda xato qaytarilib, modeldan ikkala sana so'raladi.
- 2026-10-06 `create_booking` changed (title, inputSchema, outputSchema)
- 2026-10-06 `check_hotel_availability` changed (title, inputSchema, outputSchema)
- 2026-10-06 `check_availability` changed (title, inputSchema, outputSchema)
- 2026-10-06 `get_listing_details` changed (title, inputSchema, outputSchema)
- 2026-10-06 `search_hotels` changed (title, inputSchema, outputSchema)

Full history: https://api.protogrid.dev/v1/servers/uz.bronla%2Fbronla/changes

## Remotes

- https://mcp.bronla.uz/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (8)

- `check_availability`: Berilgan e'lon sanalar oralig'ida bo'sh ekanini tekshiradi.

    check_in / check_out: `YYYY-MM-DD` yoki `dd-mm-yyyy`. check_out - chiqish
    kuni (tun hisoblanmaydi). Hech narsa band qilmaydi - faqat mavjud band
    kunlar (`tileDisabled`) bilan solishtiradi.

    Qaytaradi: available (bool), blocked_nights (to'qnashgan kunlar),
    online_booking (onlayn bron yoqilganmi).
    
- `check_hotel_availability`: Mehmonxonada sana va mehmonlar uchun bo'sh xonalarni, bron ID'larini tekshiradi.
- `create_booking`: Bronla'da dacha yoki mehmonxona uchun bron yaratadi.

    Bu amal bazaga yozadi va to'lov uchun havola/oldindan to'lov yozuvini
    yaratishi mumkin. Faqat foydalanuvchi obyekt, sanalar, mehmonlar va to'lov
    shartlarini ko'rgandan keyin aniq rozilik berganida chaqiring. Foydalanuvchi
    autentifikatsiyasi MCP OAuth orqali keladi; Knox token tool argumentiga
    kiritilmaydi va MCP server ichida saqlanadi. Hamyondan foydalanish faqat
    `use_wallet=True` yuborilgandagina ishlatiladi (hozir bu parametr o'chirilgan).
    Har chaqiruvdan oldin availability'ni tekshiring. Timeout yoki aloqa uzilishi
    bo'lsa tool'ni avtomatik qayta chaqirmang: bron oldin yaralgan bo'lishi mumkin.

    listing_type: `house` (dacha) yoki `property` (mehmonxona). Mehmonxona
    uchun `space_ids` majburiy. `check_out` chiqish kuni, tun sifatida kirmaydi.
    
- `get_listing_details`: Bitta dacha/mehmonxonaning to'liq ma'lumotini va rasmlarini qaytaradi.

    listing_slug - qidiruv natijasidagi `slug` maydoni. listing_type `house`
    (dacha) yoki `property` (mehmonxona). Mehmonxonadagi bo'sh xonalarni
    `check_hotel_availability` orqali tekshiring.
    Tarkibida: tavsif, manzil/xarita, sig'im, qulayliklar, reyting, narx
    (`payment`/`paydaylist`), oldindan to'lov foizi, band kunlar (`blocked_dates`)
    va onlayn bron imkoniyati.

    Eslatma: detail endpoint'da tayyor `price` YO'Q - narx `payment` ro'yxatida
    (sig'im bo'yicha ish kunlari/hafta oxiri) va `paydaylist` (sana bo'yicha)
    keladi. Aniq bo'sh kunlarni `check_availability` orqali so'rang.

    Rasmlar: 10 tagacha rasm natijaga rasm (image content) sifatida qo'shiladi;
    ularning URL'lari `images` ro'yxatida. Faqat matn kerak bo'lsa (narx, bo'sh
    kunlar) - `max_images=0` yuboring.

    Bir nechta dachani rasmlari bilan solishtirish uchun bu tool'ni har biriga
    alohida chaqirmang: `search_rentals`/`search_hotels` natijasida har bir
    e'lonning rasmi allaqachon bor. Bu tool - bitta e'lonni batafsil ko'rish uchun.

    Joylashuv: `address` - egasining qisqa mo'ljali; "qayerda?" savoliga
    `location_summary` va `map_url` bilan javob bering.
    
- `get_my_bookings`: Joriy Bronla foydalanuvchisining bronlari va to'lov holatini ko'rsatadi.
- `list_search_filters`: Qidiruv filtrlari: hududlar (`province`) va qulayliklar (`amenities`) ro'yxati.

    `search_rentals` nom/slug'ni o'zi taniydi, shuning uchun bu tool shart
    emas - foydalanuvchiga "qaysi hududlar bor?" deb javob berish yoki hudud
    nomi tanilmaganda kerak. `count` - shu hududdagi/qulaylikka ega dachalar soni.
    
- `search_hotels`: Mehmonxona qidiradi; sanalar berilsa mos bo'sh xonalar va `space_ids`ni qaytaradi.

    Sana formati `YYYY-MM-DD` yoki `dd-mm-yyyy`. Bron qilishda natijadagi
    `available_spaces[].id` qiymatlarini `create_booking.space_ids` ga bering.
    
- `search_rentals`: Bronla.UZ'dan dachalarni hudud, qulayliklar, sana va mehmonlar soni bo'yicha qidiradi.

    province: hudud nomi ("Chorvoq", "Чарвак") yoki ID - "Chorvoqda dacha"
    so'rovida hududni `query` ga emas, shu yerga bering.
    amenities: ["sauna", "pool"] - barchasi bor dachalar qaytadi.
    check_in / check_out: `YYYY-MM-DD` yoki `dd-mm-yyyy` (masalan 2026-06-19).
    sort: 0=tavsiya, 1=arzon, 2=qimmat, 3=reyting (sharhsiz e'lonlar oxirida).
    "Eng yaxshisini tavsiya qil" uchun sort=3 va `countReview` ga qarang.
    Natijada ixcham ro'yxat qaytadi: nomi, narxi, reytingi va havolasi.
    max_images: birinchi nechta natijaning rasmi biriktirilsin (standart 6, 0-10).
    Variantlarni rasmlari bilan ko'rsatish uchun shu natijadan foydalaning -
    har bir e'lonni `get_listing_details` bilan alohida ochish shart emas.

    check_in / check_out ixtiyoriy, lekin ikkalasi BIRGA berilishi kerak:
    bittasi bersa API sana filtrini jimjiyoq e'tiborga olib, filtrlanmagan
    natija qaytaradi. Bunday holatda xato qaytarilib, modeldan ikkala sana
    so'raladi.
    
