{"name":"vedar-mcp","title":"Ведар — Камчатка","version":"2.10.1","description":"Ведар — данные Камчатки: обстановка в крае и безопасность мест, туры и их реальная занятость, жильё, снаряжение, трансферы, прокат машин без водителя, погода, план поездки. Записей пять: заявка на подбор (create_lead), заявка оператору на тур и дату (create_booking_request), заявка на машину целиком (request_charter), заявка владельцу жилья на даты (create_stay_request) и заявка прокатчику на машину без водителя (create_car_rental_request) — все подтверждает человек.","websiteUrl":"https://vedarai.ru/mcp","icons":[{"src":"https://vedarai.ru/apple-touch-icon.png","mimeType":"image/png","sizes":["180x180"]}],"tools":[{"name":"get_tours","description":"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. Получить активные туры из платформы Ведар с ценами и датами. Используй когда турист спрашивает о конкретных турах или программах. У каждого тура — компания; порядок — правило платформы, названное в ответе (сначала со свободными местами по ближайшей дате, остальные раз в сутки по жребию), а не рекомендация.","inputSchema":{"type":"object","properties":{"activity_type":{"type":"string","description":"Activity filter, free text (Russian works best): fishing, volcanoes, bears, geysers, trekking. Matches the activity type and the word in the tour title, place, short description or main place; tours that have the word only in the full description or programme come in a separate unverified block (check them with get_tour_details); company and guide names are not searched. Фильтр по типу: рыбалка, вулканы, медведи, гейзеры, трекинг и т.д. Ищет вид отдыха и слово в названии, месте, кратком описании и главном месте тура, а отдельным блоком «не проверено» даёт туры, где слово есть только в полном описании или программе (что это за упоминание, уточни через get_tour_details); имена компаний и гидов не ищет.","examples":["вулканы"]},"page":{"type":"string","description":"Catalogue page, 7 tours each, starting at 1; the reply ends with the page count and the next page. Страница каталога по 7 туров, с 1. В конце ответа сказано, сколько страниц и какая следующая.","examples":["2"]}},"required":[]},"title":"Tour catalogue","annotations":{"title":"Tour catalogue","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"get_tour_details","description":"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. Полные детали КОНКРЕТНОГО тура: описание, программа, точка сбора и логистика (старт/забор), что входит и не входит, что взять с собой. Используй ВСЕГДА, когда турист спрашивает про конкретный тур — что там по программе, откуда стартуют, где сбор, что взять. Не выдумывай эти детали сам — бери отсюда. Назвал компанию или гида, продающих туры, — ответ: список туров и адрес их страницы, а не один тур (имя из общих слов или только часть имени — в списке и туры других компаний по тем же словам). Совпала только часть слов запроса — ответ так и говорит и даёт список: не называй эти туры подходящими.","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Tour title, numeric ID, a keyword, or the name of a company or guide selling tours (the reply then lists tours and their page, not one tour). Название тура, номер, ключевое слово или имя компании либо гида — так, как назвал человек","examples":["рыбалка"]}},"required":["name"]},"title":"Tour details","annotations":{"title":"Tour details","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"get_guardian_context","description":"Kamchatka safety context for a place or route: hazards, active alerts, advice. For plain facts (type, coordinates) use get_place_info. Получить полный контекст места как Хранитель: статус (открыто/закрыто), реалтайм алерты КБГС РАН, опасности, загрузка, традиционные знания о месте. Используй ВСЕГДА когда спрашивают о конкретном месте, вулкане, озере, маршруте, источнике Камчатки.","inputSchema":{"type":"object","properties":{"place":{"type":"string","description":"Place or route name. Название места или объекта","examples":["Авачинский вулкан"]}},"required":["place"]},"title":"Place safety","annotations":{"title":"Place safety","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"get_place_info","description":"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.","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Place name. Название объекта","examples":["Курильское озеро"]}},"required":["name"]},"title":"Place info","annotations":{"title":"Place info","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"get_weather","description":"Daily weather forecast (Open-Meteo) for a Kamchatka place by name, or for any point by latitude/longitude. Прогноз погоды по дням (Open-Meteo) для места Камчатки по имени или для любой точки по координатам. Без аргументов — Петропавловск-Камчатский; в горах погода другая, поэтому место лучше назвать.","inputSchema":{"type":"object","properties":{"place":{"type":"string","description":"Place name from the platform directory (Russian works best). Название места так, как его назвал человек; ищется в справочнике платформы.","examples":["Мутновский"]},"lat":{"type":"string","description":"Latitude in decimal degrees; use together with lng. Coordinates take precedence over place. Широта в градусах — из вопроса человека или из ответа другого инструмента. Вместе с lng; координаты главнее названия.","examples":["52.45"]},"lng":{"type":"string","description":"Longitude in decimal degrees; use together with lat. Долгота в градусах — оттуда же, откуда широта. Вместе с lat.","examples":["158.19"]},"days":{"type":"string","description":"Forecast days, 1–7; default 3. Сколько дней прогноза, 1–7; по умолчанию 3.","examples":["3"]}},"required":[]},"title":"Weather","annotations":{"title":"Weather","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}},{"name":"get_volcano_status","description":"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.","inputSchema":{"type":"object","properties":{"volcano":{"type":"string","description":"Volcano name; empty — all volcanoes elevated on either scale. Название вулкана так, как его назвал человек. Пусто — все повышенные.","examples":["Ключевской"]}},"required":[]},"title":"Volcano status","annotations":{"title":"Volcano status","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"search_accommodations","description":"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. Найти жильё на Камчатке (гостиницы, базы, глэмпинг, дома) из платформы Ведар с ценами и адресами. Используй когда турист спрашивает где остановиться, переночевать, снять жильё.","inputSchema":{"type":"object","properties":{"zone":{"type":"string","description":"Area or town name. Зона расположения — город, долина или курорт, как их назвал человек","examples":["Паратунка"]},"type":{"type":"string","description":"Stay type: hotel, hostel, guesthouse, glamping, apartment, cottage. Тип жилья: hotel, hostel, guesthouse, glamping, apartment, cottage","examples":["hotel"]},"price_max":{"type":"string","description":"Maximum price per night, RUB. Максимальная цена за ночь в рублях","examples":["8000"]}},"required":[]},"title":"Stays","annotations":{"title":"Stays","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"search_transfers","description":"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. Трансфер по Камчатке — машина целиком под заказ у перевозчика (вахтовки, микроавтобусы, джипы): прайс по направлениям или за час и за день работы машины, цена за машину целиком, не за место. Используй, когда турист спрашивает, как доехать, есть ли трансфер или заброска, сколько стоит вахтовка, микроавтобус или джип к вулкану, источникам, озеру, в аэропорт. Места в машине платформа не продаёт: дату и направление задаёт заказчик, машину с перевозчиком подтверждает менеджер Ведара, расчёт — напрямую с перевозчиком. Рейсов, свободных мест и цен, которых нет в ответе, не выдумывай.","inputSchema":{"type":"object","properties":{"place":{"type":"string","description":"Destination or origin keyword; empty — the whole price list. Куда или откуда — слово из вопроса человека: вулкан, озеро, река, посёлок; без него — весь прайс","examples":["Горелый"]}},"required":[]},"title":"Transfers","annotations":{"title":"Transfers","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"search_car_rental","description":"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.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"A word about the car: body type (SUV, minibus, off-road truck), model, or \"with driver\"; empty — the whole price list. Слово о машине из вопроса — вид (внедорожник, микроавтобус, вездеход), модель или «с водителем»; без него — весь прайс. Слова «аренда», «прокат», «rent a car» можно не убирать","examples":["внедорожник"]},"type":{"type":"string","enum":["car","suv","minibus","offroad_truck","vahtovka"],"description":"Body type if known: car, suv (SUV/4x4), minibus, offroad_truck, vahtovka. Вид кузова, если известен: car — легковая, suv — внедорожник/4x4, minibus — микроавтобус, offroad_truck — вездеход, vahtovka — вахтовка","examples":["suv"]},"date_from":{"type":"string","description":"Rental start, YYYY-MM-DD: used to count days and the price-list total; the provider confirms availability. Начало проката, YYYY-MM-DD — для расчёта суток и суммы по прайсу","examples":["2026-11-10"]},"date_to":{"type":"string","description":"Rental end, YYYY-MM-DD. Конец проката, YYYY-MM-DD","examples":["2026-11-14"]}},"required":[]},"title":"Car rental","annotations":{"title":"Car rental","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"search_gear","description":"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. Найти прокат туристического снаряжения на Камчатке из платформы Ведар с ценами за сутки. Используй когда турист спрашивает где арендовать/взять напрокат снаряжение: палатку, спальник, треккинговые палки, рюкзак, кошки, газовую горелку и т.д. Пустая выдача — норма: прокатов на платформе пока может не быть вовсе, ответ так и скажет; адреса прокатов не выдумывай.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"What to rent: tent, sleeping bag, trekking poles, a brand. Что ищут — вещь или бренд, как их назвал человек","examples":["палатка"]},"category":{"type":"string","description":"Gear category, if known. Категория снаряжения (если известна)"},"price_max":{"type":"string","description":"Maximum price per day, RUB. Максимальная цена за сутки в рублях","examples":["1500"]}},"required":[]},"title":"Gear rental","annotations":{"title":"Gear rental","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"safety_status","description":"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.","inputSchema":{"type":"object","properties":{},"required":[]},"title":"Regional safety status","annotations":{"title":"Regional safety status","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"make_trip_plan","description":"Day-by-day Kamchatka trip plan with weather and live availability; returns a plan ID for edit_trip_plan. Собрать план поездки по Камчатке по дням: зоны, активности, честные цены, предупреждения сезона, ориентир цены на человека с разбивкой. Используй, когда туриста интересует «что посмотреть за N дней», «составь маршрут/план поездки», «как спланировать неделю на Камчатке». Ответ содержит ссылку на страницу готового плана с турами и заявкой оператору. Ответ несёт ID плана: добавить день, убрать или переставить день, сменить уровень жилья, учесть задержку рейса — через edit_trip_plan с этим ID, остальные дни не меняются. Другие даты, длительность или состав группы — вызови make_trip_plan снова с прежними аргументами плюс изменение.","inputSchema":{"type":"object","properties":{"days":{"type":"string","description":"Trip length in days, 3–21; default 7. Сколько дней поездка (число, 3–21). Не сказано — 7.","examples":["7"]},"interests":{"type":"string","description":"Interests in free text. Интересы туриста своими словами: «вулканы и медведи», «рыбалка», «море и термальные»","examples":["вулканы и медведи"]},"when":{"type":"string","description":"When the trip starts: a Russian month name or YYYY-MM-DD; season decides what is possible in Kamchatka. Default is one month from today. Когда поездка: месяц («июль», «в августе») или дата YYYY-MM-DD. Сезон на Камчатке решает всё — если турист назвал месяц, передай его обязательно. Не сказано — через месяц от сегодня.","examples":["2027-07-10"]},"travel_style":{"type":"string","description":"How the traveller wants to go: self (no guide, only where our safety data allows), operator (operator tours) or mixed; default mixed. Как турист хочет ехать: «сам» (без гида — только там, где это безопасно), «с оператором» (туры операторов) или «вперемешку». Не сказано — вперемешку.","examples":["self"]},"rest_days":{"type":"string","description":"Rest days to add, 0–14; a weather reserve day is added separately when needed. Сколько дней отдыха вставить в план (0–14), если турист сказал. Резерв на нелётную погоду планер добавит сам.","examples":["1"]},"adults":{"type":"string","description":"Number of adults, 1–30; default 2, and the answer says it was assumed. Сколько взрослых (1–30), если турист сказал. Не сказано — считаю двоих и говорю об этом в ответе.","examples":["2"]},"children":{"type":"string","description":"Age of each child in years — NOT a count: two children aged 6 and 10 → \"6, 10\" or \"6 years, 10 years\"; one child aged 2 → \"2 years\"; a baby under one → \"0 years\". A single bare number is ambiguous (one child's age or how many children?) and returns a refusal with no plan. The youngest age decides which activities are allowed: if you only know how many children, ask the person for each age. No children — omit the field. Возраст каждого ребёнка в годах — не число детей: двое детей 6 и 10 лет → «6, 10» или «6 лет, 10 лет»; один ребёнок 2 лет → «2 года»; ребёнок до года → «до года». Одно число без «лет» неоднозначно (возраст одного ребёнка или число детей?) — план не собирается, придёт вопрос. От возраста младшего зависят допуски активностей: знаешь только, сколько детей, — спроси возраст каждого. Детей нет — не передавай.","examples":["6, 10"]},"budget_tier":{"type":"string","description":"Budget level: economy, comfort or premium; default comfort. Уровень бюджета: «эконом», «комфорт» или «премиум» (economy/comfort/premium). Не сказано — «комфорт».","examples":["economy"]}},"required":[]},"title":"Trip plan","annotations":{"title":"Trip plan","readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}},{"name":"edit_trip_plan","description":"Edit a Kamchatka trip plan from make_trip_plan by its ID: add, remove or move a day, change lodging level, or apply a flight delay the traveller reports; untouched days stay as they were. Изменить план поездки, собранный make_trip_plan, по его ID: добавить день с занятием («добавь день рыбалки»), убрать день, переставить день, сменить уровень жилья («замени жильё на базу», «подешевле»), учесть задержку рейса («рейс задержали на два дня» — flight_delay). Дни, которых правка не касается, не меняются. Невозможная правка (день прилёта, занятие не по возрасту детей, движок не нашёл выхода) — отказ с причиной, план остаётся прежним. План хранится 7 дней; нет плана — сначала make_trip_plan.","inputSchema":{"type":"object","properties":{"plan_id":{"type":"string","description":"Plan ID from the make_trip_plan answer. Идентификатор плана (ID) из ответа make_trip_plan."},"action":{"type":"string","description":"add_day, remove_day, move_day, set_lodging or flight_delay. Что сделать: add_day (добавить день с занятием), remove_day (убрать день), move_day (переставить день), set_lodging (уровень жилья), flight_delay (рейс задержан — турист сказал сам).","examples":["add_day"]},"day":{"type":"string","description":"Day number in the plan, for remove_day and move_day. Номер дня в плане — для remove_day и move_day.","examples":["3"]},"to_day":{"type":"string","description":"New position of the day, for move_day. Новое место дня — для move_day.","examples":["2"]},"interest":{"type":"string","description":"Activity for add_day, free text (Russian works best). Занятие для add_day своими словами: «рыбалка», «вулканы», «сплав».","examples":["рыбалка"]},"lodging":{"type":"string","description":"Lodging level for set_lodging: economy, comfort or premium. Уровень жилья для set_lodging: «эконом» (базы, хостелы, палатки), «комфорт» (гостиницы, апартаменты), «премиум» (лоджи).","examples":["economy"]},"delay_days":{"type":"string","description":"For flight_delay: how many days the arrival flight is delayed, 1–7. На сколько дней задержан рейс прилёта (1–7) — для flight_delay.","examples":["2"]},"keep_return":{"type":"string","description":"For flight_delay: yes keeps the return date and shortens the trip (default); no shifts the whole trip. Для flight_delay: «да» — обратный билет прежний, поездка короче (по умолчанию); «нет» — обратный билет переносится, вся поездка сдвигается.","examples":["yes"]}},"required":["plan_id","action"]},"title":"Edit trip plan","annotations":{"title":"Edit trip plan","readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}},{"name":"get_tour_availability","description":"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. Свободные даты и места КОНКРЕТНОГО тура из реальной занятости мест. Используй всегда, когда турист спрашивает «когда есть места», «свободно ли на дату», «на какие даты можно» — не называй даты и места по памяти, только отсюда. Если в окне мест нет, ответ называет ближайшую свободную дату после окна (в пределах года) и, если окно начинается не с сегодня, — раньше окна.","inputSchema":{"type":"object","properties":{"tour":{"type":"string","description":"Tour title, keyword or numeric ID from get_tours. A company or guide name returns their tour list without dates — then ask by tour ID. Название тура, ключевое слово или числовой ID. Имя компании или гида — ответ список их туров без дат: даты смотри по номеру тура."},"date_from":{"type":"string","description":"Start of the window, YYYY-MM-DD; default today. С какой даты смотреть, YYYY-MM-DD. Не сказано — с сегодня.","examples":["2027-07-15"]},"days":{"type":"string","description":"Window length in days, 1–31; default 14. Окно в днях (1–31). Не сказано — 14.","examples":["14"]},"people":{"type":"string","description":"Number of travellers, 1–30. When given, each date shows the full booking total — the same calculation the booking itself uses; if the window has no seats, the nearest date with seats for all of them. Сколько человек (1–30). Дано — к каждой дате итоговая сумма поездки, тем же расчётом, что при оформлении заявки; если в окне мест нет — ближайшая дата, где мест хватит на всех.","examples":["2"]}},"required":["tour"]},"title":"Tour availability","annotations":{"title":"Tour availability","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"compare_tours","description":"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), длительность, группа, сложность, сезон, программа, что входит и не входит, условия отмены, как попасть на тур, оператор и его проверка, ближайшая свободная дата. Туры — номерами через запятую (надёжнее) или названиями через «;»; порядок туров в ответе — как их назвал человек. Оценок нет: у строки только «одинаково», «отличается» или «не сравнить» (у кого-то не записано); лучший тур не называй — выбирает человек. Название подходит турам разных компаний или это имя продавца — сравнения нет, в ответе номера: спроси человека. Тур не с витрины в сравнение не берётся.","inputSchema":{"type":"object","properties":{"tours":{"type":"string","description":"Two to four tours in the order the user named them: numeric IDs separated by commas (most reliable) or titles separated by semicolons. Два–четыре тура в том порядке, как назвал человек: номера через запятую («61, 70») — надёжнее; названия — через «;». Номера — из get_tours, get_place_info, get_tour_details.","examples":["61, 70"]},"criteria":{"type":"string","description":"What matters to the user, comma-separated, Russian or English: price, duration, group, difficulty, season, program, included, not included, cancellation, pickup, operator, nearest date; empty means a short default set. Что важно человеку, через запятую: цена, длительность, группа, сложность, сезон, программа, что входит, что не входит, отмена, подвоз, оператор, ближайшая дата. Не сказано — короткий набор: цена, длительность, ближайшая дата, сложность, подвоз, отмена, оператор.","examples":["цена, отмена"]},"people":{"type":"string","description":"Number of travellers, 1-30: the price row then shows the full total for all of them, the same calculation as get_tour_availability, and the nearest-date row the first date with seats for all of them. The tool picks the date of the total and names it per tour: the first date with seats for all of them, or the first date open for a request (tours without a schedule); a total on a date the user named comes from get_tour_availability with date_from and people. Сколько человек (1–30). Дано — в строке «цена» итог за всех тем же расчётом, что у get_tour_availability, а в строке «ближайшая дата» — первая дата, где мест хватит на всех. Дату итога выбирает инструмент и называет её у каждого тура: первая, где мест хватит на всех, или первая дата для заявки (у тура без расписания); итог на дату, которую назвал человек, — get_tour_availability с date_from и people.","examples":["2"]}},"required":["tours"]},"title":"Compare tours","annotations":{"title":"Compare tours","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"search","description":"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.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Search words, 2–200 characters; Russian or English. Слова запроса, от 2 до 200 символов, по-русски или по-английски.","examples":["Курильское озеро медведи"]}},"required":["query"]},"outputSchema":{"type":"object","properties":{"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Идентификатор документа для fetch: tour:<id>, place:<slug>, stay:<uuid>, route:<slug>"},"title":{"type":"string","description":"Название для человека"},"url":{"type":"string","description":"Каноническая страница на vedarai.ru — для цитаты"}},"required":["id","title","url"]}}},"required":["results"]},"title":"Search (ChatGPT connector)","annotations":{"title":"Search (ChatGPT connector)","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"fetch","description":"Full text of one Vedar Kamchatka record by id from search (tour, place, stay, route): description, price, program, safety facts, canonical url. Published records only. Полный текст одной записи витрины Ведара по id из search (tour:<id>, place:<slug>, stay:<uuid>, route:<slug>): описание, цена и состав тура, факты о месте и его опасностях, жильё, маршрут. У места отдаёт все предложения туров к нему с компанией у каждого; порядок — правило платформы, названное в ответе. Только опубликованное; записи, которой нет на витрине, — отказ с объяснением.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Record id from search: tour:<id>, place:<slug>, stay:<uuid> or route:<slug>. Идентификатор записи из search: tour:<id>, place:<slug>, stay:<uuid> или route:<slug>.","examples":["tour:12"]}},"required":["id"]},"outputSchema":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"text":{"type":"string","description":"Полный текст записи"},"url":{"type":"string","description":"Каноническая страница на vedarai.ru"},"metadata":{"type":"object","description":"Род записи и факты: kind, price, duration, season…"}},"required":["id","title","text","url"]},"title":"Fetch (ChatGPT connector)","annotations":{"title":"Fetch (ChatGPT connector)","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"get_request_status","description":"Status of a Kamchatka request by the key from create_lead, create_booking_request, create_stay_request, request_charter or create_car_rental_request: operator answer or who got it. No personal data. Состояние заявки, отправленной через create_lead, create_booking_request, create_stay_request, request_charter или create_car_rental_request, по ключу статуса из ответа того инструмента: ждёт оператора, оператор связался, подтверждена, отказ, другая дата, нет ответа. Заявка на жильё — кому передана (delivered). partner_replies — сколько адресат заявки написал в переписке (без текста). Без имени и телефона. Ключ выдаётся на каждую заявку и живёт 90 дней; без ключа состояние не узнать — номера заявок не называются. В ответе есть page — страница заявки для человека: там он сам подтверждает согласие на обработку данных и видит ответ оператора. date — действующая дата (у брони — дата брони сейчас), requested_date — дата из заявки: разошлись — бронь перенесена или заведена на другую дату. Если при создании заявки передан notify_url, об изменении состояния, даты, предложенной даты, тура или числа человек приходит подписанный POST; поле notify показывает, жива ли подписка.","inputSchema":{"type":"object","properties":{"key":{"type":"string","description":"Status key from the reply of the writing tool, as is. Ключ статуса из ответа пишущего инструмента, как есть (20–120 знаков)."}},"required":["key"]},"outputSchema":{"type":"object","properties":{"state":{"type":"string","enum":["awaiting_operator","delivered","operator_contacted","in_progress","confirmed","declined","other_date","no_answer","cancelled","failed","unknown"],"description":"Состояние заявки одним словом"},"kind":{"type":"string","enum":["lead","seat_request","stay_request"],"description":"lead — заявка менеджеру или оператору; seat_request — запрос мест у оператора; stay_request — заявка владельцу жилья"},"tour":{"type":["string","null"],"description":"Название тура, если заявка про тур"},"accommodation":{"type":["string","null"],"description":"Название объекта, если заявка на жильё"},"accommodation_url":{"type":["string","null"],"description":"Карточка объекта жилья: там телефон владельца"},"date":{"type":["string","null"],"description":"Дата тура YYYY-MM-DD, если есть, — действующая: у брони та, что в брони сейчас (оператор мог перенести); у заявки на жильё — дата заезда"},"requested_date":{"type":["string","null"],"description":"Дата YYYY-MM-DD, которую просили в заявке, если записана (заявка на тур, запрос мест, жильё). Отличается от date — бронь перенесена или заведена на другую дату"},"check_out":{"type":["string","null"],"description":"Дата выезда YYYY-MM-DD, у заявки на жильё"},"participants":{"type":["integer","null"],"description":"Число человек в заявке (у жилья — гостей), если записано"},"alt_date":{"type":["string","null"],"description":"Дата, которую предложил оператор вместо запрошенной"},"deadline":{"type":["string","null"],"description":"До какого времени ждём ответ оператора (ISO 8601), у запроса мест"},"human":{"type":"string","description":"Состояние словами для человека"},"next":{"type":"string","description":"Что делать дальше"},"consent":{"type":"string","enum":["human","agent","none"],"description":"Чьё согласие на обработку персональных данных записано: human — человек подтвердил сам (страница заявки или форма сайта); agent — передал агент при создании; none — не записано"},"consent_purpose":{"type":"string","enum":["operator","stay","carrier","rental"],"description":"На передачу кому согласие по заявке: operator — туроператору, stay — владельцу жилья, carrier — перевозчику. Этот текст человек подтверждает на странице заявки"},"page":{"type":"string","description":"Страница заявки для человека: состояние, ответ оператора и подтверждение согласия своей рукой. Дайте её человеку, не публикуйте."},"partner_replies":{"type":["integer","null"],"description":"Сколько сообщений адресат заявки (владелец жилья, туроператор, перевозчик, прокат) написал человеку в переписке; текст — только на странице заявки. null — переписки по этому ключу нет"},"partner_last_reply_at":{"type":["string","null"],"description":"Когда адресат написал последнее сообщение (ISO 8601); null — не писал или переписки по ключу нет"},"max_link":{"type":["string","null"],"description":"Ссылка подключить MAX: ответы адресата будут приходить человеку туда. Дайте её человеку, не публикуйте; null — MAX уже подключён или переписки по ключу нет"},"notify":{"type":["object","null"],"description":"Подписка на уведомления этой заявки: null — не заводилась (notify_url не передан) или удалена через 30 дней после отключения. active: false — уведомлений больше не будет, опрашивайте get_request_status; disabled_reason: gone — приёмник ответил 410; undeliverable — доставить не удалось (ответ 4xx или повторы исчерпаны; причина бывает и на пути до приёмника); vedar_failure — сбой на стороне Ведара","properties":{"ref":{"type":"string"},"active":{"type":"boolean"},"disabled_reason":{"type":["string","null"],"enum":["gone","undeliverable","vedar_failure",null]}},"required":["ref","active","disabled_reason"]}},"required":["state","kind","human","next","consent","consent_purpose","page"]},"title":"Request status","annotations":{"title":"Request status","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"create_lead","description":"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).","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Traveller's name. Имя туриста"},"phone":{"type":"string","description":"Contact phone, required. Телефон для связи (обязателен)"},"comment":{"type":"string","description":"The request: dates, group size, interests. Запрос: даты, сколько человек, что интересует"},"interest":{"type":"string","description":"Tour or route name, if already chosen. Название тура/маршрута, если уже выбран"},"plan_id":{"type":"string","description":"Plan ID from make_trip_plan when the request is for that plan: the manager gets the whole plan (group, tours by day, estimate). Номер плана из make_trip_plan, если заявка — на этот план: менеджер получит план целиком (состав, туры по дням, смету) и не будет переспрашивать.","examples":["1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed"]},"notify_url":{"type":"string","description":"Optional HTTPS URL of your receiver (host name, port 443): a signed POST (Standard Webhooks) arrives when the request state, date, operator-offered date, tour or group size changes; the signing key is in the reply once. Not for stays. Leave empty if you have no receiver; do not invent one. Необязательно. HTTPS-адрес вашего приёмника (только имя хоста, порт 443): когда изменятся состояние заявки, дата, предложенная оператором дата, тур или число человек, на него придёт подписанный POST (Standard Webhooks); ключ подписи — в ответе один раз. Нет своего приёмника — не передавайте и не придумывайте адрес."},"consent":{"type":"boolean","description":"Explicit consent to process name and phone for this request; ask the person and pass true, otherwise the request is not created. Человек согласен на обработку своих персональных данных (имя, телефон) для связи по этой заявке. Спроси прямо и передай true. Без согласия заявка не создаётся.","examples":[true]}},"required":["name","phone","comment","consent"]},"title":"Tour request","annotations":{"title":"Tour request","readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}},{"name":"create_booking_request","description":"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).","inputSchema":{"type":"object","properties":{"tour":{"type":"string","description":"Numeric tour ID or tour title from get_tours / get_tour_availability. A company or guide name, or a partial word match, creates no request: the reply lists tours by ID. Числовой ID тура или его название (из get_tours / get_tour_availability). Имя компании или гида заявку не создаёт — нужен тур."},"date":{"type":"string","description":"Tour date, YYYY-MM-DD. Дата тура, YYYY-MM-DD","examples":["2027-07-15"]},"participants":{"type":"string","description":"Number of people, 1–30; default 1. Сколько человек (1–30). Не сказано — 1.","examples":["2"]},"name":{"type":"string","description":"Traveller's name. Имя туриста"},"phone":{"type":"string","description":"Phone for confirmation, required. Телефон для подтверждения (обязателен)"},"comment":{"type":"string","description":"Wishes, questions, group composition. Пожелания, вопросы, состав группы"},"plan_id":{"type":"string","description":"Plan ID from make_trip_plan when this tour is part of that plan: the operator sees the whole trip. Номер плана из make_trip_plan, если тур — из этого плана: оператор увидит, частью какой поездки он стоит.","examples":["1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed"]},"notify_url":{"type":"string","description":"Optional HTTPS URL of your receiver (host name, port 443): a signed POST (Standard Webhooks) arrives when the request state, date, operator-offered date, tour or group size changes; the signing key is in the reply once. Not for stays. Leave empty if you have no receiver; do not invent one. Необязательно. HTTPS-адрес вашего приёмника (только имя хоста, порт 443): когда изменятся состояние заявки, дата, предложенная оператором дата, тур или число человек, на него придёт подписанный POST (Standard Webhooks); ключ подписи — в ответе один раз. Нет своего приёмника — не передавайте и не придумывайте адрес."},"consent":{"type":"boolean","description":"Explicit consent to process name and phone for this request; ask the person and pass true, otherwise the request is not created. Человек согласен на обработку своих персональных данных (имя, телефон) для связи по этой заявке. Спроси прямо и передай true. Без согласия заявка не создаётся.","examples":[true]}},"required":["tour","date","name","phone","consent"]},"title":"Booking request","annotations":{"title":"Booking request","readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}},{"name":"create_stay_request","description":"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.","inputSchema":{"type":"object","properties":{"accommodation":{"type":"string","description":"Stay name or ID from search_accommodations. Название объекта или его ID (из search_accommodations)"},"check_in":{"type":"string","description":"Check-in date, YYYY-MM-DD. Дата заезда, YYYY-MM-DD","examples":["2027-07-15"]},"check_out":{"type":"string","description":"Check-out date, YYYY-MM-DD, after check-in, at most 60 nights. Дата выезда, YYYY-MM-DD (позже заезда, не больше 60 ночей)","examples":["2027-07-17"]},"guests":{"type":"string","description":"Number of guests, 1–50; default 1. Сколько гостей (1–50). Не сказано — 1.","examples":["4"]},"name":{"type":"string","description":"Guest's name. Имя гостя"},"phone":{"type":"string","description":"Phone the owner will call back, required. Телефон гостя — по нему перезвонит владелец (обязателен)"},"comment":{"type":"string","description":"Wishes for the owner. Пожелания владельцу: баня, время заезда, дети"},"consent":{"type":"boolean","description":"Explicit consent to process name and phone and pass them to the stay's owner; ask the person and pass true, otherwise the request is not created. Человек согласен на обработку своих персональных данных (имя, телефон) и их передачу владельцу жилья для связи по заявке. Спроси прямо и передай true. Без согласия заявка не создаётся.","examples":[true]}},"required":["accommodation","check_in","check_out","name","phone","consent"]},"title":"Stay request","annotations":{"title":"Stay request","readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}},{"name":"request_charter","description":"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).","inputSchema":{"type":"object","properties":{"destination":{"type":"string","description":"Where to go: a word from the carrier price list or your own destination. Куда ехать: слово или название из прайса («Горелый», «Толбачик») либо своё направление","examples":["Горелый"]},"date_from":{"type":"string","description":"Departure date, YYYY-MM-DD. Дата выезда, YYYY-MM-DD","examples":["2027-07-15"]},"date_to":{"type":"string","description":"Return date, YYYY-MM-DD, if known. Дата возвращения, YYYY-MM-DD, если известна","examples":["2027-07-17"]},"passengers":{"type":"string","description":"Number of people, 1–60. Сколько человек (1–60)","examples":["8"]},"name":{"type":"string","description":"Customer's name. Имя заказчика"},"phone":{"type":"string","description":"Contact phone, required. Телефон для связи (обязателен)"},"carrier":{"type":"string","description":"Carrier name or slug from search_transfers; required when there is more than one carrier. Перевозчик: название или slug из search_transfers. Когда перевозчиков несколько, без него заявка не создаётся — инструмент попросит назвать, кому её адресовать.","examples":["shatun"]},"comment":{"type":"string","description":"Wishes: how many days the vehicle is needed, what to carry, pickup place. Пожелания: сколько дней нужна машина, что везти, откуда забирать"},"notify_url":{"type":"string","description":"Optional HTTPS URL of your receiver (host name, port 443): a signed POST (Standard Webhooks) arrives when the request state, date, operator-offered date, tour or group size changes; the signing key is in the reply once. Not for stays. Leave empty if you have no receiver; do not invent one. Необязательно. HTTPS-адрес вашего приёмника (только имя хоста, порт 443): когда изменятся состояние заявки, дата, предложенная оператором дата, тур или число человек, на него придёт подписанный POST (Standard Webhooks); ключ подписи — в ответе один раз. Нет своего приёмника — не передавайте и не придумывайте адрес."},"consent":{"type":"boolean","description":"Explicit consent to process name and phone for this request; ask the person and pass true, otherwise the request is not created. Человек согласен на обработку своих персональных данных (имя, телефон) и их передачу перевозчику для связи по заявке. Спроси прямо и передай true. Без согласия заявка не создаётся.","examples":[true]}},"required":["destination","date_from","passengers","name","phone","consent"]},"title":"Charter request","annotations":{"title":"Charter request","readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}},{"name":"create_car_rental_request","description":"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) — заявка проверяется, но НЕ создаётся; в ответе черновик и код confirmation. Покажи черновик человеку и прямо спроси, согласен ли он на обработку имени и телефона и их передачу прокатчику и на отправку заявки. Шаг 2 — только после явного «да» самого человека: тот же вызов с теми же полями, confirmation из ответа и consent: true. Никогда не ставь consent: true сам, без ответа человека. Пробная или демонстрационная заявка — test: true: она помечается и прокатчику не уходит, шаги те же. Необязательный notify_url — адрес вашего приёмника: при изменении заявки на него придёт подписанный POST (Standard Webhooks).","inputSchema":{"type":"object","properties":{"company":{"type":"string","description":"Rental company name or slug from search_car_rental; may be omitted when there is only one. Прокатчик: название или slug из search_car_rental. Когда прокатчик один, можно не указывать","examples":["laguna-prokat"]},"car":{"type":"string","description":"Car exactly as in the search_car_rental price list. Машина — как в прайсе search_car_rental, например «Suzuki Jimny»","examples":["Suzuki Jimny"]},"date_from":{"type":"string","description":"Rental start, YYYY-MM-DD. С какого числа нужна машина, YYYY-MM-DD","examples":["2026-11-10"]},"date_to":{"type":"string","description":"Rental end, inclusive, YYYY-MM-DD. По какое число включительно, YYYY-MM-DD","examples":["2026-11-14"]},"pickup":{"type":"string","description":"Pickup place if the person named one: airport, town, address. Где забрать машину: аэропорт, город, адрес — если человек сказал","examples":["аэропорт Елизово"]},"name":{"type":"string","description":"Renter's name. Имя арендатора"},"phone":{"type":"string","description":"Contact phone, required. Телефон для связи (обязателен)"},"comment":{"type":"string","description":"Wishes: child seat, drop-off elsewhere, etc. Пожелания: детское кресло, возврат в другом месте и т.п."},"test":{"type":"boolean","description":"true for a trial or demo request: marked as test and not sent to the rental company. true — пробная заявка (проверка, демонстрация): помечается, прокатчику не уходит","examples":[false]},"confirmation":{"type":"string","description":"Code from the step 1 reply; send it only after the person explicitly agreed. Without it a draft is returned and nothing is created. Код из ответа шага 1. Передавай только после явного согласия человека; без кода заявка не создаётся, а возвращается черновик"},"notify_url":{"type":"string","description":"Optional HTTPS URL of your receiver (host name, port 443): a signed POST (Standard Webhooks) arrives when the request state, date, operator-offered date, tour or group size changes; the signing key is in the reply once. Not for stays. Leave empty if you have no receiver; do not invent one. Необязательно. HTTPS-адрес вашего приёмника (только имя хоста, порт 443): когда изменятся состояние заявки, дата, предложенная оператором дата, тур или число человек, на него придёт подписанный POST (Standard Webhooks); ключ подписи — в ответе один раз. Нет своего приёмника — не передавайте и не придумывайте адрес."},"consent":{"type":"boolean","description":"false on step 1. true only after the person themselves said yes to passing name and phone to the rental company; never set it on their behalf. Человек согласен на обработку своих персональных данных (имя, телефон) и их передачу прокатчику для связи по заявке. На шаге 1 — false. true — только когда человек сам ответил «да» на вопрос о согласии; агент не ставит true за человека.","examples":[false]}},"required":["car","date_from","date_to","name","phone","consent"]},"title":"Car rental request","annotations":{"title":"Car rental request","readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}}]}