VeryChic — отели со скидкой
Поиск предложений VeryChic по отелям с фильтрами и ценами по датам
Добавьте сервер в «Мои MCP» — получите адрес подключения для Claude и ChatGPT.
Добавить в «Мои MCP»Нужно войти или зарегистрироваться — вернём на эту страницу.
Описание
Неофициальный сервер только для чтения, который даёт доступ к текущим предложениям VeryChic — скидкам на отели и путешествия. Пригодится тем, кто ищет выгодный отель на конкретные даты. Можно искать и фильтровать предложения по направлению, стране, цене, размеру скидки, звёздности, наличию перелёта, теме поездки или близости к точке, с сортировкой. Для выбранного предложения сервер показывает полное описание, доступность и цены по датам.
Инструменты · 2
из ответа tools/list
verychic_offer_details
verychic_offer_details
Get full details plus per-date availability and prices for one specific VeryChic offer. When to use: after `verychic_search_offers` returned an offer you want to inspect — pass that offer's `source` and `external_id` here. You must obtain those two identifiers from a search result first; this tool does not search. Behaviour: read-only and anonymous; rate-limited to about 1 request per second; prices in EUR, text in French. Availability is looked up for roughly the next 5 months unless `months` names the window to query. For tour-operator packages (`source` = 'ORCHESTRA_TO') VeryChic exposes no date-availability endpoint: `availabilities` is then empty and `availabilities_supported` is false — meaning "not supported", NOT "sold out". Returns an object with: `offer` (same fields as a search result, plus `offer_url`), `advantages`, `included_added_values`, `non_included_added_values`, `gallery` (image URLs), `availabilities` (one entry per check-in date with `date`, `price`, `currency`, `nights`, `days`, `departure_city_code`), `availabilities_by_month` (one row per month with stock — `month` as 'MM/YYYY', `min_price`, `currency` and `dates_available` — in chronological order), `availabilities_supported` (bool), and `cheapest_price` (lowest available price, or null when none). To answer "which month is cheapest", read `availabilities_by_month` rather than scanning `availabilities`: it carries the same answer in a fraction of the size, and it stays small when `months` asks for a wide window.
verychic_offer_details(months?: any, source: string, external_id: integer)
// inputSchema
{
"type": "object",
"title": "verychic_offer_detailsArguments",
"required": [
"source",
"external_id"
],
"properties": {
"months": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Months",
"default": null,
"description": "Months to look up check-in availability for, each written 'MM/YYYY' (e.g. ['01/2027', '02/2027']). Use it to look further ahead than the default window, or to target a season. Omit for roughly the next 5 months. Has no effect on tour-operator packages, which expose no date availability."
},
"source": {
"type": "string",
"title": "Source",
"description": "The offer's source type, copied verbatim from the `source` field of a `verychic_search_offers` result. One of 'ORCHESTRA' (a single hotel) or 'ORCHESTRA_TO' (a tour-operator package). Packages have no per-date availability."
},
"external_id": {
"type": "integer",
"title": "External Id",
"description": "The offer's numeric `external_id`, copied from a `verychic_search_offers` result. Identifies the offer together with `source`."
}
}
}
verychic_search_offers
verychic_search_offers
Search and filter the current VeryChic offers by destination, country, price, discount, stars, flights, theme, or proximity — with optional sorting. When to use: when you already know roughly what the user wants — a place, a country, a budget, a minimum discount or star rating, flights vs hotel-only, a theme (e.g. pool, spa, romantic, last_minute), or hotels near a point (near_lat/near_lng, with an optional radius_km). To inspect one specific offer in depth use `verychic_offer_details`. All filters are optional and combine with AND; call it with no filter to browse the full current catalogue in catalogue order. Behaviour: read-only and anonymous; rate-limited to about 1 request per second. Filtering is done client-side over the live catalogue: `destination` is a substring (matched on destination or name), `country` is an exact match — both ignore case and accents, so 'grece' matches the catalogue's 'Grèce' — `max_price`/`min_discount`/`min_stars` are numeric bounds, `flights_included` toggles flight-bearing vs hotel-only, and `theme` matches a curated label decoded from the catalogue's thematics tags. Use `sort_by` to order results (`discount`, `price`, `rating`, `stars`, or `distance`). Prices are in EUR and text is in French; there is no pagination. Returns the first `limit` matches after filtering and sorting. "Current" means live offers at call time; the catalogue changes over time. Returns a list of offer objects (same `source` + `external_id` pair for use with `verychic_offer_details`). Each offer also carries `discount` (percent off, may be null), `stars` (1-5, may be null), `price_label` (human-readable price unit, e.g. "à partir de par pers. pour 3 nuits" vs "par chambre" — read this before comparing prices), `price_with_flights` (EUR, null when not applicable), `flights_included` (bool), `rating` (overall guest grade out of 10), `opinion_count` (how many reviews that grade rests on — check it before trusting a rating), the per-topic grades `rating_location`, `rating_room`, `rating_service`, `rating_food` and `rating_public_area` (out of 10, null when unrated), and `themes` (curated theme labels decoded from the catalogue's thematics tags, e.g. ["pool", "luxury"]). The catalogue carries no reviews, so every grade is null and `opinion_count` is 0 here; call `verychic_offer_details` on an offer to get its real review data. An empty list means no offer matched the filters. Proximity search: pass `near_lat` and `near_lng` (decimal degrees, together) to compute each offer's `distance_km` from that point; add `radius_km` to keep only offers within that distance, and/or `sort_by="distance"` for nearest-first. `distance_km` is null when no center is given.
verychic_search_offers(limit?: integer, theme?: any, country?: any, sort_by?: any, near_lat?: any, near_lng?: any, max_price?: any, min_stars?: any, radius_km?: any, destination?: any, min_discount?: any, flights_included?: any)
// inputSchema
{
"type": "object",
"title": "verychic_search_offersArguments",
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 20,
"description": "Maximum number of matching offers to return (default 20), applied after filtering and sorting. No pagination."
},
"theme": {
"anyOf": [
{
"enum": [
"adults_only",
"city_break",
"cruise",
"island",
"last_minute",
"luxury",
"mountain",
"nature",
"pool",
"romantic",
"rooftop",
"spa",
"sun",
"villa"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Theme",
"default": null,
"description": "Keep only offers matching this curated theme, decoded from the catalogue's thematics tags. One of: adults_only, city_break, cruise, island, last_minute, luxury, mountain, nature, pool, romantic, rooftop, spa, sun, villa. Omit to not filter by theme."
},
"country": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Country",
"default": null,
"description": "Exact country name as spelled in the (French) catalogue, matched ignoring case and accents, e.g. 'France', 'Italie', 'Grece' (finds 'Grèce'). Omit to not filter by country."
},
"sort_by": {
"anyOf": [
{
"enum": [
"discount",
"price",
"rating",
"stars",
"distance"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Sort By",
"default": null,
"description": "Sort the results: 'discount' (biggest discount first), 'price' (cheapest first), 'rating' (best-rated first), 'stars' (most stars first), 'distance' (nearest first, requires near_lat/near_lng). Offers missing the sort value are placed last. Omit to keep catalogue order."
},
"near_lat": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Near Lat",
"default": null,
"description": "Latitude of a search center for proximity search, in decimal degrees. Must be given together with near_lng. Omit for no geo search."
},
"near_lng": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Near Lng",
"default": null,
"description": "Longitude of a search center for proximity search, in decimal degrees. Must be given together with near_lat. Omit for no geo search."
},
"max_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Max Price",
"default": null,
"description": "Inclusive upper bound on the offer price, in EUR. Offers with no price are excluded when this is set. Omit for no price cap."
},
"min_stars": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Min Stars",
"default": null,
"description": "Keep only offers with at least this hotel star rating (1-5), parsed from the offer name. Offers with no detectable rating are excluded. Omit to not filter by stars."
},
"radius_km": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Radius Km",
"default": null,
"description": "Keep only offers within this many kilometers of the near_lat/near_lng center. Requires near_lat and near_lng. Omit for no radius."
},
"destination": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Destination",
"default": null,
"description": "Substring matched against each offer's destination AND name, ignoring case and accents (e.g. 'paris', 'maldives', 'crete' finds 'Crète'). Omit to not filter by destination."
},
"min_discount": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Min Discount",
"default": null,
"description": "Keep only offers whose discount percentage is at least this value (e.g. 40 for '40% off or more'). Offers with no discount are excluded. Omit for no discount filter."
},
"flights_included": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Flights Included",
"default": null,
"description": "Filter on whether flights are part of the offer: true keeps flight-bearing offers, false keeps hotel-only offers. Omit to not filter."
}
}
}
Вопросы, новые серверы, обсуждение MCP
t.me/rusmcp · t.me/RusMcp_bot