Написать в Telegram@Odilient

ИИ И АВТОМАТИЗАЦИЯ

MCP-серверы Bronjoy

Два сервера Model Context Protocol для Bronjoy: публичный, позволяющий ИИ-ассистентам искать заведения в Узбекистане и записываться на услуги, и приватный для каждой компании.

Собственный продукт
Клиент
Локальные услуги
Отрасль
В развитии
Срок
2026
Год
С чего всё началось

Задача

ИИ-ассистенты постепенно становятся привычным способом найти место и записаться, но большая часть каталога Bronjoy — это справочные данные: реальные компании с часами работы и телефоном, но без онлайн-записи. Если ассистент решит, что записаться можно в любое заведение, он пообещает то, чего платформа сделать не может. Кроме того, публичный эндпоинт записи без браузерных проверок сайта позволил бы скриптам создавать фейковые записи в календарях реальных бизнесов.

Что мы сделали

Решение

Мы разработали два MCP-сервера на Laravel MCP прямо в бэкенде платформы. Публичный сервер маркетплейса не требует учётной записи, даёт шесть инструментов, помечает каждое заведение как доступное для онлайн-записи или чисто справочное и создаёт запись только по шестизначному коду, отправленному на телефон или email самого пользователя. Сервер организации даёт каждому бизнесу защищённый токеном эндпоинт только для записи — для собственного ассистента.

Технологии
Laravel MCPModel Context ProtocolLaravel 12PHP 8.4Laravel SanctumMeilisearchPostgreSQLRedis
За кулисами

Как всё создавалось

MCP-серверы для записи на услуги через ИИ-ассистентов

Bronjoy поддерживает Model Context Protocol (MCP), поэтому Claude или любой другой MCP-клиент может искать по каталогу сервисных бизнесов Узбекистана на Bronjoy, отвечать на вопросы о заведении и записывать на услугу. Серверов два — для двух аудиторий: бесплатный публичный сервер по всему маркетплейсу и приватный сервер с авторизацией, к которому бизнес подключает своего ассистента. Оба описаны в публичной документации с готовыми фрагментами настройки для Claude Code и Claude Desktop, а публичный сервер работает и как коннектор в Claude.

Ключевые возможности

Сервер маркетплейса

  • Без аккаунта и токена — эндпоинт Streamable HTTP по адресу https://api.bronjoy.com/api/mcp отдаёт только то, что и так показывает публичный сайт.
  • Шесть инструментов в порядке записи — search-venues, get-venue, reveal-phone, check-availability, request-booking-code и book-appointment.
  • Онлайн-запись или только справка — у каждого результата есть поле is_bookable, а инструкции сервера велят ассистенту прямо говорить, когда в заведение можно только позвонить.
  • Код, которого ассистент не видит — request-booking-code отправляет шесть цифр на email или телефон самого пользователя; пользователь сообщает их ассистенту, а код действует пять минут и годится для одной записи.
  • Честные записи — записи создаются в статусе «ожидает подтверждения» от бизнеса, а заведения с предоплатой возвращают ссылку на оплату.
  • Местные данные как есть — поиск работает и по латинице, и по кириллице, а названия и адреса возвращаются на русском или узбекском, как их написали, — можно сразу показать таксисту.

Сервер организации

  • Доступ по токену — владелец выпускает токен в панели или через API; токен даёт доступ только к одной организации и по умолчанию истекает через 90 дней, максимум — через 365.
  • Инструменты только для записи — list-services, search-availability, create-appointment, check-appointment и cancel-appointment, причём для проверки и отмены нужен номер телефона клиента.
  • Весь контекст за одно чтение — ресурс organization://profile описывает услуги, сотрудников, филиалы, часовой пояс и валюту, а промпт booking-assistant начинает диалог о записи.

Архитектура и безопасность

Оба сервера — это классы Laravel MCP, зарегистрированные рядом с REST-маршрутами бэкенда на Laravel 12, поэтому инструменты вызывают те же сервисы поиска, свободного времени и записи, что и сайт. Каждый инструмент объявляет MCP-аннотации — только чтение, идемпотентный или деструктивный, — чтобы клиент отличал поиск от записи данных.

Публичному серверу понадобилась собственная защита от злоупотреблений. На сайте эндпоинт отправки кода закрыт Cloudflare Turnstile, который MCP-клиент пройти не может, поэтому сервер ограничивает каждого вызывающего 30 запросами в минуту, 10 раскрытиями телефона в минуту и 10 отправками кода в час — поверх уже существующего лимита на одного получателя. В get-venue номера телефонов замаскированы и появляются только через reveal-phone, а ассистенту предписано вызывать его только для заведения, которое выбрал пользователь.

Публичный сервер вышел вместе с исправлением гостевой записи на сайте. Старый сценарий сначала создавал запись, а код отправлял потом, так что имени и любого номера телефона хватало, чтобы поставить реальную запись в календарь партнёра. Теперь сервис подтверждения требует код до того, как что-либо записано, а MCP-инструменты вызывают тот же сервис, поэтому ассистент не может записать на условиях, недоступных браузеру.

Токены организаций — это токены Laravel Sanctum, которые middleware привязывает к одной организации, с лимитом 60 запросов в минуту на токен и 120 на организацию, а каждая операция записывается в журнал аудита. Доступ бизнеса к MCP — функция платного тарифа.

Сроки и наша роль

Сервер организации мы сделали в феврале 2026 года как первую итерацию ИИ-интеграции Bronjoy, а публичный сервер маркетплейса добавили в августе 2026 года — на следующий день после запуска маркетплейса. Мы спроектировали контракты инструментов и инструкции, реализовали серверы и лимиты и написали публичную документацию.

Смежные работы

Эта работа — часть нашей услуги внедрения ИИ и автоматизации. Заведения, по которым ищет сервер, поступают из пайплайна бизнес-каталога Bronjoy, а то же правило — никогда не заявлять о действии, которого не было, — лежит в основе ИИ-администратора Bronjoy.

Создадим вместе

Хотите что-то вроде MCP-серверы Bronjoy?

Расскажите, что должен делать ваш продукт. Мы определим объём работ, распишем сроки и пришлём фиксированную цену — бесплатно и без обязательств продолжать.

Бесплатная консультация Без обязательств Быстрый ответ