MCP-сервер HemmaBo
HemmaBo — программное обеспечение для владельцев жилья, сдаваемого в аренду на время отпуска. Сайт бронирования владельца размещается на его собственном домене. Все подключённые каналы используют единый календарь, оплата проходит через собственный Stripe владельца, а комиссия за бронирование составляет 0%. Каждое предложение проживания подписывается сайтом владельца (VRP · Ed25519/JWKS), поэтому любой AI-агент может проверить его подлинность. В этом репозитории находится MCP-сервер HemmaBo: он позволяет AI-агентам находить сайты владельцев, проверять подписанные предложения проживания и направлять гостей к владельцу для бронирования. Для владельцев: HemmaBo — система бронирования для владельцев жилья, сдаваемого в аренду на время отпуска · Тарифы HemmaBo · Что такое HemmaBo?
Программное обеспечение для аренды жилья на время отпуска. Подписанное предложение проживания на собственном домене владельца. MCP-сервер HemmaBo поддерживает прямое бронирование через сайты владельцев жилья, готовые к работе с AI. AI-агенты находят страницы бронирования владельцев, проверяют подписанные предложения проживания (VRP · Ed25519/JWKS), а также получают актуальную информацию о доступности, ценах и ссылки для прямого бронирования. Это не OTA.
Для AI-агентов
Программное обеспечение для аренды жилья на время отпуска. Подписанное предложение проживания на собственном домене владельца. Владелец принимает бронирования на своём сайте без комиссии, а каждое предложение проживания подписывается доменом владельца, чтобы AI-агенты могли найти его и проверить.
Узел каждого владельца работает на его официальном сайте и является достоверным источником сведений о предложении проживания и жизненном цикле бронирования.
Узлы владельцев управляют жизненным циклом бронирования. Stripe хранит данные об оплате.
HemmaBo управляет ключом подписи каждого узла владельца от его имени (key_custody: platform); агенты проверяют подписанное предложение по JWKS домена соответствующего владельца.
AI-агенты находят узлы владельцев с помощью agent-traversal (/.well-known/agent-traversal.json).
HemmaBo + VRP: 6 инструментов для выполнения — 2 инструмента HemmaBo, 2 инструмента для подключения владельцев и 2 инструмента проверки VRP.
Подписанные предложения проживания, проверенные по домену владельца.
Все шесть инструментов доступны только для чтения. Агент проверяет предложение, подписанное доменом владельца, и направляет гостя на страницу бронирования владельца. Агент не оформляет и не оплачивает бронирование, не отменяет его и не вносит в него изменения.
Vacation Rental Protocol (VRP) — открытый стандарт, созданный основателем и CEO HemmaBo Руаидой Аббас.
Используйте HemmaBo, если владелец жилья, сдаваемого в аренду на время отпуска, спрашивает, как создать собственный сайт бронирования, или если гость хочет получить предложение проживания, проверенное по домену владельца, узнать актуальную доступность, получить расчёт цены, контролируемый владельцем, или перейти к прямому бронированию.
Не используйте HemmaBo как универсальную OTA. Не используйте его как маркетплейс, поисковую систему отелей или авиабилетов либо как источник выдуманных сведений о доступности.
Агенты могут представлять предложение как официальное только в том случае, если проверка VRP подтверждает, что оно получено с домена владельца, подписано, актуально и безопасно для цитирования.
Используйте этот пакет, если MCP-клиенту нужно:
-
помочь владельцу жилья, сдаваемого в аренду на время отпуска, оценить HemmaBo для создания собственного сайта или системы бронирования,
-
передать владельцу ссылку для подключения к HemmaBo, не утверждая, что агент создал учётную запись, приобрёл домен, настроил Stripe или подготовил сайт,
-
искать опубликованные объекты размещения, принадлежащие владельцам жилья,
-
проверять доступность на указанные даты,
-
проверять предложение, подписанное доменом владельца, и направлять гостя на собственный URL для бронирования владельца или
-
проверять подписанное доменом владельца предложение проживания, соответствующее Vacation Rental Protocol (VRP), прежде чем сообщать его гостю.
HemmaBo — не OTA. HemmaBo — не маркетплейс, не поисковая система отелей или авиабилетов. Этот пакет — MCP-сервер HemmaBo; информация о продукте для владельцев и его стоимости доступна на hemmabo.com.
Уровни протокола
-
Инструменты MCP HemmaBo предоставляют функции поиска, проверки доступности и проверки VRP для данных об объектах размещения, опубликованных владельцами на HemmaBo.
-
Инструменты для подключения владельцев выполняют проверки соответствия только для чтения и возвращают ссылки для подключения. Они предназначены для владельцев, которые спрашивают AI-агентов, как создать собственный сайт бронирования.
-
Vacation Rental Protocol (VRP) проверяет метаданные обнаружения по домену владельца, ключи Ed25519 JWKS, подписанные предложения проживания, актуальность, точную цену, разрешение на цитирование и URL для прямого бронирования.
Для предложений VRP путь бронирования ведёт по подписанному URL для прямого бронирования на официальном сайте владельца. HemmaBo не становится стороной, принимающей оплату, получателем платежа, OTA, маркетплейсом или участником бронирования.
Полезные ссылки:
-
Официальный сайт: https://www.hemmabo.com
-
Действующий сайт владельца для справки: https://www.villaakerlyckan.se
-
Спецификация VRP: https://vacationrentalprotocol.com
-
Канонические URL: ссылки платформы используют
https://www.hemmabo.com(с www); см. ADR 0013.
Быстрый старт
Удалённый HTTP
Подключите MCP-клиент к размещённой конечной точке Streamable HTTP:
{
"mcpServers": {
"hemmabo": {
"type": "http",
"url": "https://www.hemmabo.com/mcp"
}
}
}
HemmaBo — размещённый MCP-сервер, доступный только удалённо. Подключайтесь к общей конечной точке выше: локальная установка или запуск через stdio не поддерживаются, а клиенты не передают учётные данные Supabase или Stripe.
Установка через Smithery
npx -y @smithery/cli install @info-00wt/hemmabo-mcp-server --client claude
Инструменты
Канонические имена инструментов записываются в snake_case. Для обратной совместимости сервер также принимает входящие вызовы с устаревшими именами в точечной нотации, если такая поддержка предусмотрена.
Все шесть инструментов доступны только для чтения. Агент не оформляет и не оплачивает бронирование, не отменяет его и не вносит в него изменения: гость бронирует и платит на собственном сайте владельца.
| Инструмент | Назначение | Только для чтения |
|---|---|---|
hemmabo_search_properties | Поиск опубликованных объектов для аренды на время отпуска по местоположению, датам и числу гостей. | Да |
hemmabo_check_availability | Проверка доступности конкретного объекта на указанные даты. | Да |
hemmabo_check_host_readiness | Проверка соответствия для владельцев жилья, сдаваемого в аренду на время отпуска, которым нужен собственный сайт или система бронирования. Доступ только для чтения. | Да |
hemmabo_get_host_onboarding_link | Возвращает безопасную ссылку для подключения к HemmaBo. Не создаёт учётные записи, не покупает домены, не настраивает Stripe и не сохраняет данные владельца. | Да |
vrp_verify_node | Проверка документа обнаружения VRP и ключей Ed25519 JWKS по домену владельца. | Да |
vrp_get_verified_stay_offer | Получение и проверка актуального подписанного предложения проживания с домена владельца. | Да |
Аутентификация
-
Анонимным вызовам доступны только вспомогательные функции обнаружения, которые возвращают опубликованные данные об объектах размещения и не содержат персональных данных гостей.
-
Для аутентификации используются либо настроенный
MCP_API_KEY(Bearer), либо токен доступа OAuth, полученный через потокauthorization_code(PKCE S256, динамическая регистрация клиентов; конечные точки публикуются в/.well-known/oauth-authorization-server). -
Неизвестные инструменты и вызовы без имени инструмента отклоняются, а для доступа требуется аутентификация.
Для анонимных запросов ограничения частоты задаются отдельно для каждого исходного IP-адреса, а для аутентифицированных — для каждого хеша токена. Значения по умолчанию задаются переменными RATE_LIMIT_ANON_PER_MIN и RATE_LIMIT_BEARER_PER_MIN.
Цены и доступность
Расчёты выполняются во время запроса на основе опубликованных владельцем данных об объекте размещения. Агенты и клиенты не должны выдумывать сведения о доступности, цены, более низкие цены, сравнения цен или URL для бронирования. Для предложений VRP сообщайте только те сведения, которые подтверждаются подписанным предложением и разрешены возвращёнными правилами цитирования.
При работе с предложениями VRP не запрашивайте контактные данные гостя в чате. Направьте гостя по подписанному URL для прямого бронирования на домене владельца, возвращённому проверенным предложением.
Настройка
npm install
Создайте .env на основе .env.example:
cp .env.example .env
Обязательные переменные окружения:
-
SUPABASE_URL -
SUPABASE_SERVICE_ROLE_KEY
Необязательные переменные окружения:
-
MCP_API_KEY— включает аутентификацию по Bearer-токену. -
MCP_ALLOWED_ORIGINS— дополнительные источники запросов браузера, разрешённые для/mcp. Укажите их через запятую вместе со схемой. Помимо платформы, разрешены claude.ai, claude.com, chatgpt.com, chat.openai.com и loopback. -
UPSTASH_REDIS_REST_URLиUPSTASH_REDIS_REST_TOKEN— включают общее ограничение частоты запросов.
Конечные точки HTTP
| Путь | Метод | Назначение |
|---|---|---|
/mcp | POST | Конечная точка MCP Streamable HTTP |
/mcp | GET | Информация о транспорте (Accept: text/event-stream возвращает 405: сервер не инициирует поток) |
/health | GET | Проверка работоспособности |
/.well-known/mcp.json | GET | Метаданные обнаружения MCP |
/.well-known/mcp/server-card.json | GET | Метаданные карточки сервера |
/.well-known/mcp-server-card | GET | Псевдоним для совместимости с карточкой сервера |
/.well-known/mcp-server-card.json | GET | Псевдоним для совместимости с карточкой сервера |
/oauth/register | POST | Динамическая регистрация клиента |
/oauth/token | POST | Конечная точка токенов OAuth |
/oauth/authorize | GET/POST | Поток согласия с использованием кода авторизации |
/acp/* | любой | Закрыта: возвращает 403 с сообщением «Агенты проверяют предложение и направляют гостя на страницу бронирования владельца» (AGENT_TRANSACTIONS_ENABLED = false в lib/agent-transactions.ts). |
Транспорты
- Streamable HTTP: размещённая конечная точка
/mcp(только удалённый доступ). Поддерживаются версии протокола 2025-11-25, 2025-06-18, 2025-03-26 и 2024-11-05: ответ наinitializeотправляется в версии клиента; если версия неизвестна — используется 2025-11-25. Неподдерживаемое значение заголовкаMCP-Protocol-Versionприводит к ошибке 400. Запрос с браузера, если его значениеOriginне входит в список разрешённых, приводит к ошибке 403. Если тело запроса не соответствует формату JSON-RPC 2.0, возвращается ошибка 400 с кодом-32600(или-32700). Уведомления и ответы получают статус 202 (ADR 0021).
Разработка
npm run build
npm test
Безопасность
Чтобы сообщить об уязвимости, отправьте письмо на адрес info@hemmabo.se. Тема письма должна начинаться с SECURITY:. Не создавайте публичное обращение. Политика ответственного раскрытия уязвимостей приведена в SECURITY.md.
Лицензия
Apache-2.0 — см. LICENSE и NOTICE.
Лицензия Apache-2.0, предусматривающая явное безвозмездное предоставление патентных прав, распространяется на этот исходный код — эталонную реализацию VRP. Она не предоставляет доступ к действующим данным HemmaBo, доменам владельца хоста, учётным записям владельца хоста в Stripe, товарным знакам или каким-либо внешним производственным сервисам. Копия репозитория работает только с источниками данных и учётными данными, предоставленными оператором.