ostrov-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ostrov-mcp get the Ostrov catalog and calculate a quote for 2 guests in July"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Ostrov public API
Official API of the Ostrov retreat center in Karelia, Russia: public information, current accommodation rates, calendars and preliminary quotes. Remote read-only MCP and a Python client are available. A quote never confirms availability or a booking.
Официальный интерфейс ретритного центра «Остров» в Карелии для внешних агентов и приложений: сведения, тарифы, события, предварительный расчёт, собственная смета и заявка.
API: https://ostrov.center/api/public/v1
Исходники: https://github.com/iia-arg/ostrov-public-api · Версия 0.2.0
Документация: https://ostrov.center/developers · OpenAPI 3.1 · Скилл · Первый сценарий · Доступ и ограничения
Чтение и расчёт доступны без ключа. Сервер считает по тем же правилам, что калькулятор сайта. Возможность заезда подтверждает центр: пустой календарь, смета и поданная заявка сами по себе не подтверждают бронь. Стоимость авторской программы уточняйте у организатора.
Скачать клиентский комплект ZIP.
Python без установки
Python 3.10 или новее, внешних runtime-зависимостей нет. Скачайте ZIP выше или получите исходники:
git clone https://github.com/iia-arg/ostrov-public-api.git
cd ostrov-public-api
git checkout v0.2.0Из корня комплекта:
python3 examples/quote.pyПример берёт актуальный демонстрационный план и рассчитывает его, ничего не сохраняет. Укажите свои даты и состав в плане перед реальным расчётом.
from ostrov_api import Client
api = Client()
catalog = api.get_catalog()
example = api.get_examples()['examples'][0]
result = api.calculate_quote(**example)
print(result)Для установки в своё виртуальное окружение: python3 -m pip install .. Команда ostrov-mcp появится после установки. Сохранение требует явного запроса человека; методы перечислены в ostrov_api/client.py и OpenAPI. Client.open_session() сохраняет токен в client.token, но возвращает только несекретные метаданные. При первом сохранении клиент открывает сессию автоматически. Не печатайте client.token.
Related MCP server: EuroVDC MCP Server
Удалённый MCP — без установки Python
Адрес: https://ostrov.center/api/public/v1/mcp. Транспорт: Streamable HTTP, авторизация не требуется. В настройках MCP/коннекторов своего приложения добавьте этот URL и разрешите использование инструментов. Названия меню зависят от приложения; регистрация в каталоге не означает автоматического подключения.
Например, для Codex:
codex mcp add ostrov --url https://ostrov.center/api/public/v1/mcpДля Claude Code:
claude mcp add --transport http ostrov https://ostrov.center/api/public/v1/mcpВ ChatGPT и Claude используйте добавление собственного удалённого MCP/коннектора, если оно доступно в вашем плане и разрешено администратором. Обычному текстовому чату без HTTP или подключаемых инструментов одной ссылки недостаточно.
Удалённое подключение предоставляет только get_center, get_catalog, get_objects, get_calendar, get_events, calculate_quote, suggest_group. Оно не принимает токены гостевых сессий, не сохраняет сметы, не отправляет заявки и не возвращает частные документы. Для сохранения по просьбе человека остаются HTTP-клиент и локальный stdio MCP ниже.
Сервер stateless: без MCP-Session-Id. JSON-RPC запросы отправляются POST; GET возвращает 405, серверных SSE-потоков нет. Поддерживаются версии 2025-06-18, 2025-11-25; после initialize передавайте согласованный MCP-Protocol-Version. Accept должен включать application/json, text/event-stream. Предел тела 65 536 байт; общий предел MCP — 300 запросов за 60 секунд на адрес, плюс ограничения REST для чтения/расчёта. При 429 следуйте Retry-After. В журнал попадают только имя инструмента и статус, без параметров плана.
Проверка подключения: прочитать каталог, рассчитать согласованные даты и состав, объяснить итог из серверного total. Не переносите услуги из примера как выбор пользователя. Наличие места требует подтверждения центра.
MCP по stdio
Пример конфигурации клиента, поддерживающего локальные stdio MCP-серверы:
{
"mcpServers": {
"ostrov": {
"command": "python3",
"args": ["/absolute/path/to/ostrov-public-api/tools/ostrov_mcp.py"]
}
}
}Замените путь на фактический путь скачанного комплекта. При установленном Python-пакете можно использовать command: "ostrov-mcp" без args. Этот пример не универсален: формат и разрешение запуска локальных серверов зависят от приложения. Для облачных клиентов используйте удалённый MCP, описанный выше.
Поддерживаются версии протокола 2025-06-18 и 2025-11-25, initialize, ping, tools/list и tools/call. Вызовы инструмента без JSON-RPC id не выполняются. Инструменты чтения/расчёта не отправляют секрет. Сохранение и заявка требуют userConfirmed=true; заявка — также consent=true после согласия человека. Токен созданной сессии остаётся в памяти MCP-процесса; после перезапуска без сохранённого токена API-доступ к прежним документам не восстановится. Человеческие ссылки сохраняются. Существующий токен можно передать безопасным механизмом среды приложения в OSTROV_API_TOKEN.
OSTROV_API_BASE_URL меняет адрес API для локального теста. Не передавайте токен другому серверу. HTTP разрешён клиентом только для loopback; обычный доступ — HTTPS. Клиент не следует перенаправлениям и не повторяет запросы автоматически. Сетевой таймаут — 20 секунд.
Состав и проверка
Здесь только внешний контракт, инструкции, клиент, адаптер и их тесты. Backend и данные гостей не входят в комплект.
python3 -m unittest discover -s tests -v
python3 tools/generate_contract.pyГенератор обновляет OpenAPI и MCP input schemas из одного определения. Изменения тарифов не требуют обновления клиента — читайте /catalog при расчёте. Поле quote может получить новые поясняющие поля в рамках v1; проверяйте известные обязательные признаки, а не фиксированный набор всех ключей.
Версия комплекта: 0.2.0. Лицензия клиентского кода — MIT (текст LICENSE в скачанном комплекте). Это не лицензия на материалы, фотографии или персональные данные сайта. Об ошибке интеграции сообщите по публичным контактам /center, без токенов, частных ссылок и контактов гостей.
Available Tools
12 toolscalculate_quoteBRead-onlyIdempotentInspect
Calculate without saving or contacting anyone. Check complete, warnings and availabilityStatus.
Inputs: kind (required), plan (required), catalogVersion.
edit_estimateADestructiveIdempotentInspect
Edit an owned draft after explicit user request; stale versions conflict.
Inputs: plan (required), estimateId (required), requestKey (required), userConfirmed (required), +2 more.
get_applicationBRead-onlyIdempotentInspect
Read the actual state of the session-owned application.
Inputs: applicationId (required).
get_calendarCRead-onlyIdempotentInspect
Confirmed public activity; empty dates do not mean availability.
Inputs: end (required), start (required).
get_catalogBRead-onlyIdempotentInspect
Current tariff version, resources and rules. Do not cache prices as permanent knowledge.
Inputs: no named parameters.
get_centerCRead-onlyIdempotentInspect
Public location and contact information.
Inputs: no named parameters.
get_estimateCRead-onlyIdempotentInspect
Read only a document owned by this session.
Inputs: estimateId (required).
get_eventsCRead-onlyIdempotentInspect
Public programs and labeled demo data; contact the organizer to ask about joining.
Inputs: no named parameters.
get_objectsBRead-onlyIdempotentInspect
Current public resource descriptions and availability rules; no guarantee of open places.
Inputs: no named parameters.
save_estimateAIdempotentInspect
Save after explicit user request. Group/biggroup require organizer and retreat title; resident requires guest name. Confidential human link returned.
Inputs: kind (required), plan (required), requestKey (required), userConfirmed (required), +1 more.
submit_applicationAIdempotentInspect
Submit only after user confirmation and contact consent. This does not confirm a booking.
Inputs: consent (required), estimateId (required), requestKey (required), userConfirmed (required), +3 more.
suggest_groupBRead-onlyIdempotentInspect
Suggest room/program selection for the ordinary group tariff; not an availability check.
Inputs: kind (required), plan (required), catalogVersion.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 12 tools
Most tools have clearly distinct resource+action targets, and the descriptions proactively disambiguate (e.g. calculate_quote 'without saving', suggest_group 'not an availability check'). The weakest boundary is the read cluster get_events / get_calendar / get_objects, which all describe public schedule/resource information and could be confused by an agent, as could calculate_quote vs suggest_group for advisory tasks.
Every tool follows a strict verb_noun snake_case pattern (get_events, calculate_quote, save_estimate, submit_application). The estimate lifecycle uses a coherent get/save/edit triplet, making the convention highly predictable.
12 tools sit comfortably in the well-scoped range, and each maps to a distinct stage of the workflow: discovery, quoting, estimate drafting, and application submission. No tool looks like filler or a duplicate alias.
The surface covers discovery, quoting, estimate CRUD (save/get/edit), and application submit/get, but there are notable gaps: no tool actually checks availability despite repeated disclaimers that other tools do not, and there is no cancel/withdraw or update path for a submitted application, nor a list/delete for estimates. Agents hitting these dead ends will have to fall back on contacting the organizer.
Maintenance
Related MCP Connectors
Read Evenium events, guests, contacts and hotels; register guests and update contacts and statuses.
Read-only hotel server: room availability and prices, hotel facts, public events. Normandy, France.
Customer-facing yacht search and charter request MCP server by Sedna System.
Structured B2B supply search, quoting, sandbox orders and fulfillment status for agents.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides tools to check room availability, create bookings with automatic price calculation, and list bookings. Uses in-memory data with no authentication for demo purposes.ISC

EuroVDC MCP Serverofficial
AlicenseBqualityCmaintenanceEnables browsing EuroVDC's live hosting catalog, searching domains, receiving AI server recommendations, and performing agent-assisted checkout via remote HTTP or stdio.14MIT- AlicenseAqualityCmaintenanceEnables MCP clients to search availability, read services, resources, bookings and customers, and, when writes are enabled, reserve slots, create or cancel bookings, and add or update customers.10MIT
- AlicenseAqualityCmaintenanceEnables MCP clients such as Claude and ChatGPT to read events, performances, seating, packages, visits, transactions, and organisation context from a ticketing channel, and, when writes are enabled, create and release reservations.10MIT