About Verychic MCP
Verychic MCP is a read-only server for browsing VeryChic hotel and package deals. It lets travel planners search and compare offers, then inspect dated hotel availability and prices without an account.
Key features
- 01Filter and sort flash-sale offers
- 02Search by destination, price, discount, and stars
- 03Find offers by proximity
- 04Read offer details and dated hotel prices
- 05Anonymous, read-only access
Use cases
- 01Find discounted hotels in a chosen destination
- 02Compare offers by price or discount
- 03Check hotel availability for travel dates
MCP support
Exposes VeryChic offer search and detail lookup as MCP tools for connected clients. It can run over stdio or Streamable HTTP.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://verychic-mcp.fly.dev/mcpclaude mcp add --transport http verychic https://verychic-mcp.fly.dev/mcp{"mcpServers":{"verychic":{"type":"http","url":"https://verychic-mcp.fly.dev/mcp"}}}Open in Cursor{"servers":{"verychic":{"type":"http","url":"https://verychic-mcp.fly.dev/mcp"}}}Open in VS Code{"mcpServers":{"verychic":{"type":"http","url":"https://verychic-mcp.fly.dev/mcp"}}}{"mcpServers":{"verychic":{"serverUrl":"https://verychic-mcp.fly.dev/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
2| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | No | Maximum number of matching offers to return (default 20), applied after filtering and sorting. No pagination. |
| theme | any | No | 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 | any | No | 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 | any | No | 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 | any | No | 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 | any | No | 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 | any | No | 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 | any | No | 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 | any | No | 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 | any | No | 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 | any | No | 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 | any | No | Filter on whether flights are part of the offer: true keeps flight-bearing offers, false keeps hotel-only offers. Omit to not filter. |
Details
From the project README
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:

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 options
The 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 Code (one-liner)
claude mcp add verychic -- uvx verychic-mcp
Cursor — ~/.cursor/mcp.json
{
"mcpServers": {
"verychic": {
"command": "uvx",
"args": ["verychic-mcp"]
}
}
}
VS Code — .vscode/mcp.json (note the servers key)
{
"servers": {
"verychic": {
"command": "uvx",
"args": ["verychic-mcp"]
}
}
}
Windsurf — ~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"verychic": {
"command": "uvx",
"args": ["verychic-mcp"]
}
}
}
Tools
| Tool | What it returns |
|---|---|
verychic_search_offers | Offers filtered by destination, country, max_price, min_discount, min_stars, flights_included, theme, or proximity (near_lat/near_lng/radius_km), with optional sort_by. |
verychic_offer_details | 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 |
|---|---|---|---|
destination | string | no | Substring matched against the offer's destination or name, ignoring case and accents (crete finds Crète). |
country | string | no | Exact country match, ignoring case and accents ("Espagne", "Grece" finds Grèce). |
max_price | number | no | Keep only offers priced at or below this value (EUR). |
min_discount | number | no | Keep only offers with at least this discount percentage (e.g. 40). |
min_stars | integer | no | Keep only offers with at least this hotel star rating (1–5). |
flights_included | boolean | no | true keeps flight-bearing offers, false keeps hotel-only offers. |
theme | string (enum) | no | Keep only offers matching a 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. |
near_lat / near_lng | number | no | Latitude/longitude of a search center (decimal degrees), given together, to compute each offer's distance_km. |
radius_km | number | no | Keep only offers within this many km of near_lat/near_lng (requires both). |
sort_by | string (enum) | no | Order results: discount, price, rating, stars, or distance (nearest first, requires a center). |
limit | integer | no | Max number of offers to return. Defaults to 20. |
verychic_offer_details
Returns one offer's full content plus, for hotels, its day-by-day availability and prices.
| Parameter | Type | Required | Description |
|---|---|---|---|
source | string | yes | ORCHESTRA for a hotel, ORCHESTRA_TO for a tour-operator package. |
external_id | integer | yes | The offer's id, as returned by verychic_search_offers. |
months | array of strings | no | Months to look up availability for, each written MM/YYYY (e.g. ["01/2027", "02/2027"]). Defaults to roughly the next 5 months. |
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 tests
Releases 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.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.