Metadata-Version: 2.4
Name: verychic-mcp
Version: 0.1.0
Summary: Unofficial read-only MCP server for VeryChic hotel offers
Project-URL: Homepage, https://github.com/jordantete/verychic-mcp
Project-URL: Repository, https://github.com/jordantete/verychic-mcp
Project-URL: Issues, https://github.com/jordantete/verychic-mcp/issues
Author: VeryChic MCP contributors
License-Expression: MIT
License-File: LICENSE
Keywords: hotels,mcp,model-context-protocol,travel,verychic
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Internet :: WWW/HTTP
Requires-Python: >=3.11
Requires-Dist: curl-cffi>=0.7
Requires-Dist: mcp[cli]>=1.2
Provides-Extra: dev
Requires-Dist: build>=1.2; extra == 'dev'
Requires-Dist: pytest>=8; extra == 'dev'
Requires-Dist: ruff>=0.6; extra == 'dev'
Description-Content-Type: text/markdown

# VeryChic MCP

An **unofficial, read-only** [Model Context Protocol](https://modelcontextprotocol.io) server for
[VeryChic](https://www.verychic.fr) hotel flash-sale offers. Search current deals, filter them, and
get an offer's details with availability and prices by date — straight from your MCP client.

> ⚠️ **Disclaimer.** This project is **not affiliated with, endorsed by, or connected to VeryChic /
> VeryChic SAS** in any way. It is an independent, community tool for **personal use**. It accesses
> VeryChic's public web API the same way a browser does. You are responsible for complying with
> VeryChic's Terms (Conditions Générales de Vente — notably Art. 9 on intellectual property and the
> *sui generis* database right). Use it at your own risk, for personal, low-volume browsing only.
> Do not use it for bulk extraction or redistribution of VeryChic's data.

## What it does

Three tools:

| Tool | Description |
|---|---|
| `verychic_list_deals` | The current VeryChic offers (limit configurable). |
| `verychic_search_offers` | Filter offers by `destination` (substring), `country` (exact), and/or `max_price`. |
| `verychic_offer_details` | An offer's content (advantages, gallery) **plus availability and prices by date**. |

All read-only, anonymous (no login), with a built-in conservative rate limit.

## Install & use (local — Claude Desktop / Claude Code)

Zero-install with [`uv`](https://docs.astral.sh/uv/). Add this to your MCP client config:

```json
{
  "mcpServers": {
    "verychic": {
      "command": "uvx",
      "args": ["verychic-mcp"]
    }
  }
}
```

That runs the server over **stdio**. No clone, no manual install.

To run it yourself:

```bash
uvx verychic-mcp            # stdio (default)
uvx verychic-mcp --help     # see options
```

## Use from Claude.ai / Cowork (remote)

Cloud clients (claude.ai web, Cowork) can only talk to **remote** MCP servers over HTTPS, so you must
**self-host** the server in `streamable-http` mode and add it as a *custom connector* by URL. See
[DEPLOY.md](DEPLOY.md) for a 1-click template. Then, in Claude settings → Connectors → Add custom
connector, paste your deployment URL.

> Listing in Anthropic's official connector directory (next to Booking/Tripadvisor) is **out of
> scope**: it requires a partner review this kind of tool would not pass.

## Tool examples

- "List the current VeryChic deals."
- "Search VeryChic offers in Spain under 600 €."
- "Get the details and dated prices for VeryChic offer ORCHESTRA 44983."

## Development

```bash
git clone https://github.com/jordantete/verychic-mcp.git && cd verychic-mcp
pip install -e ".[dev]"
pytest                 # offline tests (fixtures); excludes the @network smoke test
pytest -m network      # optional: hits the live VeryChic API (low volume)
ruff check verychic_mcp tests
```

## How it works

VeryChic's web front-end calls a public JSON API under `https://api.verychic.com/verychic-endpoints/v1`
(plus `search.verychic.com`). This server replays those calls with a browser-like TLS fingerprint
(`curl_cffi`), parses the responses, and exposes them as MCP tools. The volatile `channelVersion`
parameter is auto-discovered from the live site, with a hardcoded fallback.

## License

MIT — see [LICENSE](LICENSE).
