verychic-mcp
This server lets you browse, filter, and price VeryChic hotel flash-sale deals anonymously.
Search offers (
verychic_search_offers): filter by destination (substring, accent‑insensitive), country (exact, accent‑insensitive), max price (EUR), min discount %, min star rating, flights‑included flag, curated theme (e.g. spa, luxury, last_minute), or proximity (near_lat/lng + radius_km).Sort results by discount, price, rating, stars, or distance (nearest first), and limit the number returned.
Get offer details (
verychic_offer_details): for a specific offer (via itssource+external_id), retrieve full content, advantages, gallery, included/excluded value‑adds, guest review grades, and a per‑month price rollup.View dated availability and prices for hotels: day‑by‑day check‑in dates with price, currency, nights, and departure city; a
cheapest_pricesummary is also provided.Handle tour‑operator packages: details return content but mark
availabilities_supported: falsesince those packages have no date‑by‑date prices.Works read‑only and anonymously — no login needed, with a built‑in rate limit (≈1 request/second).
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@verychic-mcp Search VeryChic offers in Spain under 600 euros."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
VeryChic MCP
Find, filter, and price VeryChic hotel deals from any MCP client
Browse current flash-sale offers, filter them by destination, country, price, discount, stars, flights, theme, or proximity (and sort the results), then read an offer's availability and prices by date. Read-only, anonymous, no account needed.
Read-only and anonymous. This server only searches and reads offers — it never books, never logs in, and uses no credentials. A conservative rate limit (≥ 1 s between requests) is built into the client. See the disclaimer for terms of use.
Demo
Adding the hosted VeryChic MCP server to Claude Desktop as a custom connector, then asking for Spain deals under €600:

Related MCP server: Booking MCP Server
Quick start
Add the server to your MCP client config. With uv installed,
there is nothing to clone or install:
{
"mcpServers": {
"verychic": {
"command": "uvx",
"args": ["verychic-mcp"]
}
}
}This runs the server over stdio, which is what Claude Desktop and Claude Code use. You can also run it directly:
uvx verychic-mcp # stdio (default)
uvx verychic-mcp --help # all optionsThe same command/args pair works in every stdio client; only the wrapping config differs.
These configs are for local clients (stdio). For cloud clients like claude.ai or Cowork,
which connect over HTTPS instead, see Use from Claude.ai or Cowork.
claude mcp add verychic -- uvx verychic-mcp{
"mcpServers": {
"verychic": {
"command": "uvx",
"args": ["verychic-mcp"]
}
}
}{
"servers": {
"verychic": {
"command": "uvx",
"args": ["verychic-mcp"]
}
}
}{
"mcpServers": {
"verychic": {
"command": "uvx",
"args": ["verychic-mcp"]
}
}
}Tools
Tool | What it returns |
| Offers filtered by |
| One offer's content (advantages, gallery) plus its availability and prices by date. |
Every call is read-only and anonymous, with a conservative rate limit built into the client.
verychic_search_offers
Returns the offers matching every filter you pass (filters are combined with AND).
Parameter | Type | Required | Description |
| string | no | Substring matched against the offer's destination or name, ignoring case and accents ( |
| string | no | Exact country match, ignoring case and accents ( |
| number | no | Keep only offers priced at or below this value (EUR). |
| number | no | Keep only offers with at least this discount percentage (e.g. |
| integer | no | Keep only offers with at least this hotel star rating (1–5). |
| boolean | no |
|
| string (enum) | no | Keep only offers matching a curated theme decoded from the catalogue's thematics tags. One of: |
| number | no | Latitude/longitude of a search center (decimal degrees), given together, to compute each offer's |
| number | no | Keep only offers within this many km of |
| string (enum) | no | Order results: |
| integer | no | Max number of offers to return. Defaults to |
verychic_offer_details
Returns one offer's full content plus, for hotels, its day-by-day availability and prices.
Parameter | Type | Required | Description |
| string | yes |
|
| integer | yes | The offer's id, as returned by |
| array of strings | no | Months to look up availability for, each written |
Examples
Ask your assistant things like:
"Browse the current VeryChic deals."
"Search VeryChic offers in Spain under 600 euros."
"Find 5-star spa hotels with at least 40% off, cheapest first."
"Show VeryChic offers within 300 km of Paris (48.8566, 2.3522), nearest first."
"Get the details and dated prices for the ORCHESTRA hotel offer 44983."
"What does that hotel cost in February and March 2027?" The assistant passes
months: ["02/2027", "03/2027"]to look beyond the default window."Which month is cheapest for this hotel?"
availabilities_by_monthanswers it directly — one row per month with stock, so a widemonthswindow stays cheap to read."Get the details for the ORCHESTRA_TO package offer 301375." Tour-operator packages bundle flights with the hotel, so they do not expose day-by-day prices the way a single hotel does. The tool still returns the offer content and advantages, and sets
availabilities_supported: falseso an emptyavailabilitiesreads as "not supported for this offer type", not "no dates available".
Offers carry a source (ORCHESTRA for a hotel, ORCHESTRA_TO for a package) and an
external_id. Both come back from verychic_search_offers, so the
assistant can pass them to verychic_offer_details on its own.
A verychic_search_offers result is a list of offer objects (one shown here, trimmed):
{
"source": "ORCHESTRA",
"external_id": 36509,
"name": "Sofitel New York ****",
"destination": "New York, États-Unis",
"country": "États-Unis",
"price": 182,
"currency": "EUR",
"discount": 57.0,
"sales_mode": "FLASH",
"offer_end_date": "2026-06-24T23:55+0200",
"image": "https://.../sofitel-new-york.jpg",
"advantages": ["Petit-déjeuner inclus", "VeryFlexible : réservez en toute sérénité !"],
"offer_url": "https://www.verychic.fr/p/36509/etats-unis-new-york-hotel-sofitel-new-york"
}verychic_offer_details adds gallery, included_added_values, a cheapest_price, the
guest review grades, a per-month price rollup, and the day-by-day availabilities
for a hotel:
{
"offer": {
"source": "ORCHESTRA", "external_id": 44983, "name": "Hotel Kaktus Playa *****",
"rating": 8.5, "opinion_count": 67,
"rating_location": 8.1, "rating_room": 9.2, "rating_service": 8.9,
"rating_food": 9.1, "rating_public_area": 9.1,
"...": "..."
},
"cheapest_price": 169,
"availabilities_supported": true,
"availabilities_by_month": [
{ "month": "06/2026", "min_price": 169, "currency": "EUR", "dates_available": 5 }
],
"availabilities": [
{ "date": "20/06/2026", "price": 169, "currency": "EUR", "nights": 1, "days": 2 },
{ "date": "21/06/2026", "price": 169, "currency": "EUR", "nights": 1, "days": 2 }
]
}Use from Claude.ai or Cowork
Unlike the local clients in Quick start, cloud clients such as claude.ai and
Cowork only connect to remote MCP servers over HTTPS, not to a local process. To use VeryChic
MCP there, host it yourself in streamable-http mode
(verychic-mcp --transport streamable-http, behind HTTPS) and add it as a custom connector,
pasting your deployment URL with the /mcp path.
A public instance is deployed for convenience at https://verychic-mcp.fly.dev/mcp. Add it as
a custom connector in claude.ai/Cowork, or wire it into a local client that speaks remote MCP:
{
"mcpServers": {
"verychic": {
"url": "https://verychic-mcp.fly.dev/mcp"
}
}
}It is best-effort and may be paused or rate-limited at any time — for anything beyond a quick
try, run your own instance with the uvx command above or host the streamable-http mode.
Listing in Anthropic's official connector directory (next to Booking or Tripadvisor) is out of scope. That directory is reserved for partner integrations that pass a review this kind of tool would not.
How it works
The VeryChic web app talks to a public JSON API under
https://api.verychic.com/verychic-endpoints/v1 (plus search.verychic.com). This server
replays those same calls with a browser-like TLS fingerprint (curl_cffi), parses the
responses into typed objects, and exposes them as MCP tools. Everything works without logging
in. The one volatile request parameter, channelVersion, is read from the live site at startup
and falls back to a known value if that read fails.
Development
git clone https://github.com/jordantete/verychic-mcp.git && cd verychic-mcp
pip install -e ".[dev]"
pytest # offline tests, run against recorded fixtures
pytest -m network # optional smoke test against the live API, low volume
ruff check verychic_mcp testsReleases are tag-driven. Pushing a vX.Y.Z tag runs the tests, builds the package, and
publishes it to PyPI through GitHub Actions with trusted publishing,
so no token is stored anywhere.
Disclaimer
VeryChic MCP is not affiliated with, endorsed by, or connected to VeryChic or VeryChic SAS. It is an independent community tool for personal use that reads VeryChic's public web API the same way a browser does. You are responsible for complying with VeryChic's terms of sale, notably Article 9 on intellectual property and the database producer's sui generis right. Use it at your own risk, for personal and low-volume browsing only. Do not use it for bulk extraction or redistribution of VeryChic's data.
License
MIT. See LICENSE.
Available Tools
2 toolsverychic_offer_detailsARead-onlyIdempotentInspect
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.
Inputs: source (required), external_id (required), months. Returns: offer, gallery, advantages, availabilities, +5 more
verychic_search_offersARead-onlyIdempotentInspect
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.
Inputs: limit, theme, country, sort_by, +8 more. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 2 tools
The two tools have clearly distinct roles: one searches and filters the catalogue, the other retrieves detailed availability for a specific offer. Their descriptions explicitly cross-reference each other and there is no functional overlap.
Both tools share the 'verychic_' prefix, but the pattern deviates slightly: 'search_offers' follows verb-object while 'offer_details' follows object-descriptor. Still, both names are readable and predictable.
Two tools is minimal, but it matches the narrow read-only scope of browsing and inspecting offers. Each tool is substantial and covers a distinct part of the workflow, so neither feels superfluous or missing.
The tool surface covers the complete user journey for a read-only travel-offer catalog: broad search with rich filtering and sorting, then detailed inspection with availability and pricing. No obvious gaps or dead ends exist.
Maintenance
Related MCP Connectors
Live hotel prices worldwide, sourced destination guides, prebooking. No key needed for reads.
Search hotels and get hotel details. Search-only; book on hotely.travel.
Hotel booking MCP server. Search, book, and manage reservations across 250K+ properties worldwide.
Search 650,000 hotels, get each hotel's direct price with full offer lists, match rooms, book.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides MCP tools for discovering Groupon-style deals (search, get, compare) for customers, and additionally merchant intelligence tools (category insights, market gaps, price positioning) for logged-in merchants.ISC
- AlicenseAqualityBmaintenanceEnables MCP clients to search stays by destination and dates with rich filters and read full property details as structured JSON, without needing a Booking.com account or self-hosting.281 npm38 PyPI6MIT
- AlicenseAqualityBmaintenanceSearches hotels and vacation rentals with nightly and total rates, ratings, amenities, and detailed property information through natural language in any MCP client.172 npm27 PyPI2MIT
- AlicenseAqualityCmaintenanceEnables MCP clients to search hotel availability, validate rates, create and retrieve bookings, simulate or execute cancellations, and browse destinations and hotel content through the Hotelbeds Booking and Content APIs. Includes a surface-and-reconfirm booking flow that re-validates live prices with a tolerance before confirming.9MIT