VeryChic MCP

MCP serverDev tools

Once this integration is added, your AI can read current VeryChic hotel offers and bring them into your conversations. It is unofficial and read-only, so it can view deals but cannot make bookings or changes. Its source code is available on GitHub.

Use VeryChic MCP in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add VeryChic MCP and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use the verychic search offers tool from VeryChic MCP

Details

Available today. Use it from your connected AI after setup.

After adding it, ask your AI to show you the latest VeryChic hotel offers or look into a deal you have in mind.

VeryChic MCPStart free

What your AI can do with it

  • Browse current VeryChic hotel offers
  • View details of individual hotel deals
  • Bring up VeryChic deals while you plan a trip
  • Answer questions about the offers it can read

Install VeryChic MCP

The server’s own address, for the clients that take one directly. Or connect Ahel once and every client you use reads it from one address, with the account kept on Ahel rather than in each client’s config.

  • Claude Code

    claude mcp add --transport http --scope user verychic-mcp 'https://verychic-mcp.fly.dev/mcp'

    Run it once in your project, then open /mcp to approve any sign-in the server asks for.

  • Claude Desktop

    https://verychic-mcp.fly.dev/mcp

    Add a custom connector in Settings, paste this address, and approve the sign-in.

  • Cursor

    cursor://anysphere.cursor-deeplink/mcp/install?name=verychic-mcp&config=eyJ1cmwiOiJodHRwczovL3ZlcnljaGljLW1jcC5mbHkuZGV2L21jcCJ9

    Open the link and Cursor adds the server at that address.

  • ChatGPT

    https://verychic-mcp.fly.dev/mcp

    In Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.

  • Codex

    codex mcp add verychic-mcp --url 'https://verychic-mcp.fly.dev/mcp'

    Run it once, then sign in with codex mcp login verychic-mcp if the server asks for an account.

From the project's README

As published by jordantete/verychic-mcp in README.md.

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:

▶ Watch it as MP4

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 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

ToolWhat it returns
verychic_search_offersOffers 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_detailsOne 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).

ParameterTypeRequiredDescription
destinationstringnoSubstring matched against the offer's destination or name, ignoring case and accents (crete finds Crète).
countrystringnoExact country match, ignoring case and accents ("Espagne", "Grece" finds Grèce).
max_pricenumbernoKeep only offers priced at or below this value (EUR).
min_discountnumbernoKeep only offers with at least this discount percentage (e.g. 40).
min_starsintegernoKeep only offers with at least this hotel star rating (1–5).
flights_includedbooleannotrue keeps flight-bearing offers, false keeps hotel-only offers.
themestring (enum)noKeep 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_lngnumbernoLatitude/longitude of a search center (decimal degrees), given together, to compute each offer's distance_km.
radius_kmnumbernoKeep only offers within this many km of near_lat/near_lng (requires both).
sort_bystring (enum)noOrder results: discount, price, rating, stars, or distance (nearest first, requires a center).
limitintegernoMax 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.

ParameterTypeRequiredDescription
sourcestringyesORCHESTRA for a hotel, ORCHESTRA_TO for a tour-operator package.
external_idintegeryesThe offer's id, as returned by verychic_search_offers.
monthsarray of stringsnoMonths 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_month answers it directly — one row per month with stock, so a wide months window 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: false so an empty availabilities reads 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.

Tools it offers (2)

What this server listed when Ahel dialed its public endpoint in Sep 2026, with no key and no account of yours. The names are the server’s own.

  • verychic_search_offers
  • verychic_offer_details

Signals

GitHub stars
1
Last commit
Sep 2026
Advanced
Delivery
verychic-mcp MCP server → your Ahel connector (mcp.ahel.ai) → your AI.
Item type
mcp-server
Key
io-github-jordantete-verychic-mcp
Source
github.com/jordantete/verychic-mcp
Hosted endpoint
https://verychic-mcp.fly.dev/mcp