Server definition
- Hash
- sha256:6e23cd843f79a061982e51ac6a4248a44e2011981a4ad7d46a486ae78451bd54
- What it is
- What a remote MCP server returned when asked what it offers: 2 tools
The blob, as servednamed by its sha256
{
"instructions": null,
"tools": [
{
"description": "Get full details plus per-date availability and prices for one specific VeryChic offer.\n\n When to use: after `verychic_search_offers` returned an offer you want to inspect —\n pass that offer's `source` and `external_id` here. You must obtain those two\n identifiers from a search result first; this tool does not search.\n\n Behaviour: read-only and anonymous; rate-limited to about 1 request per second;\n prices in EUR, text in French. Availability is looked up for roughly the next 5\n months unless `months` names the window to query. For tour-operator packages\n (`source` = 'ORCHESTRA_TO') VeryChic exposes no date-availability endpoint:\n `availabilities` is then empty and `availabilities_supported` is false —\n meaning \"not supported\", NOT \"sold out\".\n\n Returns an object with: `offer` (same fields as a search result, plus `offer_url`),\n `advantages`, `included_added_values`, `non_included_added_values`, `gallery`\n (image URLs), `availabilities` (one entry per check-in date with `date`, `price`,\n `currency`, `nights`, `days`, `departure_city_code`), `availabilities_by_month`\n (one row per month with stock — `month` as 'MM/YYYY', `min_price`, `currency` and\n `dates_available` — in chronological order), `availabilities_supported` (bool), and\n `cheapest_price` (lowest available price, or null when none).\n\n To answer \"which month is cheapest\", read `availabilities_by_month` rather than\n scanning `availabilities`: it carries the same answer in a fraction of the size,\n and it stays small when `months` asks for a wide window.\n ",
"inputSchema": {
"properties": {
"external_id": {
"description": "The offer's numeric `external_id`, copied from a `verychic_search_offers` result. Identifies the offer together with `source`.",
"title": "External Id",
"type": "integer"
},
"months": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"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.",
"title": "Months"
},
"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.",
"title": "Source",
"type": "string"
}
},
"required": [
"source",
"external_id"
],
"title": "verychic_offer_detailsArguments",
"type": "object"
},
"name": "verychic_offer_details",
"outputSchema": {
"$defs": {
"AvailabilityOut": {
"properties": {
"currency": {
"title": "Currency",
"type": "string"
},
"date": {
"title": "Date",
"type": "string"
},
"days": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Days"
},
"departure_city_code": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Departure City Code"
},
"nights": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Nights"
},
"price": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Price"
}
},
"required": [
"date",
"price",
"currency",
"nights",
"days",
"departure_city_code"
],
"title": "AvailabilityOut",
"type": "object"
},
"MonthPriceOut": {
"properties": {
"currency": {
"title": "Currency",
"type": "string"
},
"dates_available": {
"title": "Dates Available",
"type": "integer"
},
"min_price": {
"title": "Min Price",
"type": "integer"
},
"month": {
"title": "Month",
"type": "string"
}
},
"required": [
"month",
"min_price",
"currency",
"dates_available"
],
"title": "MonthPriceOut",
"type": "object"
},
"OfferOut": {
"properties": {
"advantages": {
"items": {
"type": "string"
},
"title": "Advantages",
"type": "array"
},
"country": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Country"
},
"currency": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Currency"
},
"destination": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Destination"
},
"discount": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Discount"
},
"distance_km": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Distance Km"
},
"external_id": {
"title": "External Id",
"type": "integer"
},
"flights_included": {
"title": "Flights Included",
"type": "boolean"
},
"image": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Image"
},
"latitude": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Latitude"
},
"longitude": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Longitude"
},
"name": {
"title": "Name",
"type": "string"
},
"offer_end_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Offer End Date"
},
"offer_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Offer Url"
},
"opinion_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Opinion Count"
},
"price": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Price"
},
"price_label": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Price Label"
},
"price_with_flights": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Price With Flights"
},
"rating": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Rating"
},
"rating_food": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Rating Food"
},
"rating_location": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Rating Location"
},
"rating_public_area": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Rating Public Area"
},
"rating_room": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Rating Room"
},
"rating_service": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Rating Service"
},
"sales_mode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sales Mode"
},
"short_desc": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Short Desc"
},
"source": {
"title": "Source",
"type": "string"
},
"stars": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Stars"
},
"themes": {
"items": {
"type": "string"
},
"title": "Themes",
"type": "array"
},
"url_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Url Name"
}
},
"required": [
"source",
"external_id",
"name",
"destination",
"country",
"price",
"currency",
"short_desc",
"discount",
"url_name",
"sales_mode",
"offer_end_date",
"latitude",
"longitude",
"image",
"advantages",
"themes",
"stars",
"price_label",
"price_with_flights",
"flights_included",
"rating",
"opinion_count",
"rating_location",
"rating_public_area",
"rating_room",
"rating_service",
"rating_food",
"distance_km",
"offer_url"
],
"title": "OfferOut",
"type": "object"
}
},
"properties": {
"advantages": {
"items": {
"type": "string"
},
"title": "Advantages",
"type": "array"
},
"availabilities": {
"items": {
"$ref": "#/$defs/AvailabilityOut"
},
"title": "Availabilities",
"type": "array"
},
"availabilities_by_month": {
"items": {
"$ref": "#/$defs/MonthPriceOut"
},
"title": "Availabilities By Month",
"type": "array"
},
"availabilities_supported": {
"title": "Availabilities Supported",
"type": "boolean"
},
"cheapest_price": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Cheapest Price"
},
"gallery": {
"items": {
"type": "string"
},
"title": "Gallery",
"type": "array"
},
"included_added_values": {
"items": {
"type": "string"
},
"title": "Included Added Values",
"type": "array"
},
"non_included_added_values": {
"items": {
"type": "string"
},
"title": "Non Included Added Values",
"type": "array"
},
"offer": {
"$ref": "#/$defs/OfferOut"
}
},
"required": [
"offer",
"advantages",
"included_added_values",
"non_included_added_values",
"gallery",
"availabilities",
"availabilities_by_month",
"availabilities_supported",
"cheapest_price"
],
"title": "OfferDetailsOut",
"type": "object"
}
},
{
"description": "Search and filter the current VeryChic offers by destination, country, price,\n discount, stars, flights, theme, or proximity — with optional sorting.\n\n When to use: when you already know roughly what the user wants — a place, a country,\n a budget, a minimum discount or star rating, flights vs hotel-only, a theme (e.g.\n pool, spa, romantic, last_minute), or hotels near a point (near_lat/near_lng, with an\n optional radius_km). To inspect one specific offer in depth use\n `verychic_offer_details`. All filters are optional and combine with AND; call it with\n no filter to browse the full current catalogue in catalogue order.\n\n Behaviour: read-only and anonymous; rate-limited to about 1 request per second.\n Filtering is done client-side over the live catalogue: `destination` is a\n substring (matched on destination or name), `country` is an exact match — both\n ignore case and accents, so 'grece' matches the catalogue's 'Grèce' —\n `max_price`/`min_discount`/`min_stars` are numeric bounds,\n `flights_included` toggles flight-bearing vs hotel-only, and `theme` matches a curated\n label decoded from the catalogue's thematics tags. Use `sort_by` to order results\n (`discount`, `price`, `rating`, `stars`, or `distance`). Prices are in EUR and text is\n in French; there is no pagination. Returns the first `limit` matches after filtering\n and sorting. \"Current\" means live offers at call time; the catalogue changes over time.\n\n Returns a list of offer objects (same `source` + `external_id` pair for use with\n `verychic_offer_details`). Each offer also carries `discount` (percent off, may be\n null), `stars` (1-5, may be null), `price_label` (human-readable price unit, e.g.\n \"à partir de par pers. pour 3 nuits\" vs \"par chambre\" — read this before comparing\n prices), `price_with_flights` (EUR, null when not applicable), `flights_included`\n (bool), `rating` (overall guest grade out of 10), `opinion_count` (how many\n reviews that grade rests on — check it before trusting a rating), the per-topic\n grades `rating_location`, `rating_room`, `rating_service`, `rating_food` and\n `rating_public_area` (out of 10, null when unrated), and `themes` (curated theme\n labels decoded from the catalogue's thematics tags, e.g. [\"pool\", \"luxury\"]).\n The catalogue carries no reviews, so every grade is null and `opinion_count` is 0\n here; call `verychic_offer_details` on an offer to get its real review data.\n An empty list means no offer matched the filters.\n\n Proximity search: pass `near_lat` and `near_lng` (decimal degrees, together) to\n compute each offer's `distance_km` from that point; add `radius_km` to keep only\n offers within that distance, and/or `sort_by=\"distance\"` for nearest-first.\n `distance_km` is null when no center is given.\n ",
"inputSchema": {
"properties": {
"country": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"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.",
"title": "Country"
},
"destination": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"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.",
"title": "Destination"
},
"flights_included": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"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.",
"title": "Flights Included"
},
"limit": {
"default": 20,
"description": "Maximum number of matching offers to return (default 20), applied after filtering and sorting. No pagination.",
"title": "Limit",
"type": "integer"
},
"max_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"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.",
"title": "Max Price"
},
"min_discount": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"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.",
"title": "Min Discount"
},
"min_stars": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"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.",
"title": "Min Stars"
},
"near_lat": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"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.",
"title": "Near Lat"
},
"near_lng": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"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.",
"title": "Near Lng"
},
"radius_km": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"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.",
"title": "Radius Km"
},
"sort_by": {
"anyOf": [
{
"enum": [
"discount",
"price",
"rating",
"stars",
"distance"
],
"type": "string"
},
{
"type": "null"
}
],
"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.",
"title": "Sort By"
},
"theme": {
"anyOf": [
{
"enum": [
"adults_only",
"city_break",
"cruise",
"island",
"last_minute",
"luxury",
"mountain",
"nature",
"pool",
"romantic",
"rooftop",
"spa",
"sun",
"villa"
],
"type": "string"
},
{
"type": "null"
}
],
"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.",
"title": "Theme"
}
},
"title": "verychic_search_offersArguments",
"type": "object"
},
"name": "verychic_search_offers",
"outputSchema": {
"$defs": {
"OfferOut": {
"properties": {
"advantages": {
"items": {
"type": "string"
},
"title": "Advantages",
"type": "array"
},
"country": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Country"
},
"currency": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Currency"
},
"destination": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Destination"
},
"discount": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Discount"
},
"distance_km": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Distance Km"
},
"external_id": {
"title": "External Id",
"type": "integer"
},
"flights_included": {
"title": "Flights Included",
"type": "boolean"
},
"image": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Image"
},
"latitude": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Latitude"
},
"longitude": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Longitude"
},
"name": {
"title": "Name",
"type": "string"
},
"offer_end_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Offer End Date"
},
"offer_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Offer Url"
},
"opinion_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Opinion Count"
},
"price": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Price"
},
"price_label": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Price Label"
},
"price_with_flights": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Price With Flights"
},
"rating": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Rating"
},
"rating_food": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Rating Food"
},
"rating_location": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Rating Location"
},
"rating_public_area": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Rating Public Area"
},
"rating_room": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Rating Room"
},
"rating_service": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Rating Service"
},
"sales_mode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sales Mode"
},
"short_desc": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Short Desc"
},
"source": {
"title": "Source",
"type": "string"
},
"stars": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Stars"
},
"themes": {
"items": {
"type": "string"
},
"title": "Themes",
"type": "array"
},
"url_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Url Name"
}
},
"required": [
"source",
"external_id",
"name",
"destination",
"country",
"price",
"currency",
"short_desc",
"discount",
"url_name",
"sales_mode",
"offer_end_date",
"latitude",
"longitude",
"image",
"advantages",
"themes",
"stars",
"price_label",
"price_with_flights",
"flights_included",
"rating",
"opinion_count",
"rating_location",
"rating_public_area",
"rating_room",
"rating_service",
"rating_food",
"distance_km",
"offer_url"
],
"title": "OfferOut",
"type": "object"
}
},
"properties": {
"result": {
"items": {
"$ref": "#/$defs/OfferOut"
},
"title": "Result",
"type": "array"
}
},
"required": [
"result"
],
"title": "verychic_search_offersOutput",
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:6e23cd843f79a061982e51ac6a4248a44e2011981a4ad7d46a486ae78451bd54 | sha256sum