Skip to main content
Glama
livo-ge-mcp

livo-ge-mcp

livo-ge-mcp

MCP-сервер над livo.ge - порталом недвижимости группы tnet (бывший myhome.ge).

Прозрачный stateless-прокси: один вызов инструмента = один-несколько живых запросов. Между вызовами кешируются только два справочника (локации и словари, TTL 6 часов); объявления не кешируются никогда.

У livo.ge нет публичного API. Контракт восстановлен реверс-инжинирингом бандлов Next.js и проверен живыми запросами - разбор в docs/API.md.

Установка

claude mcp add livo-ge --scope user -- npx -y livo-ge-mcp@1

Нужен Node >= 20. Клонировать и ставить вручную ничего не надо: npx сам скачает пакет из npm и закеширует. @1 фиксирует мажорную версию, обновления внутри неё приезжают сами, а ломающий релиз молча не подменит сервер.

Проверить, что сервер подключился: claude mcp list.

Для клиентов с JSON-конфигом (Claude Desktop, Cursor, Windsurf):

{
  "mcpServers": {
    "livo-ge": {
      "command": "npx",
      "args": ["-y", "livo-ge-mcp@1"],
      "env": { "LIVO_LOCALE": "ru" }
    }
  }
}
git clone https://github.com/nosuchip/livo-ge-mcp && cd livo-ge-mcp && npm install
claude mcp add livo-ge --scope user -- node "$PWD/src/index.mjs"
npm test   # смоук-тест, ходит в сеть по-настоящему

Настройки

Переменная

По умолчанию

Что делает

LIVO_LOCALE

ru

ka | en | ru. Заголовок переводит данные, а не только UI

LIVO_MIN_INTERVAL_MS

1000

Минимальный интервал между запросами, глобально

Задать при установке: claude mcp add livo-ge --scope user -e LIVO_LOCALE=en -- npx -y livo-ge-mcp@1.

Related MCP server: ss-ge-mcp

Инструменты

Инструмент

Что делает

get_skill

Инструкции: apartment-search - как разложить критерии; criteria-coverage - что источник знает, а что нет

count

Число объявлений под фильтр, без выкачивания. Один дешёвый запрос

search

Поиск. Отдаёт applied_filters - эхо API о том, что он реально разобрал

listing

Полная карточка: описание, удобства, координаты, кадастр, просмотры, настоящая дата публикации

geo

Города, районы, микрорайоны с id; query работает как автодополнение сайта

reference

Словари id → название для фильтров, которые принимают только id

projects

Новостройки (проекты застройщиков) - отдельный набор данных

Фильтр принимает человеческие названия на любом из трёх языков сайта: areas: ["Ваке", "Saburtalo"], metro: ["Руставели"], amenities: ["elevator", "pets-allowed"].

Что этот сервер намеренно делает неудобно

Пять вещей в livo устроены так, что наивная обёртка выдавала бы правдоподобную неправду. Здесь они вынесены наружу, а не спрятаны.

Свежесть. last_updated - не дата публикации: livo пишет туда любую правку и любое платное поднятие, и у объявления 2024 года там регулярно "сегодня". Настоящий возраст даёт quantity_of_day, поэтому сервер отдаёт age_days и посчитанный из него published, а updated подписан как "правка или поднятие". Проверено сверкой с created_at: сходится день в день.

Сортировка. Она не применяется ко всей выдаче: super_vip, vip_plus и vip закреплены сверху всегда, а order работает только внутри тира. Сам date_desc к тому же сортирует по last_updated, а не по публикации. Поэтому каждая карточка несёт promo_tier (null = обычное объявление), и в ответе прямо сказано, что позиция в списке про деньги, а не про свежесть.

Опечатки в фильтре. API молча игнорирует неизвестные имена полей и отдаёт неотфильтрованную выдачу: count с полем nonsense_field возвращает ровно столько же, сколько без него. Клиент сверяет фильтр с белым списком и падает, а не врёт. Плюс к этому в ответ кладётся applied_filters - эхо самого API.

Удобства объединяются по ИЛИ. [elevator, conditioner] даёт больше результатов, чем [elevator]. "С лифтом И кондиционером" через этот API одним запросом не выражается, поэтому сервер предупреждает об этом прямо в ответе.

Охват. Заголовок X-Website-Key выбирает витрину группы tnet, и витрины не равны: по одному запросу livo отдаёт 53 698 объявлений, myhome.ge - 94 116. Livo - подмножество, и criteria-coverage говорит об этом прямо.

Темп и вежливость

1 запрос в секунду глобально, честный User-Agent (livo-ge-mcp/…), без подделки под браузер. На 429 и на "настоящий" 403 предохранитель размыкается и остаётся разомкнутым: это сигнал перестать ходить. robots.txt на обоих API-хостах ничего не запрещает.

Лицензия

MIT, см. LICENSE.

Available Tools

7 tools
countСчётчики по фильтруA

Считает результаты по фильтру, не выкачивая их — один дешёвый запрос. Годится, чтобы проверить осмысленность критериев и сравнить варианты фильтра между собой. Возвращает total — полное число объявлений под фильтр.

Inputs: deal (required), q, city, areas, +33 more.

geoСправочник локацийA

Города, районы и микрорайоны с id. search() принимает названия и резолвит их сам; этот инструмент — посмотреть доступное или снять неоднозначность. С параметром query работает как автодополнение сайта и возвращает готовую связку city/district/urban.

Inputs: city, query.

get_skillИнструкция по работе с источникомA

Возвращает инструкцию. 'apartment-search' — как разложить критерии пользователя по инструментам и в каком порядке идти. 'criteria-coverage' — на что livo.ge отвечает, на что отвечает приблизительно, и чего не знает вовсе. Вызывай перед сборкой многокритериального поиска.

Inputs: name (required).

listingКарточка объявленияA

Полная карточка: описание, удобства, координаты, этажность, состояние, кадастр, просмотры, телефон (частично скрыт). Здесь есть created_at — настоящая дата публикации, единственное место, где она приходит явно.

Inputs: id (required), with_similars.

projectsНовостройки (проекты застройщиков)A

Проекты застройщиков — отдельный набор данных livo, не подмножество объявлений. min_price приходит диапазоном и в трёх валютах. С параметром uuid возвращает карточку одного проекта.

Inputs: city, page, uuid, areas, +1 more.

referenceСправочники значенийA

Словари id -> название для фильтров, которые принимают только id: conditions, project_types, heating_types, material_types, metro_stations, amenities и др. Большинство словарей разбиты по типу недвижимости — укажи estate, чтобы получить только применимые значения. Названия приходят на языке сервера (LIVO_LOCALE).

Inputs: groups (required), estate.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.1/5.0

    Scored across 7 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose: geo handles location hierarchy, reference provides filter dictionaries, count/search/listing cover different levels of listing retrieval, projects covers developer data, and get_skill provides meta-instructions. The relationships between similar tools like count vs search and search vs listing are explicitly clarified.

    Naming Consistency3/5

    Tool names are short, readable, and all lowercase, but they mix noun-style resources such as geo, reference, projects, and listing with imperative verbs like search and count, plus one snake_case verb_noun tool, get_skill. This is not chaotic, but there is no consistent naming pattern across the set.

    Tool Count5/5

    Seven tools are well-scoped for a read-only real estate search server. Each tool serves a necessary part of the workflow: reference data, geographic lookup, counting, searching, detail retrieval, project data, and guided instructions. There is no obvious bloat or missing essential category.

    Completeness5/5

    For its stated purpose of searching and exploring Livo.ge listings, the tool surface is complete: search and count cover filtering, listing provides full details, geo and reference support valid filter construction, projects covers developer data, and get_skill documents workflow and known limitations. No significant dead ends or missing read-side operations are apparent.

    Maintenance

    ActivityStale
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      C
      maintenance
      Provides MCP tools for searching Tbilisi new-build listings, retrieving price histories, listing districts, generating diff reports, and managing tracked sources with periodic refresh.
      15
      Apache 2.0
    • A
      license
      A
      quality
      C
      maintenance
      Enables searching and browsing ss.ge real estate listings with filters, counters, full card details, and geo/city data via MCP tools.
      6
      10 npm
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables users to manage real-estate listing properties and photos from MCP-capable assistants, including listing and searching properties, starting photo enhancements, checking credit balances, and obtaining browser upload links.
      MIT
    • A
      license
      B
      quality
      C
      maintenance
      Enables MCP clients to search Avito Morocco public listings and, with account credentials, manage listings and favorites, read and send messages, view statistics, and purchase boosts.
      35
      16 npm
      MIT