---
title: "MCP server, quote API and data for AI agents"
description: "How AI assistants and agents use Côte Privée: a public MCP server, an exact-price API, JSON data files and pre-filled booking links. No sign-in."
url: https://www.cote-privee.com/agents
lang: en
updated: 2026-10-08
generated: 2026-10-08
image: https://www.cote-privee.com/og-default.png
---

# Côte Privée for AI agents and developers

> Côte Privée is a licensed private driver (VTC) based in Beaune, Burgundy, with one electric car for up to 4 guests, and a Mercedes E-Class or V-Class (up to 7 guests) on request. Assistants and agents can search its places and events, read its pages, get exact prices per vehicle and prepare a booking with the tools below. They are public, need no sign-in and charge nothing: a booking stays a request until the driver confirms it by e-mail and the traveller pays the 30% deposit.

## MCP server

Address: `https://www.cote-privee.com/mcp`, Streamable HTTP (POST, JSON answers, no sessions), no authentication.

Protocol versions: `2026-07-28`, where every request carries its `_meta` and `server/discover` describes the server, and `2025-11-25`, `2025-06-18` and `2025-03-26`, which start with `initialize`.

Add the address as a remote MCP server (a custom connector in Claude), or try it with `npx @modelcontextprotocol/inspector`. The tools:

- `search_places`: villages, châteaux, things to do and starred restaurants, with their commune, the drive time and the price from Beaune, the wine day of their page and a booking link; around a place with `near` and `radiusKm`; a restaurant with its stars and cheapest menu.
- `get_page`: any page of the site in Markdown, by id, address or path.
- `find_events`: wine festivals and events between two dates, each with its id, the place it is held at, whether the dates are confirmed and a driver quote for the day asked (from Beaune or `origin`).
- `get_prices`: every price per vehicle, and the cars: the Polestar 2 is included, the Mercedes E-Class and V-Class are on request for a supplement per day of service.
- `get_policies`: the booking rules as facts: the cars and their seats, deposit, booking window, service hours, luggage, waiting, cancellation, child seats, languages, hours and the kind of licence.
- `check_availability`: whether the car and its driver are free on a day (free, pending, busy, or outside the booking rules), the next free days and what was read.
- `quote`: the exact price of one service or of a whole trip (`items`), with the supplement of the car (`car`), cheaper products that do the same job, the day's availability and a link to the booking page already filled in (time, guests and bags too).
- `plan_wine_day`: a timed wine day for a list of places: its length, the stops in order, the drives from and back to Beaune, lunch near midday with the starred tables near it, the price for the guests and their car.
- `find_packages`: ready-made multi-day trips of one to seven days, by length, arrival point, pace or theme: each plan day by day, its price per vehicle and a booking link with every service in it, dated from `startDate`.
- `request_booking`: sends a booking request (one service, several, or a package plan from its first day) once the traveller has seen the price and accepted the terms of sale; `dry_run` checks it without sending, a retry answers the same reference. Nothing is charged; calls from other websites' pages are refused.
- `get_booking_status`: what became of a booking request (requested, confirmed, declined, deposit paid, cancelled), with its reference and the traveller's e-mail.

A booking takes a few calls: `check_availability` for the day, `quote` for the price and the filled-in link, `request_booking` once the traveller has accepted the terms (`dry_run` to check it first), then `get_booking_status` with the reference and the traveller's e-mail until the driver has answered. His confirmation brings the deposit link (`paymentUrl`), or says how to pay it.

Resources: llms.txt, prices.json and the FAQ in Markdown. Prompt: `plan_burgundy_day` (date, guests, interests, base).

For travellers: [how to add it to Claude, ChatGPT, Perplexity, Le Chat or Gemini](https://www.cote-privee.com/ai-assistants).

## Quote API

`GET https://www.cote-privee.com/api/quote?service=wine-tour&option=full&stops=meursault,chateau:closvougeot` answers in JSON with the price per vehicle, the deposit and `bookUrl`, a link to the booking page already filled in. Stops farther from Beaune take extra hours on their wine day (Gevrey-Chambertin: one on a half day; the Mâconnais: two on a full day; [which day for where](https://www.cote-privee.com/prices#wine)), and a wine day too short for its stops is priced as the day they need, with its extra hours (`optionRaised`, `extraHours`).

Parameters: `service` (wine-tour, driver, transfer), `option` (half, full, long), `route` (lyon, paris, dijon, geneva, creusot for Le Creusot TGV station, lfsd for Dijon-Bourgogne airport, lfgj for Dole-Jura airport), `from` (beaune, a station, a city, or an airport or airfield by its ICAO code in lower case: lfsd, lfgj, lfgf Beaune-Challanges, lfgz Nuits-Saint-Georges, lflh Chalon-Champforgeuil, lfgi Dijon-Darois, lfep Pouilly-Maconge; see [the airports page](https://www.cote-privee.com/airports)), `to`, `stops`, `hours` (3 to 12), `extraHours` (a wine day's; without it, those its stops need), `returnTrip` (a driver trip back the same day, the driver waiting for you), `returnLater` (with `returnTrip`: back later the same day, two one-way rides), `date`, `guests` (1 to 7), `car` and `lang` (en, fr, de, zh). The API is described in [OpenAPI 3.1](https://www.cote-privee.com/openapi.json).

The Polestar 2 (4 guests) is included in every price. `car=eclass` (Mercedes E-Class, 4 guests) or `car=vclass` (Mercedes V-Class, up to 7 guests) adds that car's supplement per day of service, charged once for each distinct day of the booking: `car` in the answer gives the supplement per day, the days and the total, and `servicePrice` the price of the service alone. More than 4 guests are priced with the V-Class (`carRaised`). A Mercedes is confirmed with the booking, once its availability is checked.

## Data files

- [prices.json](https://www.cote-privee.com/data/prices.json): every price per vehicle, the cars with their supplement per day of service, the deposit rate and what the prices include.
- [places.json](https://www.cote-privee.com/data/places.json): every village, château, thing to do and starred restaurant, with its coordinates, the drive time and the price from Beaune.
- [places-lite.json](https://www.cote-privee.com/data/places-lite.json): the same places in short.
- [events.json](https://www.cote-privee.com/data/events.json): the events of the next twelve months, with their dates and a booking link.
- [packages.json](https://www.cote-privee.com/data/packages.json): every plan of every multi-day trip, one to seven days, day by day, with its services and their prices, and its booking link.

Each file says what it holds and when its content last changed (`updated`). events.json, prices.json and packages.json are made for the day they are read and cached a few hours; places.json and places-lite.json are made each time the site is published.

## Booking links

`https://www.cote-privee.com/book?service=wine-tour|driver|transfer` opens the booking page already filled in, with any of: `option=half|full|long` (wine day) or `lyon|paris|dijon|geneva|creusot|lfsd|lfgj` (transfer), `place=kind:id,…` (village, chateau, sight, restaurant), `from=beaune|dijon|lyon|paris|geneva|creusot` or an airport or airfield (`lfsd|lfgj|lfgf|lfgz|lflh|lfgi|lfep`), `date=YYYY-MM-DD`, `return=1` (the return trip; a driver trip: the driver waits for you) or `return=later` (a driver trip back later the same day), `hours=3…12`, `extra=1…3` (a wine day's extra hours, when more than those its stops need) and `car=eclass|vclass` (a Mercedes on request for the whole booking).

`https://www.cote-privee.com/book?package=<itinerary>&variant=<variant>` puts every service of a [multi-day trip](https://www.cote-privee.com/packages) in the booking page, each on its day of the plan from `date=YYYY-MM-DD`, the first day (find_packages and packages.json give each plan's `bookUrl`).

A link also takes `time=HH:MM`, `guests=1…7` and `luggage=0…6` (a transfer's bags); several services travel in one `items` parameter, which quote writes with `items`. `via=<agent>` names who made the link (the MCP tools write `via=mcp`; `utm_source` with `utm_medium=ai-agent`, or an assistant's own utm_source, is read the same way): the booking page then answers "How did you hear about us?" with "an AI assistant" for the traveller, who can change it.

The traveller checks the details and sends the request on the page. The driver confirms by e-mail with a secure link to pay the 30% deposit; the balance is paid on the day.

## REST booking and availability

For agents that call functions rather than MCP: `GET https://www.cote-privee.com/api/agent/availability?date=YYYY-MM-DD` (as check_availability), `POST https://www.cote-privee.com/api/agent/booking-request` with the JSON arguments of request_booking (no form ticket; the same checks, limits, `dry_run` and idempotency, an `Idempotency-Key` header standing for `requestId`), and `GET https://www.cote-privee.com/api/booking/status?ref=…&email=…` (as get_booking_status). Described in [OpenAPI 3.1](https://www.cote-privee.com/openapi.json).

Only valid requests count against the limits: 3 per address and e-mail address in 15 minutes, 20 per address in an hour, 3 a day per e-mail address. A refusal names each argument to change (`field`, `code`, `allowed` or `expected`, an English `message`, and `messageLocalized` in the language asked for) and, after a limit, `retryAfter` in seconds.

## Reading the site

- [llms.txt](https://www.cote-privee.com/llms.txt): a map of the site for assistants, also in [French](https://www.cote-privee.com/fr/llms.txt), [German](https://www.cote-privee.com/de/llms.txt) and [Chinese](https://www.cote-privee.com/zh/llms.txt).
- [llms-full.txt](https://www.cote-privee.com/llms-full.txt): everything in one file; the same knowledge by topic in `/llms/<topic>.txt`.
- Every page in Markdown: `/md` before its path and `.md` after it, for example [the prices](https://www.cote-privee.com/md/prices.md). A page asked for with `Accept: text/markdown` answers in Markdown.

## Privacy and support

The read-only tools ask nothing about the traveller. The server logs which tool ran, in which language, how it ended and how long it took, and counts the calls of each tool per day, never the arguments.

`request_booking` sends the traveller's name, e-mail address, phone number, pickup details and notes to the driver, as the [booking page](https://www.cote-privee.com/book) does. Personal data are handled as the [legal notice](https://www.cote-privee.com/legal) describes; questions go through the [contact page](https://www.cote-privee.com/contact).

---

Canonical page: <https://www.cote-privee.com/agents>
