realtycalendar-mcp
by ilyautov
README.md
> ## Проект в архиве
>
> Разработка остановлена, репозиторий переведён в режим только для чтения. Код рабочий
> и остаётся под MIT: форкайте, если пригодится.
>
> Остальные открытые инструменты: [github.com/ilyautov](https://github.com/ilyautov).
> Ближайший по духу живой проект, [**marketplaces-mcp-ru**](https://github.com/ilyautov/marketplaces-mcp-ru),
> подключает агента к кабинетам Wildberries, Ozon, Яндекс Маркета и Авито.
# realtycalendar-mcp
Подключите AI-агента (Claude Desktop/Code, Cursor, Codex) к вашему аккаунту **RealtyCalendar** —
и спрашивайте про брони, шахматку и заезды человеческим языком, прямо в чате.




> **Локальное зеркало броней** наполняется вебхуками RealtyCalendar и живёт на вашей машине —
> персональные данные гостей никуда не уходят. **Read-доступ к API** (шахматка, объекты, загрузка)
> подключается партнёрским токеном. **Мутации броней отключены в v1 намеренно** — ноль риска для
> денег гостя и овербукинга.
⚠️ **Alpha.** Webhook-часть работает и тестируется без токена. Read-API построен на гипотезе схемы и
доводится по реальным партнёрским докам RealtyCalendar (см. «Статус API»).
---
## Зачем это нужно
Управляющий посуточкой держит десятки объектов в RealtyCalendar. Вместо того чтобы заходить в
кабинет, вы спрашиваете агента:
- «Кто заезжает сегодня?»
- «Свободна ли студия на Ленина 12–14 июля?»
- «Покажи шахматку на неделю»
- «Какая загрузка по объекту за месяц?» *(нужен токен)*
Ответ приходит из **локального зеркала** (мгновенно, из вебхуков) или из **API RealtyCalendar**.
## Что внутри
- **Webhook-приёмник + зеркало (SQLite)** — принимает события броней RealtyCalendar, отвечает `200`,
апсертит идемпотентно. `rc-webhook start` поднимает приёмник и публичный URL одной командой.
- **MCP-сервер (stdio)** — 21 тул: мгновенные из зеркала (`rc_todays_checkins`, `rc_week_grid`,
`rc_check_availability_local`) и read из API (`rc_get_bookings`, `rc_get_calendar`, `rc_get_objects`).
- **Мета-тулы** — `rc_search_methods` / `rc_describe_method` / `rc_call_method` / `rc_call_raw` /
`rc_fetch_all`: двуязычный поиск и вызов любого метода каталога.
- **Safety-гейт** — read/write/destructive. v1 — только чтение; write/destructive заложены под v2.
- **Мультикабинет** — несколько аккаунтов RealtyCalendar, переключение в чате.
## Установка
**Приём вебхуков (работает сразу, без токена):**
```bash
pip install realtycalendar-mcp
rc-webhook start
```
Команда поднимет локальный приёмник и (через `cloudflared`) публичный URL. Вставьте его в
RealtyCalendar: **Настройки → CRM-интеграции → «Введите URL нового Webhook» → Запустить**.
**MCP-сервер в Claude Desktop:**
```bash
python3 install.py --client claude-desktop # пропишет сервер и сделает бэкап конфига
```
Для Claude Code / Codex: `python3 install.py --client claude-code` (напечатает `claude mcp add …`).
**Токен для read-API** (опционально, Phase 2): запросите партнёрский доступ на
`partners@realtycalendar.ru`, затем в чате: *«добавь кабинет RealtyCalendar с токеном …»*
(`rc_add_cabinet`). Проверка — `rc_check_auth` (секрет не светится).
## Что можно спросить
| Без токена (из вебхуков) | С токеном (из API) |
|---|---|
| Кто заезжает/выезжает сегодня | Список всех объектов и броней |
| Шахматка на неделю | Календарь занятости объекта |
| Свободен ли объект на даты | Загрузка объекта за месяц |
| Последние события броней | Тарифы и клиенты |
## Безопасность и приватность
- **Local-first**: зеркало броней и токен лежат в `~/.realtycalendar-mcp/` (chmod 600) на вашей машине.
- **Персональные данные гостей** (ФЗ-152) не отправляются никуда, кроме вашего локального зеркала.
- **Нет мутаций в v1** — агент физически не может создать/отменить бронь и тронуть деньги гостя.
- **Опциональный секрет вебхука**: `rc-webhook start --secret …` требует `?secret=` в URL.
## Статус API
Источники расходятся: PR и подрядчик описывают зрелый REST API (JSON, токен, OpenAPI/Swagger,
песочница), а официальная справка по вебхукам отсылает на `partners@realtycalendar.ru`. Вывод:
**API партнёрский/по запросу**, вебхуки — self-serve. Пути в `rc_mcp/endpoints.yaml` помечены
`UNVERIFIED_HYPOTHESIS` и уточняются по реальным докам. `rc_call_raw` бьёт любой путь с первого дня.
## Разработка
```bash
python3 -m pytest -q # 33 офлайн-теста, без токенов и сети
python3 serve.py --selfcheck # загрузка каталога + аудит safety
```
## Часто ищут
как подключить ИИ к RealtyCalendar · MCP сервер посуточная аренда · вебхуки RealtyCalendar ·
дать Claude доступ к календарю бронирований · channel manager API · шахматка броней в чате
## Лицензия
MIT © 2026 Ilya Utov. Архитектурный образец — [marketplaces-mcp-ru](https://github.com/ilyautov/marketplaces-mcp-ru).
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues