Côte Privée: private driver in Burgundy
Server Details
Private driver in Beaune, Burgundy: places, events, prices, availability, quotes, bookings.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 11 tools
Most tools have clearly distinct purposes: availability, search, planning, quoting, booking, and status are separate. Some overlap remains between get_prices, quote, plan_wine_day, and get_page for pricing/details, and get_page can also retrieve policies, so an agent may occasionally hesitate.
All names use snake_case and are mostly verb_noun (check_availability, find_events, get_booking_status, request_booking). The lone 'quote' and generic 'get_page' are minor deviations from the otherwise predictable pattern.
Eleven tools is well within the ideal range for a booking-oriented travel service. Each tool covers a distinct part of the workflow: discovery, pricing, itinerary planning, booking, and status.
The surface covers discovery, availability, pricing, planning, booking requests, and status checks, which is strong lifecycle coverage. Minor gaps include no explicit cancel or modify booking operation, though status includes cancelled as a state.
Available Tools
11 toolscheck_availabilityIs the driver free?BRead-onlyInspect
Whether the one car and its driver are free on a day and the next days: free; pending (a request awaits the driver's answer and may still be confirmed); busy; unbookable (outside the booking rules: tomorrow to 18 months ahead, Beaune time, within the service's hours). With the hours held, the next free days, the sources read, when, today's date, the page to cite (url, pricesUrl) and a booking link. The driver confirms every booking.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| days | No | ||
| lang | No | ar: Arabic notes, data in English. | |
| time | No | Pickup. | |
| service | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| date | Yes | |
| days | Yes | |
| note | Yes | |
| time | No | |
| rules | Yes | |
| state | Yes | |
| today | Yes | |
| bookUrl | No | |
| service | No | |
| sources | Yes | |
| nextFree | Yes | |
| timezone | Yes | |
| checkedAt | Yes | |
| pricesUrl | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, but the description adds useful behavioral context: what pending means, that pending may still be confirmed, the booking-window rules (tomorrow to 18 months ahead, Beaune time, service hours), and that the driver confirms every booking. It also mentions returned materials such as sources read, today's date, citation URL and booking link. This goes meaningfully beyond annotations, though it does not discuss rate limits or auth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core question is front-loaded and there is little filler. However, the second sentence is an awkward list fragment ('With the hours held, the next free days, ...') and the status list is packed into one long sentence. It is compact but structurally could be clearer.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return fields need not be fully re-explained, and annotations cover the safety profile. The description supplies the booking window and status semantics, but it omits parameter-level details such as service enum meanings and the days range. That leaves an agent to infer some important inputs, so it is adequate but incomplete for a five-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40%: just lang and time are documented in the schema. The description indirectly maps 'a day and the next days' to date/days and 'within the service's hours' to service/time, but it never explains the service enum values (wine-tour, driver, transfer) or the 1–31 days range. With low coverage, the description should compensate more fully and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening clause states the exact resource and scope: whether the one car and its driver are free for a day plus the next days. It enumerates the four possible statuses, making clear this is an availability lookup rather than a booking action. It does not explicitly compare itself to siblings such as get_booking_status or request_booking, so 4 rather than 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the pending/busy distinction, the unbookable window, and that the driver confirms every booking, which implies checking availability before requesting a booking. However, it never names request_booking or get_booking_status or states when to use those alternatives instead. Usage is therefore implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_eventsFind events and wine festivalsBRead-onlyIdempotentInspect
Wine fairs, festivals, auctions and cultural events between two dates, at their next appearance: id (event:, which quote takes as to), placeId, dates and whether they are confirmed, website, and a driver quote for the day asked within the event (dated once confirmed): a wine day for a wine event in a wine village, else the ride from Beaune (or origin) and back later the same day.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Default a year after from. | |
| from | No | Default today. | |
| lang | No | ar: Arabic notes, data in English. | |
| limit | No | ||
| query | No | Words, e.g. "Hospices", "jazz". | |
| origin | No | Start of the driver quote (default beaune). |
Output Schema
| Name | Required | Description |
|---|---|---|
| to | Yes | |
| from | Yes | |
| count | Yes | |
| events | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool is read-only, idempotent, non-destructive, and closed-world. Beyond that, the description adds useful behavior: events are shown at their next appearance, confirmation status is included, and a driver quote is generated and dated once confirmed, distinguishing wine-day quotes from ride quotes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense run-on sentence with awkward parentheticals and unclear phrasing such as 'which quote takes as to' and 'at their next appearance: id'. It front-loads event types but is not structured for quick parsing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema and annotations carry much of the burden, and the description covers event types, date range, confirmation status, and quote behavior. Still, it lacks clear sibling-routing guidance and leaves parameter usage details to the schema, which is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 83%, so the schema already documents most parameters. The description refers to the date range and origin/driver quote, but does not clarify query, limit, or lang, and adds little semantic detail beyond the schema baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names specific event resources (wine fairs, festivals, auctions, cultural events) and a date range, so the agent can tell what domain it covers. However, it is phrased as a noun list rather than a clear verb+resource statement and does not explicitly distinguish itself from siblings such as quote or plan_wine_day.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to call find_events versus alternatives like check_availability, plan_wine_day, or quote. The only hint is the cryptic phrase 'which quote takes as to', leaving the agent to infer the workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_packagesFind multi-day tripsARead-onlyIdempotentInspect
Ready-made trips of one to seven days from Beaune, in plans (where the travellers arrive, the pace): the driver meets them at a station or airport, takes them to the vineyards, abbeys or tables and back. Each plan is priced per vehicle as the sum of its services; hotels, tastings, meals and visits are the traveller's own. startDate dates each service and the booking link; request_booking takes the plan's id as package. 6 results unless limit, cheapest first.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| lang | No | ar: Arabic notes, data in English. | |
| pace | No | light: one or two outings a day; full: with wine days. | |
| limit | No | ||
| query | No | ||
| theme | No | ||
| arrive | No | beaune (its station or the hotel), dijon (Dijon-Ville: the TGV from Paris), paris (collected in Paris), an airport or airfield, or air for any. | |
| maxPrice | No | ||
| startDate | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| packages | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial context beyond the read-only annotations: pricing is per vehicle as the sum of services, hotels and tastings are excluded, results default to 6 cheapest-first, and startDate affects services and booking links. It does not fully clarify availability, currency, or edge cases, but it is far richer than the annotation baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core resource and avoids obvious filler. It is dense and mostly earns its space, though the single-paragraph form and parenthetical phrasing make it slightly harder to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 9 parameters, 33% schema coverage, and an existing output schema, the description covers the core concept, pricing model, default result ordering, and booking linkage. However, it omits meaningful explanation of key filters such as theme and maxPrice, leaving the agent to infer their use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33%, so the description must compensate for several undocumented parameters. It adds meaning for startDate, limit behavior, and the trip duration range, but leaves query, theme, and maxPrice largely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: ready-made one-to-seven-day trips from Beaune, organized as plans with driver pickup and visits. It also cross-references request_booking, but it does not explicitly differentiate this tool from search-oriented siblings like find_events or search_places.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than fully stated: the tool finds packages, and request_booking consumes a package id. There is no explicit guidance on when to use this versus get_prices, quote, check_availability, or plan_wine_day.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_booking_statusStatus of a booking requestARead-onlyIdempotentInspect
What became of a booking request: requested (no answer yet), confirmed (with the deposit link once it can be paid), declined (with the driver's note), deposit_paid or cancelled, its days and amounts. Needs the reference and the e-mail address of the request.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | Yes | CP-XXX-XXX | |
| lang | No | ar: Arabic notes, data in English. | |
| Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and open-world, so safety is covered. The description adds real behavioral detail beyond them: which status values exist and what extra payload accompanies each (deposit link once payable, driver's note on decline), plus the identity pair required to read a record.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the outcome enumeration and ending with the required inputs. No filler and nothing repeated across sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly carries the return-value burden by describing each state and its associated data. Minor gaps remain around what happens on a ref/e-mail mismatch (not found vs. forbidden) and whether the deposit link expires.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%; ref already documents its CP-XXX-XXX shape and lang documents the 'ar: Arabic notes, data in English' behavior. The description's contribution is the constraint that the e-mail must be the one belonging to the request, which the email field itself does not say — useful, but the lang parameter stays unexplained in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a precise verb-and-resource framing ('What became of a booking request') and enumerates the possible states, so the agent knows exactly what is retrieved. It is clearly distinct from the write-side sibling request_booking, though it never names a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states the prerequisites ('Needs the reference and the e-mail address of the request'), which effectively conveys that this is a lookup of an existing booking rather than a search or a new request. It gives no explicit when-not guidance or named alternatives (e.g. request_booking, quote).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pageRead a page of the siteARead-onlyIdempotentInspect
A page in Markdown (a place, event, guide, service, prices, policies): facts, history, visiting, nearby, sources. ref: an id from search_places ("chateau:closvougeot"), a page address or path ("/prices") or a place name; id, url and path are the same. Without lang, an address in /fr, /de or /zh gives that language.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Same as ref. | |
| ref | No | An id, address, path or name. | |
| url | No | Same as ref. | |
| lang | No | ar: Arabic notes, data in English. | |
| path | No | Same as ref. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuine context on top of that: the response is Markdown, the content scope is bounded, and ref/id/url/path are interchangeable identifiers. It omits error behavior for missing pages and any note on size or caching.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Compact and front-loaded, leading with what the caller gets back (Markdown) before the identifier rules. The colon-and-parenthetical style is dense and the opening is a fragment rather than a sentence, which slightly reduces readability but wastes no words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description compensates by naming the return format and content types. With zero required parameters it correctly explains the many aliases for the identifier. It is short of complete only in not saying what happens when the ref resolves to nothing or when lang is unsupported.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description earns more: it gives a concrete id format ("chateau:closvougeot") and example path ("/prices"), and it explains the lang inference rule (an /fr, /de or /zh address implies that language without an explicit lang). That last point is not in the schema, which only documents the ar case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource (a page of the site) and its return format (Markdown), then enumerates the content it covers: facts, history, visiting, nearby, sources, plus place/event/guide/service pages. That is more specific than the title alone. It stops short of 5 because it never names a verb and the enumerated content (prices, policies, events) overlaps sibling tools like get_prices, get_policies and find_events without distinguishing this tool from them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'ref' explanation shows how to arrive here after search_places ("an id from search_places"), which is useful routing context. However, no sentence says when to call get_page rather than get_prices, get_policies or find_events, and there is no exclusion or fallback guidance despite the obvious content overlap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_policiesBooking rules and the carARead-onlyIdempotentInspect
The booking rules as facts: the cars and the guests each takes, deposit, booking window and today in Beaune, service hours, luggage, waiting, cancellation, child seats, languages, the hours bookings are answered, the kind of licence and the SIREN, and the FAQ answers about them. A rule not published yet is null or left out.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | ar: Arabic notes, data in English. |
Output Schema
| Name | Required | Description |
|---|---|---|
| cars | Yes | |
| hours | Yes | |
| pages | Yes | |
| guests | Yes | |
| answers | Yes | |
| booking | Yes | |
| deposit | Yes | |
| licence | Yes | |
| luggage | Yes | |
| vehicle | Yes | |
| waiting | Yes | |
| languages | Yes | |
| childSeats | Yes | |
| termsFinal | Yes | |
| cancellation | Yes | |
| serviceHours | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive, non-open-world behavior. The description adds useful context that unpublished rules are null or omitted, but it does not discuss authentication, rate limits, or other operational behavior beyond what annotations already provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads the purpose before enumerating scope. The long list is dense but each item helps define what policies are returned, and there is no obvious filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only policy lookup with full schema coverage and an output schema, the description provides enough scope and notes the null/omitted behavior for unpublished rules. It is complete enough to call correctly, though better usage routing against sibling tools would improve it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single optional lang parameter is fully described in the schema, including enum values and the Arabic-specific note. The description adds no parameter meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource, booking rules/policies, and enumerates the facts returned, including deposit, booking window, service hours, cancellation, licence, SIREN, and FAQ. This makes the tool clearly identifiable and separable from siblings like get_prices or check_availability, though it does not name an alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the content list: an agent can infer this tool is for policy and FAQ facts rather than availability or pricing. However, there is no explicit when-to-use guidance, no prerequisites, and no routing to sibling tools such as check_availability or get_prices.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pricesPricesCRead-onlyIdempotentInspect
Every price per vehicle, taxes, tolls and parking included: the cars (the Polestar 2, 4 guests, included; a Mercedes E-Class or V-Class, up to 7, on request for a supplement per day of service), wine days and which one a place needs by its distance (wineDayByDistance), driver by the hour, trips from Beaune and same-day returns, transfers, the deposit rate. Tastings are paid to the estates.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | ar: Arabic notes, data in English. |
Output Schema
| Name | Required | Description |
|---|---|---|
| cars | Yes | |
| updated | Yes | |
| vehicle | Yes | |
| currency | Yes | |
| wineDays | Yes | |
| maxGuests | Yes | |
| transfers | Yes | |
| perVehicle | Yes | |
| pricesPage | Yes | |
| depositRate | Yes | |
| tastingsNote | No | |
| validThrough | Yes | |
| taxesIncluded | Yes | |
| driverByTheHour | Yes | |
| tripsFromBeaune | Yes | |
| tastingsIncluded | Yes | |
| wineDayByDistance | Yes | |
| tollsAndParkingIncluded | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds domain context (tastings are paid to the estates, supplements apply per day) but says nothing about whether prices vary by season, currency, or freshness, and an output schema exists so return format need not be explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sprawling sentence of comma-separated facts with no lead-in clause stating what the tool does. The most important information (this returns the tariff catalogue) is buried in nested parentheticals rather than front-loaded, and the density makes it hard to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With rich annotations, an output schema, and one optional parameter, the burden is light, and the description does enumerate the price components an agent would care about. What is missing is whether these are static published rates or context-dependent quotes, which is the one thing that would let an agent choose between this and quote.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a single optional lang enum that is self-documented in the schema. The description adds no information about the parameter or its effect (e.g. that notes are localized but data stays in English). Baseline 3 is correct when the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (prices) and enumerates what is included — vehicle rates, wine days, driver hourly, transfers, deposit — so an agent can infer this returns a price catalogue. But it never states a verb or scope ("returns the price list"), and it does not distinguish itself from the sibling quote tool, which presumably computes a price. The purpose is inferable rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus quote, plan_wine_day, or find_packages, and no exclusions or prerequisites. The agent must guess whether this returns static tariffs or a computed price, which is exactly the distinction that matters against quote.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_wine_dayPlan a wine dayCRead-onlyIdempotentInspect
A timed wine day through the places asked: its length (with the extra hours their distance needs), the stops in order, the drives from and back to Beaune (or from), lunch where the day reaches midday (at a starred table among the stops, else a slot with the starred tables near it), the end time, the price for the guests and their car (the V-Class beyond 4), the page of that wine day (url) and a booking link.
| Name | Required | Description | Default |
|---|---|---|---|
| car | No | polestar (included), eclass (4 guests) or vclass (7): the Mercedes on request, a supplement per day of service. | |
| date | No | ||
| from | No | Start and end (default beaune). | |
| lang | No | ar: Arabic notes, data in English. | |
| time | No | Pickup. | |
| lunch | No | "yes", or a place to have lunch near. | |
| stops | Yes | Place ids or names. | |
| guests | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| car | Yes | |
| day | Yes | |
| end | Yes | |
| url | Yes | |
| legs | Yes | |
| note | Yes | |
| hours | Yes | |
| lunch | No | |
| price | Yes | |
| start | Yes | |
| stops | Yes | |
| guests | Yes | |
| bookUrl | Yes | |
| deposit | Yes | |
| notFound | Yes | |
| resolved | Yes | |
| schedule | Yes | |
| pricesUrl | Yes | |
| extraHours | Yes | |
| availability | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and non-destructive, so safety needs no restating. The description does add real behavioral logic beyond that: duration is extended by drive distance, lunch defaults to a starred table among the stops and otherwise to a slot near starred tables, and the V-Class carries a supplement. However, it does not say whether the result is a pure computation or a live quote, whether anything is reserved, or what happens if stops cannot be fitted into a day.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The whole description is a single run-on sentence built from stacked parentheticals, which is hard to parse and buries the actionable parts. The most important information — what the tool does and when to call it — is not front-loaded, and the reader must reconstruct the sentence to extract the lunch and pricing rules.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description need not enumerate return values — yet nearly all of its text is spent doing exactly that. Meanwhile the genuinely missing pieces for an 8-parameter planning tool (usage sequencing against quote/request_booking, treatment of date, time, lang, and behavior on infeasible stop sets) are absent, so it is rich where it is redundant and thin where it matters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 75% schema description coverage the baseline is 3, and the description roughly matches that. It adds a little meaning for car and guests ('the price for the guests and their car (the V-Class beyond 4)') and for from ('drives from and back to Beaune (or from)'), but says nothing about time, date or lang, and never explains the interaction between guests and the car enum.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description enumerates the artifacts the tool produces (timed itinerary, ordered stops, drives, lunch, end time, price, page url, booking link), which makes the resource fairly recognizable. But it never states a verb — there is no 'computes', 'builds' or 'generates' — so an agent must infer that this is a planning/calculation tool rather than a lookup. It also does not distinguish itself from siblings like quote or get_prices, which likely surface overlapping price data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus quote, get_prices, check_availability or find_packages, all of which are adjacent in the sibling list. The lunch clause implies a planning context but never says 'call this to build an itinerary before requesting a booking'. An agent is left to guess the sequencing through the toolchain.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
quoteExact price for a tripARead-onlyIdempotentInspect
The exact price the booking page charges for one service, or a whole trip (items: one total, one deposit), the page of the priced service to cite (url; pricesUrl: every price) and a link that opens the booking page filled in (time, guests and bags too). Wine day: option and stops; a day too short for its stops is priced as the one they need (optionRaised). Driver: hours (and stops), or to from Beaune or from; returnTrip: the driver waits up to 3 h; returnLater: back later (2 rides). Transfer: route (its id, its page slug such as lyon-beaune, or a name such as "Lyon airport"), or from and to. A Mercedes adds its supplement per day of service; over 4 guests, the V-Class (carRaised). resolved: what each name became (an unknown place or route is an error with candidates); alternatives: cheaper products for the same job; availability: with date.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | A place id or name, or event:<id>. | |
| car | No | polestar (included), eclass (4 guests) or vclass (7): the Mercedes on request, a supplement per day of service. | |
| date | No | ||
| from | No | Start of a driver trip, or of a transfer to another place; airfields by ICAO code. | |
| lang | No | ar: Arabic notes, data in English. | |
| time | No | Pickup (a transfer to Beaune: the arrival). | |
| hours | No | Driver by the hour. | |
| items | No | Several services (at most 6), each with the fields above. | |
| notes | No | For the driver: estates to visit, child seats… | |
| route | No | A transfer route, by id or page slug (lyon (lyon-beaune), paris (paris-beaune), dijon (dijon-beaune), geneva (geneva-beaune), creusot (le-creusot-tgv-beaune), lfsd (dijon-airport-beaune), lfgj (dole-jura-airport-beaune)) or by name ("Lyon airport", "Dijon-Bourgogne", "Dole"): a transfer to or from Beaune (creusot: Le Creusot TGV; lfsd, lfgj: the airports). | |
| stops | No | Places of a wine day, or of the driver by the hour. | |
| guests | No | 4 in the Polestar 2 or the E-Class, 7 in the V-Class. | |
| option | No | Wine day: half 4 h, full 8 h, long 12 h. | |
| luggage | No | Bags. | |
| service | No | ||
| extraHours | No | Wine day; default what its stops need. | |
| returnTrip | No | Driver: back the same day, the driver waiting. Transfer: a trip back another day. | |
| returnLater | No | Driver: back later the same day (two rides). |
Output Schema
| Name | Required | Description |
|---|---|---|
| car | Yes | |
| url | Yes | |
| date | No | |
| fits | No | |
| time | No | |
| drive | No | |
| price | Yes | |
| title | Yes | |
| guests | Yes | |
| option | No | |
| balance | No | |
| bookUrl | Yes | |
| deposit | Yes | |
| details | Yes | |
| luggage | No | |
| service | Yes | |
| currency | Yes | |
| notFound | Yes | |
| resolved | Yes | |
| services | No | |
| carRaised | No | |
| maxGuests | Yes | |
| pricesUrl | Yes | |
| extraHours | No | |
| perVehicle | Yes | |
| alternatives | No | |
| availability | No | |
| optionRaised | No | |
| servicePrice | Yes | |
| tastingsIncluded | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond readOnly/idempotent annotations, the description discloses concrete behavior: totals and deposits for items, generated booking links, optionRaised when stops exceed a day, carRaised for groups over four, resolved-name errors with candidates, cheaper alternatives, and availability with a date. These are meaningful behavioral details that help an agent understand outcomes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
All the information is relevant, but it is delivered as a dense run-on block with semicolons and parenthetical clauses. It is front-loaded with the core pricing purpose, yet the structure makes it harder to parse than necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 18-parameter tool with multiple service modes, output schema, and annotations, the description covers the main modes and important edge behaviors. It is mostly complete, though it could more explicitly connect service selection to required field combinations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is high at 89%, so the baseline is 3, but the description adds real meaning for many parameters: returnTrip versus returnLater semantics, route slug/name forms, service-specific field requirements, and raised-option/car behavior. Some terms remain terse, but overall it meaningfully supplements the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening states a specific pricing task: the exact price the booking page charges for one service or a whole trip. It is clear what resource is being priced, but it does not explicitly distinguish itself from siblings such as get_prices or check_availability, so sibling differentiation is missing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives service-specific conditions: wine day needs option and stops, driver needs hours or route, transfer needs route or from/to. However, it never explicitly says when to use this tool instead of get_prices, check_availability, or other siblings, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
request_bookingSend a booking requestAIdempotentInspect
Sends a booking request as the booking page does, once the traveller has seen the price and accepted the terms of sale (https://www.cote-privee.com/terms): one service (the fields of quote, with date, time and pickup), several (items) or a plan of find_packages (package, startDate), and the traveller's details. Nothing is charged: the traveller gets the request by e-mail, the driver confirms or declines it, and the confirmation says how to pay the 30% deposit (next says it for this request). dry_run checks and prices without sending; the same request within a day, or the same requestId, answers the same reference. Only valid requests count against the limits; a refusal names each argument to fix and what is allowed (retryAfter after a limit).
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | ||
| car | No | ||
| date | No | ||
| from | No | ||
| lang | No | ar: Arabic notes, data in English. | |
| name | Yes | ||
| time | No | ||
| Yes | |||
| hours | No | ||
| items | No | Several services (at most 6), each with the fields above. | |
| notes | No | ||
| phone | Yes | ||
| route | No | ||
| stops | No | ||
| flight | No | Flight or train. | |
| guests | No | ||
| option | No | ||
| pickup | No | Pickup address (a hotel, a street); a transfer to Beaune: the drop-off. | |
| dry_run | No | ||
| luggage | No | ||
| package | No | A plan id of find_packages. | |
| service | No | ||
| direction | No | Transfer: to Beaune (default) or from it. | |
| requestId | No | 8 to 64 letters, digits, - or _. | |
| startDate | No | The package's first day. | |
| extraHours | No | ||
| returnDate | No | ||
| returnTime | No | ||
| returnTrip | No | ||
| returnLater | No | ||
| accept_terms | Yes | true only once the traveller has accepted the terms of sale. | |
| returnFlight | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well past the annotations (readOnly=false, destructive=false, idempotent=true, openWorld=true) by disclosing the full lifecycle: nothing is charged, the traveller receives an e-mail request, the driver confirms or declines, and payment of a 30% deposit is described in the confirmation. It also explains idempotency scope (same request within a day, or same requestId, returns the same reference), that only valid requests count against limits, the shape of a refusal (named argument plus retryAfter), and that dry_run validates and prices without sending.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The critical information (what it sends, what it costs, dry_run) is front-loaded, but the whole definition is a single dense run-on paragraph mixing flow description, idempotency, and error handling. One clause is garbled ('next says it for this request'), costing clarity, and the mode enumeration would read far better as a list.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 32-parameter mutation tool with no annotations for safety nuances and no output schema, the description covers the important gaps: three request shapes, dry_run, deduplication, error/refusal format, and rate-limit recovery. It stops short of describing the returned reference object's shape, though 'answers the same reference' hints at it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 28% across 32 parameters, but the description compensates for the highest-value ones by grouping them into modes (quote fields for one service, 'items' for up to several, package+startDate for a plan) and explaining dry_run and requestId. Many parameters (guests, luggage, car, option, stops, returnTrip, extraHours, direction, returnFlight) get no semantic help beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb+resource ('Sends a booking request') and immediately enumerates the three supported shapes: a single service mirroring quote's fields, 'items' for several, and a find_packages plan plus startDate. An agent can distinguish it from quote (pricing) and find_packages (plan discovery) without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States the precondition clearly ('once the traveller has seen the price and accepted the terms of sale') and offers dry_run as the non-committing alternative for checking and pricing. It does not explicitly say 'use quote first' or list when-not-to-use, so a small inference gap remains.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_placesSearch places in BurgundyARead-onlyIdempotentInspect
Wine villages, châteaux, things to do and MICHELIN-starred restaurants: id, commune, drive and price by private driver from Beaune (per vehicle, one way / same-day return), the wine day of its page and its price, page and booking link; a restaurant's stars and cheapest menu (no opening days in the data). near and radiusKm: the places around a place, nearest first. 8 results unless limit; compact drops summaries.
| Name | Required | Description | Default |
|---|---|---|---|
| area | No | cote: Côtes de Nuits and de Beaune; north: Chablis, Yonne, Auxois; south: Chalonnais, Mâconnais. | |
| kind | No | ||
| lang | No | ar: Arabic notes, data in English. | |
| near | No | A place id or name. | |
| limit | No | ||
| query | No | Words in names, communes and summaries, e.g. "abbey", "grand cru". | |
| compact | No | ||
| radiusKm | No | Default 10. |
Output Schema
| Name | Required | Description |
|---|---|---|
| near | No | |
| count | Yes | |
| results | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, closed-world behavior, so the description earns credit for adding facts the schema cannot: default page size of 8 unless limit is set, compact drops summaries, results are returned nearest-first for proximity queries, and opening days are absent from the data entirely. That data-gap disclosure is genuinely useful for avoiding wrong answers, though pagination/total-count behavior is still unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The whole definition is a single semicolon-spliced fragment that mixes return-field documentation, transfer-pricing caveats, proximity behavior, default page size and compact semantics with no front-loaded purpose sentence. Almost every clause carries information, but the structure forces the reader to reconstruct the tool's job from the tail of the text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and annotations cover safety, so the description only needs to fill behavioral gaps — and it does: default result count, ordering, compact behavior, and the missing opening-days data. For an 8-parameter, all-optional search tool this is close to sufficient; only the interaction between query/area/kind filters is left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 63% schema coverage, the description adds real meaning beyond the schema: it defines the result ordering for near/radiusKm, the effect of compact, and clarifies that price means a private-driver transfer from Beaune per vehicle (one way or same-day return) rather than an entry fee. kind, limit and lang receive no elaboration in the description, leaving the remaining coverage gap unfilled.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description enumerates exactly what is searchable (wine villages, châteaux, sights, MICHELIN-starred restaurants) and what comes back (id, commune, drive and price, page and booking link), which makes the resource unmistakable and separates it from find_events/get_prices. The action verb ('search') is only in the title, and the opening fragment has no subject, so an agent must infer 'search places' rather than read it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
One usage mode is stated explicitly: using near plus radiusKm returns places around a place, nearest first. Nothing tells the agent when to prefer this over get_page (an individual place's detail) or find_events, and there are no exclusions or prerequisite conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- Changed
check_availability3 fields changed- added
Output schema / properties / pricesUrlAdded value: +{ + "format": "uri", + "type": "string" +} - added
Output schema / properties / urlAdded value: +{ + "format": "uri", + "type": "string" +} - changed
Output schema / requiredPrevious value: -[ - "date", - "state", - "days", - "nextFree", - "sources", - "checkedAt", - "rules", - "today", - "timezone", - "note" -]New value: +[ + "date", + "state", + "days", + "nextFree", + "sources", + "checkedAt", + "rules", + "today", + "timezone", + "note", + "url", + "pricesUrl" +]
- Changed
plan_wine_day3 fields changed- added
Output schema / properties / pricesUrlAdded value: +{ + "format": "uri", + "type": "string" +} - added
Output schema / properties / urlAdded value: +{ + "format": "uri", + "type": "string" +} - changed
Output schema / requiredPrevious value: -[ - "day", - "extraHours", - "hours", - "start", - "end", - "guests", - "car", - "price", - "deposit", - "schedule", - "legs", - "stops", - "resolved", - "notFound", - "bookUrl", - "note" -]New value: +[ + "day", + "extraHours", + "hours", + "start", + "end", + "guests", + "car", + "price", + "deposit", + "schedule", + "legs", + "stops", + "resolved", + "notFound", + "url", + "pricesUrl", + "bookUrl", + "note" +]
- Changed
quote8 fields changed- changed
Input schema / properties / route / descriptionPrevious value: -"Transfer to or from Beaune (creusot: Le Creusot TGV; lfsd, lfgj: airports)."New value: +"A transfer route, by id or page slug (lyon (lyon-beaune), paris (paris-beaune), dijon (dijon-beaune), geneva (geneva-beaune), creusot (le-creusot-tgv-beaune), lfsd (dijon-airport-beaune), lfgj (dole-jura-airport-beaune)) or by name (\"Lyon airport\", \"Dijon-Bourgogne\", \"Dole\"): a transfer to or from Beaune (creusot: Le Creusot TGV; lfsd, lfgj: the airports)." - removed
Input schema / properties / route / enumRemoved value: -[ - "lyon", - "paris", - "dijon", - "geneva", - "creusot", - "lfsd", - "lfgj" -] - added
Input schema / properties / route / maxLengthAdded value: +120 - added
Output schema / properties / pricesUrlAdded value: +{ + "format": "uri", + "type": "string" +} - added
Output schema / properties / services / items / properties / urlAdded value: +{ + "format": "uri", + "type": "string" +} - changed
Output schema / properties / services / items / requiredPrevious value: -[ - "service", - "title", - "details", - "servicePrice" -]New value: +[ + "service", + "title", + "details", + "servicePrice", + "url" +] - added
Output schema / properties / urlAdded value: +{ + "format": "uri", + "type": "string" +} - changed
Output schema / requiredPrevious value: -[ - "service", - "title", - "details", - "price", - "servicePrice", - "car", - "currency", - "perVehicle", - "guests", - "maxGuests", - "deposit", - "tastingsIncluded", - "resolved", - "notFound", - "bookUrl" -]New value: +[ + "service", + "title", + "details", + "price", + "servicePrice", + "car", + "currency", + "perVehicle", + "guests", + "maxGuests", + "deposit", + "tastingsIncluded", + "resolved", + "notFound", + "url", + "pricesUrl", + "bookUrl" +]
- Changed
request_booking2 fields changed- removed
Input schema / properties / route / enumRemoved value: -[ - "lyon", - "paris", - "dijon", - "geneva", - "creusot", - "lfsd", - "lfgj" -] - added
Input schema / properties / route / maxLengthAdded value: +120
11 tool updates
- First observed
check_availability - First observed
find_events - First observed
find_packages - First observed
get_booking_status - First observed
get_page - First observed
get_policies - First observed
get_prices - First observed
plan_wine_day - First observed
quote - First observed
request_booking - First observed
search_places
Related MCP Connectors
Chauffeur privé et transferts aéroport à Paris (CDG, Orly, Beauvais) : prix fixes et réservation.
Book a private driver in Paris: live quotes, airport transfers, tours, VIP Meet & Greet. No auth.
Fixed-price airport transfers and long rides from Upper Austria, Salzburg, Passau
Search, quote and book Daytrip private door-to-door car transfers in 130+ countries.
Related MCP Servers
- AlicenseAqualityFmaintenanceEnables booking premium private chauffeur transfers in Paris and across Europe directly from AI agents. Provides tools to list vehicles, get quotes, book rides, and retrieve service information.4MIT
- AlicenseNot gradedqualityDmaintenanceFixed London chauffeur prices for AI agents: Heathrow/Gatwick/Stansted/Luton and cruise-port transfers, hourly and full-day hire, private day trips, Heathrow VIP meet & greet, plus pre-filled booking links. Public remote endpoint, no API key.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to get fixed-price quotes and book London airport transfers, with flight validation and inter-agent communication via A2A protocol.MIT
- AlicenseNot gradedqualityCmaintenanceAccess 17M+ geocoded French property transactions (DVF), 22M+ DPE energy ratings, and 20M+ building records via MCP or REST API. Search transactions, market stats, comparables, price trends, rental yield, flip detection, and more.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.