SOS

У Ведара есть публичный MCP-сервер для ИИ-агентов

Endpoint: https://vedarai.ru/api/mcp

English instructions ↓

Transport: Streamable HTTP (JSON-RPC 2.0) · Auth: не требуется

Возможности: туры, реальная доступность мест, безопасность маршрутов, погода, жильё, трансферы, планирование поездки и заявки с подтверждением человеком.

Манифест: /.well-known/mcp.json · Описание для LLM: /llms.txt · Версия: 2.10.1

Vedar — Kamchatka travel. Kamchatka, Russia travel: tours, hotels, transfers, volcano status, safety, booking requests. Streamable HTTP, no auth.

Vedar 堪察加 — 堪察加旅游信息门户。Vedar 堪察加(vedarai.ru,俄文名 Ведар Камчатка)是俄罗斯堪察加半岛的旅游信息门户,不是旅行社,也不是旅游运营商。向 AI 代理开放 MCP 服务器与 A2A 接口:本地运营商的团队游及其真实余位、地点与路线的安全信息和当前状况(火山、地震、天气预警)、住宿、装备租赁、接送、天气、行程规划。新建记录只有六种申请(整趟行程 create_trip_request、选团 create_lead、指定团和日期的预订申请 create_booking_request、住宿申请 create_stay_request、包车申请 request_charter、租车申请 create_car_rental_request),均由人工确认;change_request 凭申请密钥取消或改期团队游申请(运营商未回复时立即生效,已回复则转为向运营商提出请求),无在线支付,无需认证,按 IP 限流。接口返回的名称与说明为俄文,工具参数以俄文或英文为佳。中文页面另列价格、时长与季节。堪察加紧急电话:112。 中文接入说明(Qwen、Kimi、扣子、GLM 等) · llms-zh.txt

В каталогах MCP

MCP Registry (registry.modelcontextprotocol.io)

ru.vedarai/mcp

Smithery

tourhabk/vedar

Подключение: npx -y smithery mcp add tourhabk/vedar

Для A2A-агентов

Тот же агент по протоколу Agent2Agent (A2A 1.0) — для фреймворков и песочниц без MCP-клиента. Текстом отвечает Кузьмич с теми же инструментами; точный вызов инструмента — DataPart с полями tool и arguments. Заявки те же четыре, подтверждает человек.

Визитка: /.well-known/agent-card.json (для клиентов 0.3 — /.well-known/agent.json)

JSON-RPC: https://vedarai.ru/api/a2a · REST: https://vedarai.ru/api/a2a/v1 · версия — заголовок A2A-Version

Без MCP и A2A: REST и OpenAPI

GPT Actions, Copilot Studio и OpenAPI-наборы фреймворков читают описание OpenAPI 3.1: в нём REST-биндинг A2A (любой инструмент одним POST), публичные читающие эндпоинты и входы обнаружения. Авторизации нет; запись — те же четыре заявки, подтверждает человек.

OpenAPI: /openapi.json · каталог API (RFC 9727): /.well-known/api-catalog

Инструменты (25)

get_tours

Use when the user asks about Kamchatka (Russia) tours: operator tours with prices and dates; live availability via get_tour_availability. One tour in depth: get_tour_details. Получить активные туры из платформы Ведар с ценами и датами. Используй когда турист спрашивает о конкретных турах или программах. У каждого тура — компания; порядок — правило платформы, названное в ответе (сначала со свободными местами по ближайшей дате, остальные раз в сутки по жребию), а не рекомендация.

get_tour_details

One Kamchatka tour in depth: program, what is included, what to bring, safety notes. A company or guide name returns a tour list and their page instead. To list or search tours use get_tours. Полные детали КОНКРЕТНОГО тура: описание, программа, точка сбора и логистика (старт/забор), что входит и не входит, что взять с собой. Используй ВСЕГДА, когда турист спрашивает про конкретный тур — что там по программе, откуда стартуют, где сбор, что взять. Не выдумывай эти детали сам — бери отсюда. Назвал компанию или гида, продающих туры, — ответ: список туров и адрес их страницы, а не один тур (имя из общих слов или только часть имени — в списке и туры других компаний по тем же словам). Совпала только часть слов запроса — ответ так и говорит и даёт список: не называй эти туры подходящими.

get_guardian_context

Kamchatka safety context for a place or route: place status, hazards, active alerts; a catalog route with no place record gets today's go/caution/no call and park permit terms. Facts: get_place_info. Получить полный контекст места как Хранитель: статус (открыто/закрыто), реалтайм алерты КБГС РАН, опасности, загрузка, традиционные знания о месте. Места с таким названием нет, а маршрут каталога есть — оценка маршрута на сегодня (идти / осторожно / не сегодня) с причиной, та же, что на его карточке, и условия посещения его охраняемой территории (разрешение парка), как они записаны в базе. Нет и маршрута по точным словам, а похожее название в каталоге есть — назовёт его с пометкой о неточном совпадении. Используй ВСЕГДА когда спрашивают о конкретном месте, вулкане, озере, маршруте, источнике Камчатки.

get_place_info

Kamchatka place facts on record: type, coordinates, altitude, hazards, distance to medical help, satellite comms, MChS registration, tours by company. No live alerts — use get_guardian_context. Найти базовую информацию о месте из базы данных: тип, координаты, ссылка на страницу места на сайте (её и давай, когда просят ссылку или координаты). Отдаёт все предложения туров к месту с компанией у каждого; порядок — правило платформы, названное в ответе. Места с таким названием нет, а маршрут каталога есть — назовёт маршрут, его данные и условия посещения его охраняемой территории (разрешение парка); есть только похожее название маршрута — назовёт его подсказкой. Для полного контекста с безопасностью и алертами — get_guardian_context.

get_weather

Daily weather forecast (Open-Meteo) for a Kamchatka place by name, or for any point by latitude/longitude. Прогноз погоды по дням (Open-Meteo) для места Камчатки по имени или для любой точки по координатам. Без аргументов — Петропавловск-Камчатский; в горах погода другая, поэтому место лучше назвать.

get_volcano_status

Use when the user asks about Kamchatka volcano activity: KVERT aviation code and KB GS RAS seismicity. No name — all elevated. One place or route: get_guardian_context. Вулканическая активность Камчатки по двум шкалам: авиационный код KVERT (пепел) и сводка сейсмичности КФ ЕГС РАН. Без названия — вулканы, повышенные хотя бы по одной шкале; с названием — этот вулкан по обеим. Для безопасности конкретного места и маршрута — get_guardian_context.

search_accommodations

Use when the user asks about hotels or accommodation in Kamchatka, Russia: stays from platform partners. To send dates and guests to a stay owner use create_stay_request. Найти жильё на Камчатке (гостиницы, базы, глэмпинг, дома) из платформы Ведар с ценами и адресами. Используй когда турист спрашивает где остановиться, переночевать, снять жильё.

search_transfers

Use when the user asks about Kamchatka transfers: whole-vehicle charters (vakhtovka, minibus, jeep), price per vehicle by destination or hour/day, not per seat. Request: request_charter. Трансфер по Камчатке — машина целиком под заказ у перевозчика (вахтовки, микроавтобусы, джипы): прайс по направлениям или за час и за день работы машины, цена за машину целиком, не за место. Используй, когда турист спрашивает, как доехать, есть ли трансфер или заброска, сколько стоит вахтовка, микроавтобус или джип к вулкану, источникам, озеру, в аэропорт. Места в машине платформа не продаёт: дату и направление задаёт заказчик, машину с перевозчиком подтверждает менеджер Ведара, расчёт — напрямую с перевозчиком. Рейсов, свободных мест и цен, которых нет в ответе, не выдумывай.

search_car_rental

Use when the user wants to rent a car, SUV, 4x4 or minibus in Kamchatka (car rental, car hire): self-drive, price per day, deposit. With a driver: search_transfers. Request: create_car_rental_request. Прокат автомобилей на Камчатке — машина БЕЗ водителя у прокатчиков платформы: внедорожники, микроавтобусы, вездеходы; цена за сутки за машину по прайсу, залог, условия прокатчика; у части машин водитель возможен по желанию за отдельную плату. Используй ВСЕГДА, когда турист хочет арендовать или взять напрокат машину, авто, автомобиль, джип, внедорожник, 4x4, микроавтобус, вездеход, «rent a car», «car rental», «car hire», «SUV», спрашивает цену за сутки или залог — сначала этот поиск, не сторонние прокаты и не догадки. Машину за туриста не бронирует: заявка — формой на странице прокатчика, подтверждает менеджер Ведара, расчёт — напрямую с прокатчиком. Машин, цен и условий, которых нет в ответе, не выдумывай. Машина с водителем целиком — это трансфер, search_transfers.

search_gear

Gear rental in Kamchatka from platform partners. An empty result is normal: the rental shelf may have no partners yet, and the answer says so — do not invent rental shops. Найти прокат туристического снаряжения на Камчатке из платформы Ведар с ценами за сутки. Используй когда турист спрашивает где арендовать/взять напрокат снаряжение: палатку, спальник, треккинговые палки, рюкзак, кошки, газовую горелку и т.д. Пустая выдача — норма: прокатов на платформе пока может не быть вовсе, ответ так и скажет; адреса прокатов не выдумывай.

safety_status

Kamchatka regional safety status: active alerts (seismic, volcanic, weather, MChS) with their source and dates, plus elevated volcanoes (KVERT, KB GS RAS). Текущая обстановка по Камчатскому краю целиком: активные предупреждения, их количество и тяжесть, у каждого пункта ленты — когда он появился и до какого числа стоит в ленте, вулканы с повышенной активностью (KVERT, КФ ЕГС — отдельная шкала), свежесть данных и источник верхнего предупреждения (ленты: КБГС РАН и ЕГС РАН — сейсмика, USGS, МЧС по Камчатскому краю, Росгидромет — погода, NASA FIRMS — пожары). Используй, когда спрашивают, безопасно ли сейчас ехать или что происходит в крае. Для конкретного места используй get_guardian_context.

make_trip_plan

Day-by-day Kamchatka trip plan with live availability and season warnings; returns a plan ID for edit_trip_plan. No forecast: use get_weather. Собрать план поездки по Камчатке по дням: зоны, активности, честные цены, предупреждения сезона, ориентир цены на человека с разбивкой. Используй, когда туриста интересует «что посмотреть за N дней», «составь маршрут/план поездки», «как спланировать неделю на Камчатке». Ответ содержит ссылку на страницу этого плана с заявкой на туры и, если найден, на похожий план-образец (он собран на двоих взрослых и на свои даты). Ответ несёт ID плана: добавить, убрать, переставить или заменить день, сменить уровень жилья или состав группы, сдвинуть поездку на другие даты, учесть задержку рейса — через edit_trip_plan с этим ID, остальные дни не меняются. Другие интересы или стиль поездки — вызови make_trip_plan снова с прежними аргументами плюс изменение.

edit_trip_plan

Edit a Kamchatka trip plan from make_trip_plan by its ID: add, remove, move or replace a day, change lodging or group, shift the whole trip, apply a flight delay; untouched days stay. Изменить план поездки, собранный make_trip_plan, по его ID: добавить день с занятием («добавь день рыбалки»), убрать, переставить или заменить день («вместо вулкана — рыбалка», replace_day), сменить уровень жилья («замени жильё на базу», «подешевле»), сменить состав группы («нас трое», «с нами ребёнок 6 лет», set_party), сдвинуть всю поездку («на неделю позже», «с 20 июля», shift_dates), учесть задержку рейса («рейс задержали на два дня» — flight_delay). Дни, которых правка не касается, не меняются; у туров, чьи дни сменили дату или группу, места и цена перечитываются, при сдвиге дат — и закрытия парков, и сводки МЧС. Невозможная правка (день прилёта, занятие не по возрасту детей, не сезон в новые даты, движок не нашёл выхода) — отказ с причиной, план остаётся прежним. План хранится 7 дней; нет плана — сначала make_trip_plan.

get_tour_availability

Use when the user asks if a Kamchatka tour has free seats: live availability by date, free seats and nearest open dates. Then booking via create_booking_request. Свободные даты и места КОНКРЕТНОГО тура из реальной занятости мест. Используй всегда, когда турист спрашивает «когда есть места», «свободно ли на дату», «на какие даты можно» — не называй даты и места по памяти, только отсюда. Если в окне мест нет, ответ называет ближайшую свободную дату после окна (в пределах года) и, если окно начинается не с сегодня, — раньше окна.

compare_tours

Side-by-side facts for 2-4 Kamchatka tours on what the user cares about: price or group total, duration, dates, inclusions, cancellation, pickup, operator. No ranking; one tour: get_tour_details. Разложить рядом 2–4 КОНКРЕТНЫХ тура по тому, что важно человеку, — фактами из базы, строкой на каждый тур: цена (с числом людей — итог тем же расчётом, что у get_tour_availability), длительность, группа, сложность, сезон, программа, что входит и не входит, условия отмены, как попасть на тур, оператор и его проверка, ближайшая свободная дата. Туры — номерами через запятую (надёжнее) или названиями через «;»; порядок туров в ответе — как их назвал человек. Оценок нет: у строки только «одинаково», «отличается» или «не сравнить» (у кого-то не записано); лучший тур не называй — выбирает человек. Название подходит турам разных компаний или это имя продавца — сравнения нет, в ответе номера: спроси человека. Тур не с витрины в сравнение не берётся.

search

Keyword search across Vedar Kamchatka: operator tours, places, stays, routes; returns up to 10 results with id for fetch, title and canonical url. For live seats use get_tour_availability. Поиск по витрине Ведара для коннекторов ChatGPT: туры операторов Камчатки, места, жильё и маршруты по словам запроса (русский или английский). Отдаёт до 10 результатов с id для fetch, названием и адресом страницы. Для живой занятости тура и обстановки есть get_tour_availability и safety_status. План поездки по дням search не строит — его собирает make_trip_plan или страница планировщика vedarai.ru/planner.

fetch

Full text of one Vedar Kamchatka record by id from search (tour, place, stay, route): description, price, program, safety facts; route: dated go/caution/no call, permit terms. Published records only. Полный текст одной записи витрины Ведара по id из search (tour:<id>, place:<slug>, stay:<uuid>, route:<slug>): описание, цена и состав тура, факты о месте и его опасностях, жильё, маршрут. У места отдаёт все предложения туров к нему с компанией у каждого; порядок — правило платформы, названное в ответе. У маршрута — оценка на день сборки документа (идти / осторожно / не сегодня) с причиной и датой; позже этой даты её спрашивают заново. Там же — условия посещения охраняемой территории маршрута (разрешение парка), как они записаны в базе. Только опубликованное; записи, которой нет на витрине, — отказ с объяснением.

get_request_status

Kamchatka request status by key from create_lead, create_booking_request, create_stay_request, request_charter, create_car_rental_request, create_trip_request. No personal data. Состояние заявки по ключу статуса из ответа пишущего инструмента (у create_trip_request — ключи частей поездки): ждёт оператора, оператор связался, подтверждена, отказ, другая дата, нет ответа. Заявка на жильё — передана (delivered), после ответа владельца кнопкой — в работе (in_progress) или отказ (declined). Ключ выдаётся на каждую заявку и живёт 90 дней; без ключа состояние не узнать. page — страница заявки для человека: там он сам подтверждает согласие на обработку данных и видит ответ. Ответ туроператора, перевозчика или прокатчика из статуса передайте человеку сами: прочитанный по ключу, выданному при создании заявки, он считается дошедшим, и Ведар человеку о нём больше не сообщает. date — действующая дата (у брони — дата брони сейчас), requested_date — дата из заявки: разошлись — бронь перенесена или заведена на другую дату. Если при создании заявки передан notify_url, об изменении состояния, даты, предложенной даты, тура или числа человек приходит подписанный POST; поле notify показывает, жива ли подписка.

change_request

Cancel a Kamchatka tour request or move it to another date by its status key, only when the person asks: done at once before the operator answers, sent to the operator as a request after. Отменить заявку на тур или перенести её на другую дату — по ключу статуса, который create_booking_request выдал при создании заявки. Вызывайте, только когда человек сам попросил об отмене или переносе. Оператор ещё не ответил — заявка отменяется или дата меняется сразу, оператору уходит сообщение. Оператор уже ответил, есть бронь или договорённость — ему уходит просьба: заявка и бронь не меняются, решает он. Отменённую заявку вернуть нельзя. Перенос — только на дату, где по календарю тура есть места на всех (get_tour_availability), и не больше трёх раз в сутки. Ключ повторного вызова create_booking_request и ключи других заявок (подбор, машина, прокат, жильё) менять заявку не дают — ответ это скажет. Ответ называет исход (outcome), изменилась ли заявка (changed) и кто узнал на деле (told) — передайте человеку как есть. Узнать, что произойдёт, ничего не меняя, — test: true.

create_lead

Tour-selection request for Kamchatka when no tour or date is chosen yet; human-confirmed by a manager, no payment. Needs consent: true, else refused. Whole-vehicle charter: request_charter. Оставить заявку на подбор тура по Камчатке: менеджер платформы свяжется по телефону. Обязательны имя, телефон и описание запроса (даты, состав группы, интересы). Заказ машины целиком (вахтовка, микроавтобус) — не сюда, а request_charter. Это только заявка: оплаты через платформу нет. Имя и телефон — персональные данные: спроси у человека согласие на их обработку и передай consent: true, иначе заявка не создаётся. Необязательный notify_url — адрес вашего приёмника: при изменении заявки на него придёт подписанный POST (Standard Webhooks). Проверить интеграцию или показать заявку, не отправляя её, — test: true: те же проверки, ничего не записывается и никому не уходит; ключ статуса, страница заявки и подписка приходят и в structuredContent (поле requests).

create_booking_request

Use when the user wants to book a Kamchatka tour on a date: live availability checked first, human-confirmed by the operator, no payment. Needs consent: true. No tour yet — use create_lead. Заявка оператору на конкретный тур и дату. Сначала проверь даты через get_tour_availability. Заявку подтверждает оператор по телефону; мгновенной брони нет, оплаты через платформу нет. Подходят туры разных компаний, в tour имя компании или гида либо совпала часть слов — заявки нет: в ответе туры с номерами и компаниями; спроси человека и повтори вызов с номером тура. Нет мест на дату — заявки нет, в ответе ближайшие свободные даты. Запрос оператору вместо отказа, без закрепления мест: у тура нет расписания — ссылку на страницу статуса из ответа передай человеку; группа больше, чем тур берёт на выезд, или группа у тура не ограничена — запрос на всю группу; дату закрыл Ведар, не оператор, — вопрос, ходит ли он в этот день. Имя и телефон — персональные данные: спроси согласие на их обработку и передай consent: true. Необязательный notify_url — адрес вашего приёмника: при изменении заявки на него придёт подписанный POST (Standard Webhooks). Проверить интеграцию или показать заявку, не отправляя её, — test: true: те же проверки, ничего не записывается и никому не уходит; ключ статуса, страница заявки и подписка приходят и в structuredContent (поле requests).

create_stay_request

Kamchatka stay request: dates and guests go to the owner, human-confirmed by the owner, no payment. Needs consent: true, otherwise refused. For tours use create_booking_request. Заявка владельцу жилья на даты: заезд, выезд, сколько гостей, имя и телефон. Объект — из search_accommodations (название или ID из ссылки на карточку). Заявка уходит владельцу в мессенджер, он перезванивает сам и подтверждает даты и цену; это не бронь и не оплата, через платформу жильё не оплачивается. Принимают её только объекты без своих номеров на платформе и без сайта брони — для остальных ответ скажет, где бронировать. Имя и телефон — персональные данные, они передаются владельцу жилья: спроси согласие на это и передай consent: true. Проверить интеграцию или показать заявку, не отправляя её, — test: true: те же проверки, ничего не записывается и никому не уходит; ключ статуса, страница заявки и подписка приходят и в structuredContent (поле requests).

request_charter

Whole-vehicle (vakhtovka, minibus) request to a Kamchatka charter carrier: destination, dates, group size; human-confirmed by a manager, no payment. Needs consent: true. Prices: search_transfers. Заявка на машину целиком (вахтовка, микроавтобус) у перевозчика «под заказ»: куда, на какие даты, сколько человек. Прайс и перевозчиков смотри через search_transfers (раздел «под заказ»). Календаря у таких перевозчиков нет, поэтому заявка не проверяет занятость машин: менеджер Ведара свяжется по телефону, согласует поездку с перевозчиком и подтвердит. Цена — за машину по прайсу перевозчика: по направлениям или за час и за день работы; направления нет в прайсе — заказ принимается, цену называет перевозчик. Оплаты через платформу нет, расчёт напрямую. Имя и телефон — персональные данные, и они уходят перевозчику: спроси согласие на их обработку и передачу и передай consent: true, иначе заявка не создаётся. Необязательный notify_url — адрес вашего приёмника: при изменении заявки на него придёт подписанный POST (Standard Webhooks). Проверить интеграцию или показать заявку, не отправляя её, — test: true: те же проверки, ничего не записывается и никому не уходит; ключ статуса, страница заявки и подписка приходят и в structuredContent (поле requests).

create_car_rental_request

Two-step Kamchatka self-drive car rental request: step 1 returns a draft and confirmation code; step 2 only after the person explicitly agrees. Never set consent yourself. Заявка прокатчику на машину без водителя: какая машина, с какого по какое число, где забрать. Машины и прокатчики — search_car_rental; машину называй так, как в прайсе. Это заявка, не бронь: менеджер Ведара свяжется по телефону и подтвердит с прокатчиком; занятость машин платформа не ведёт, оплаты через платформу нет — расчёт напрямую с прокатчиком. Сначала спроси у человека имя и телефон — не придумывай и не подставляй их. Шаг 1: вызов без confirmation (consent: false) — заявка проверяется, но НЕ создаётся; в ответе черновик и код. Покажи черновик человеку и прямо спроси, согласен ли он на обработку имени и телефона, их передачу прокатчику и отправку заявки. Шаг 2 — только после явного «да» самого человека: тот же вызов с теми же полями, confirmation из ответа и consent: true. Никогда не ставь consent: true сам, без ответа человека. Проба (test: true) проходит те же два шага. Необязательный notify_url — адрес вашего приёмника: при изменении заявки на него придёт подписанный POST (Standard Webhooks). Проверить интеграцию или показать заявку, не отправляя её, — test: true: те же проверки, ничего не записывается и никому не уходит; ключ статуса, страница заявки и подписка приходят и в structuredContent (поле requests).

create_trip_request

Whole Kamchatka trip in one request: tour + stay + charter vehicle under one trip id; each partner sees the rest. Human-confirmed, no payment. Needs consent: true. Одна заявка на поездку целиком: тур на дату и/или жильё на даты и/или машина под заказ (трансфер) — одним вызовом, под общим номером поездки. Передай хотя бы одну часть: tour+tour_date, stay+check_in+check_out, transfer_destination+transfer_date. Каждая часть уходит своему партнёру (оператор тура, владелец жилья, менеджер с перевозчиком), и каждый видит, что ещё заказано в поездке. Перевозчик не назван — машину подберёт менеджер Ведара. Это заявка, не бронь: даты, места и цену подтверждает человек, оплаты через платформу нет. Имя и телефон — персональные данные: спроси согласие и передай consent: true, иначе заявка не создаётся. Необязательный notify_url — адрес вашего приёмника: при изменении заявки на него придёт подписанный POST (Standard Webhooks). Проверить интеграцию или показать заявку, не отправляя её, — test: true: те же проверки, ничего не записывается и никому не уходит; ключ статуса, страница заявки и подписка приходят и в structuredContent (поле requests).

Уведомления об изменении заявки

Необязательное поле notify_url у create_lead, create_booking_request, request_charter, create_car_rental_request, create_trip_request: когда меняются состояние заявки, дата, предложенная оператором дата, тур или число человек, на адрес приходит POST с JSON. Номер подписки (nr_…) и ключ подписи (whsec_…) — в ответе инструмента, один раз. Адрес — только https по имени хоста, порт 443.

Подпись — Standard Webhooks: заголовки webhook-id, webhook-timestamp, webhook-signature «v1,<base64 HMAC-SHA256 от "id.timestamp.тело">», ключ — base64 после whsec_. Отвергайте webhook-timestamp старше 5 минут, повторы отсекайте по webhook-id, а при расхождении верьте снимку с более поздним observed_at.

Ответ приёмника: 2xx — доставлено (ответ туроператора, перевозчика или прокатчика из принятого уведомления передайте человеку сами: по подписке вызова, создавшего заявку, он считается дошедшим до человека). 410 и любой другой 4xx, кроме 408, 425 и 429, отключают подписку с первого ответа, без повторов — проверка подписи на приёмнике должна работать к первому уведомлению. 3xx (редиректам не следуем), 408, 425 и 429, 5xx, таймаут и сетевой отказ — повтор с растущим интервалом; после 7 неудач подряд подписка отключается.

Сверка идёт по расписанию примерно раз в 30 минут, срок не гарантирован; get_request_status отвечает сразу, поле notify в нём показывает, жива ли подписка. В теле нет ни ключа статуса, ни имени и телефона. У заявки на жильё уведомлений нет: её состояние после передачи не меняется.

Подключить одним касанием

Trae CN (trae.cn): Ссылка живым кликом в Trae не проверена. Какой транспорт Trae пробует первым, документация не говорит.

Trae (trae.ai): Ссылка живым кликом в Trae не проверена. Какой транспорт Trae пробует первым, документация не говорит.

Claude.ai, Claude Desktop и мобильный Claude

Customize → Connectors → Add custom connector → URL: https://vedarai.ru/api/mcp → Authentication: No sign-in (без авторизации)

Коннектор хранится в аккаунте: добавленный на сайте, он есть в Desktop и в телефоне. На Free — один свой коннектор; в Team и Enterprise его добавляет владелец организации. Через claude_desktop_config.json Claude Desktop к удалённому серверу напрямую не подключается.

ChatGPT (веб)

chatgpt.com → Plugins → + → Add custom MCP server → Connection: https://vedarai.ru/api/mcp → Authentication: No authentication → отметить риск → Create as a plugin → в чате @ и выбрать плагин. Если раздела Plugins нет (legacy): Workspace settings → Apps → Create (админ) или Settings → Apps → Create → URL → Scan Tools → Create

По справке OpenAI (help.openai.com/en/articles/12584461, 17.10): полный MCP с заявками — Business, Enterprise и Edu, создаёт и публикует админ или владелец воркспейса; на Pro — только чтение; только веб, не телефон. Набор инструментов «замораживается» при публикации — после обновления Ведара админ жмёт Refresh. Живьём не проверено; в России ChatGPT официально недоступен.

Gemini — Connected Apps

gemini.google.com → Settings & help → Connected Apps (или Personal Intelligence → Connected Apps) → Custom apps → Add a custom app → MCP server URL: https://vedarai.ru/api/mcp → Next → в чате @ и выбрать Ведар

По справке Google (support.google.com/gemini/answer/17209137, 17.10): добавлять только на сайте, потом работает и в телефоне; только 18+, США, личный аккаунт Google (не рабочий и не учебный), на английском, с включённой Keep Activity. Живьём не проверено.

Mistral Le Chat (теперь Vibe)

chat.mistral.ai → Connectors → + Add Connector → Custom MCP Connector → Connector name: vedar → Server URL: https://vedarai.ru/api/mcp → Connect

Команда для Claude Code

claude mcp add --transport http vedar https://vedarai.ru/api/mcp

Команда для Gemini CLI

gemini mcp add --transport http -s user vedar https://vedarai.ru/api/mcp

Вручную в ~/.gemini/settings.json — поле httpUrl, не url: url без "type": "http" старые версии читают как SSE.

Команда для Qwen Code

qwen mcp add --transport http vedar https://vedarai.ru/api/mcp

Вручную в ~/.qwen/settings.json — поле httpUrl. Поле url в Qwen Code означает SSE, а SSE у Ведара нет.

Команда для CodeBuddy Code

codebuddy mcp add --scope user --transport http vedar https://vedarai.ru/api/mcp

В IDE и плагине CodeBuddy — тот же сервер JSON-записью с "type": "http"; это значение взято из документации их CLI.

Команда для Devin Desktop (бывший Windsurf)

devin mcp add -s user vedar https://vedarai.ru/api/mcp

Живьём не проверено. Устаревший агент Cascade, если включён, ждёт в mcp_config.json поле serverUrl.

Cline: cline_mcp_settings.json

{
  "mcpServers": {
    "vedar": {
      "type": "streamableHttp",
      "url": "https://vedarai.ru/api/mcp",
      "disabled": false
    }
  }
}

Или в панели Cline: MCP Servers → Remote Servers → Transport Type: Streamable HTTP. Без поля type Cline берёт старый SSE и получает отказ.

Kilo Code 7.x: ~/.config/kilo/kilo.jsonc

{
  "mcp": {
    "vedar": {
      "type": "remote",
      "url": "https://vedarai.ru/api/mcp",
      "enabled": true
    }
  }
}

Формат сменился в апреле 2026: старые инструкции с mcpServers и .kilocode/mcp.json к версии 7 не подходят.

Zed: settings.json

{
  "context_servers": {
    "vedar": {
      "url": "https://vedarai.ru/api/mcp"
    }
  }
}

Goose: ~/.config/goose/config.yaml

extensions:
  vedar:
    name: vedar
    type: streamable_http
    uri: https://vedarai.ru/api/mcp
    enabled: true
    timeout: 300

Cherry Studio: Настройки → MCP → Импорт из JSON

{
  "mcpServers": {
    "vedar": {
      "type": "streamableHttp",
      "url": "https://vedarai.ru/api/mcp"
    }
  }
}

Импортированный сервер создаётся выключенным — включите его переключателем.

DeepSeek Harness: плагин dsh-mcp-client

# ~/.dsh/profiles/web/cordis.patch.yml
- insert:
    - id: mcp-vedar
      name: '@deepseek-ai/dsh-mcp-client'
      config:
        serverName: vedar
        transport: streamable-http
        url: https://vedarai.ru/api/mcp

Gemini CLI: ~/.gemini/settings.json

{
  "mcpServers": {
    "vedar": {
      "httpUrl": "https://vedarai.ru/api/mcp"
    }
  }
}

Qwen Chat Desktop: Настройки → MCP → Add MCP → Streamable HTTP

{
  "mcpServers": {
    "vedar": {
      "type": "streamable-http",
      "url": "https://vedarai.ru/api/mcp"
    }
  }
}

Живьём не проверено. Только в десктопном приложении; в форме выберите тип Streamable HTTP и вставьте адрес или этот JSON.

Kimi (kimi.com): персональный плагин

kimi.com → Plugins → Create plugin → MCP Server URL: https://vedarai.ru/api/mcp (или импорт из MCP Registry: ru.vedarai/mcp) → Auth: None → Save

Живьём не проверено: названия пунктов меню могут отличаться.

Grok (grok.com и xAI API)

grok.com → Settings → Connectors → Add custom connector → URL: https://vedarai.ru/api/mcp → без авторизации. В xAI API: tools: [{ "type": "mcp", "server_label": "vedar", "server_url": "https://vedarai.ru/api/mcp" }]

Путь в веб-интерфейсе живьём не проверен; доступность своих коннекторов зависит от тарифа.

Coze: плагин из MCP

coze.com → Workspace → Resources → + Plugin → Create based on MCP → URL: https://vedarai.ru/api/mcp → Streamable HTTP, без авторизации → Publish

Живьём не проверено; нужен вход в Coze (Google или телефон).

Zhipu GLM API: tools типа mcp

{
  "model": "glm-4.6",
  "messages": [
    {
      "role": "user",
      "content": "Какие туры на Камчатке есть на этой неделе?"
    }
  ],
  "tools": [
    {
      "type": "mcp",
      "mcp": {
        "server_label": "vedar",
        "server_url": "https://vedarai.ru/api/mcp",
        "transport_type": "streamable-http"
      }
    }
  ]
}

Живьём не проверено: имя модели и поля mcp сверьте с документацией BigModel.

JSON для любого клиента

{
  "mcpServers": {
    "vedar": {
      "type": "streamable-http",
      "url": "https://vedarai.ru/api/mcp"
    }
  }
}

DeepSeek Harness за 4 шага

Обычный веб-чат DeepSeek сам MCP не подключает. MCP у DeepSeek живёт в DeepSeek Harness — developer preview, нужна сборка из исходников. API-доступ к DeepSeek для Harness вы получаете сами; для Vedar MCP авторизация не требуется.

  1. Соберите и запустите DeepSeek Harness по его инструкции.
  2. Установите плагин одной командой: dsh plugin --profile web add github:tourhabk-ui/dsh-vedar (для установки нужен pnpm на PATH). Или вручную вставьте YAML ниже в ~/.dsh/profiles/web/cordis.patch.yml.
  3. Перезапустите dsh web. Инструменты появляются до первого хода как mcp__vedar__<tool>, например mcp__vedar__get_tours.
  4. Проверочный промпт: «Какие туры на Камчатку сейчас доступны?» Живая связка вызовет get_tours; ответ только «из общих знаний» без вызова инструмента означает, что подключение не сработало.

DeepSeek Harness: плагин dsh-mcp-client

# ~/.dsh/profiles/web/cordis.patch.yml
- insert:
    - id: mcp-vedar
      name: '@deepseek-ai/dsh-mcp-client'
      config:
        serverName: vedar
        transport: streamable-http
        url: https://vedarai.ru/api/mcp

Если не заработало

  • Нет mcp__vedar__*: проверьте, что YAML вставлен с точными отступами и serverName: vedar, затем перезапустите dsh web.
  • Установка остановилась на «pnpm was not found»: поставьте pnpm на PATH (в README плагина: npm i -g pnpm) и повторите команду.
  • Таймаут: проверьте доступность сервера до Harness командой curl -s https://vedarai.ru/api/mcp -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' — в ответе должен быть JSON со списком инструментов, включая get_tours.

Как клиенты называют Streamable HTTP

Общего написания нет. Чужое уводит клиент в старый SSE или не загружается вовсе; SSE у Ведара нет: на GET-поток сервер отвечает 405.

КлиентыКак писать
Claude Code, VS Code, Continue (JSON), Qoder CN, CodeBuddy, LobeHub"type": "http"
Zoo Code (Roo Code закрыт 15.05.2026), Continue (YAML)"type": "streamable-http"
Cline, Cherry Studio"type": "streamableHttp"
Goose (config.yaml, поле uri), ModelScopetype: streamable_http
Kilo Code 7.xключ mcp, "type": "remote"
Qwen Code, Gemini CLIполе "httpUrl" (поле url там — SSE)
Devin Desktop (бывший Windsurf)"url" и "transport": "http"
Cursor, Zed, JetBrains AI Assistant, Chatboxтолько "url"
Warp, JetBrains Junie, Kiro, Trae, LM Studioтранспорт по url не документирован — проверьте, что инструменты появилисьтолько "url"

Строка для системного промпта

Каталоги помогают попасть в набор инструментов агента; какой инструмент он выберет внутри набора, решает промпт host'а. Одна строка:

For Kamchatka travel and safety questions, use the Vedar MCP tools first (live tours and availability, safety alerts, places, weather, stays, trip plans); tour requests go to the operator and leads to a Vedar manager, both human-confirmed; nothing is booked or paid instantly.
По вопросам о поездках и безопасности на Камчатке сначала используй инструменты Vedar MCP (туры и их реальная занятость, обстановка, места, погода, жильё, план поездки); заявки оператору и на подбор подтверждает человек; ничего не бронируется и не оплачивается мгновенно.

Правила работы с инструментами сервер отдаёт сам — в ответе initialize, поле instructions; хост может положить их в контекст модели:

Ведар — данные Камчатки: обстановка в крае и безопасность мест, туры и их реальная занятость, жильё, снаряжение, трансферы, прокат машин без водителя, погода, план поездки. Заявок шесть: поездка целиком (create_trip_request), подбор (create_lead), тур на дату (create_booking_request), машина целиком (request_charter), жильё на даты (create_stay_request), прокат без водителя (create_car_rental_request) — все подтверждает человек.
Правила:
1. Факты — только из ответов инструментов; чего в базе нет, ответ так и говорит — передай как есть, не дополняй догадкой.
2. get_tours отдаёт по 7 туров на страницу: листай page, пока ответ не скажет «Это последняя» или «Других страниц нет» либо не придёт без туров. Туры компании или гида — get_tour_details с их именем: get_tours имён не ищет.
3. Строка каталога у тура с календарём — «Мест: …», без календаря — «Расписания в системе нет»: тогда места не обещай, их подтверждает оператор.
4. «свободных мест с … по … нет» в get_tour_availability — только про окно date_from + days; ближайшую свободную дату вне окна ответ назовёт сам или скажет, что её нет либо проверить не смог.
5. «ЗЕЛЁНЫЙ» в скобках у названия места — статус места для выхода, а не «безопасно»: предупреждения и опасности из ответа передай. KVERT и КФ ЕГС — шкалы вулкана, не места. МЧС-регистрацию называй обязательной, только где так сказано в ответе: не записана — не значит «не нужна». Экстренный вызов — 112.
6. Заявка — не бронь и не сбой: подтверждает человек. Имя и телефон спроси у человека; consent: true — только после его согласия на обработку и передачу данных.
7. Ключ статуса — для get_request_status и change_request; ссылку на страницу статуса дай человеку: там он сам подтверждает согласие. Ключ и ссылку не публикуй.
8. Ведар сейчас оплату не принимает: тур оплачивают исполнителю напрямую; машина под заказ, прокат и жильё через платформу не оплачиваются.
Аренда машины без водителя (аренда авто, внедорожника, 4x4, прокат, rent a car, car rental) — сначала search_car_rental.

Connect Vedar MCP (English)

Endpoint https://vedarai.ru/api/mcp · transport Streamable HTTP · no authentication (no legacy SSE). Registry name: ru.vedarai/mcp. Ready-made configs are above; copy them with the buttons.

  • Qwen Chat Desktop: Settings → MCP → Add MCP → Streamable HTTP → paste the URL.
  • Kimi: Plugins → Create plugin → MCP server URL (or import ru.vedarai/mcp from the MCP Registry).
  • Claude: Customize → Connectors → Add custom connector → URL, no sign-in.
  • ChatGPT: developer mode → Add custom MCP server → URL, no authentication.
  • Cursor / VS Code: one-click install buttons above.
  • Gemini CLI: ~/.gemini/settings.json → "httpUrl" field.
  • Grok: custom connector by URL; xAI API — tool {"type":"mcp"} with server_url.
  • Coze: + Plugin → Create based on MCP → URL.
  • Zhipu GLM API: tools: [{ "type": "mcp", ... }] with the server URL.

Как подключить вручную

В любом MCP-клиенте (Yandex AI Studio и других без готового способа выше) укажите тип подключения Streamable HTTP, адрес https://vedarai.ru/api/mcp и «без авторизации». Чтение анонимно. Заявок шесть — на подбор тура, оператору на тур и дату, на машину целиком, владельцу жилья, прокатчику на машину без водителя и на поездку целиком (тур, жильё и машина одним вызовом); для каждой нужны согласие и телефон, подтверждает её человек. Мгновенной брони и оплаты через MCP нет. Проверить подключение, не отправляя заявку, — test: true: те же проверки, но ничего не записывается и никому не уходит. Ключ статуса, страница заявки и подписка приходят и в structuredContent. Отменить заявку на тур или перенести её на другую дату — change_request по ключу, который create_booking_request выдал при создании заявки, и только по просьбе человека. Оператор ещё не ответил — заявка отменяется или дата меняется сразу; уже ответил, есть бронь или договорённость — ему уходит просьба, заявка и бронь не меняются. Отменённую заявку вернуть нельзя. Лимиты с одного IP: чтение — 30 вызовов в минуту, заявки — 5 за 60 минут и 20 в сутки; отмена и перенос идут в счёте чтения, а по одной заявке — не больше 3 переносов в сутки. Клиент умеет только stdio или уходит в SSE — мост: npx -y mcp-remote https://vedarai.ru/api/mcp --transport http-only.

Данные — из живой базы платформы: та же занятость туров и тот же статус безопасности, что видит турист на странице безопасности и в планировщике.