Château du Bû
Server Details
Read-only hotel server: room availability and prices, hotel facts, public events. Normandy, France.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 4 tools
The two availability tools overlap conceptually (check_room_availability vs get_availability_calendar), but the descriptions explicitly route the agent: one for a specific stay, one for overviews, with an explicit 'prefer this over the raw calendar' instruction. get_hotel_info and list_public_events are cleanly separate from availability concerns, and the events tool even notes events are separate from rooms.
All four tools follow a clean snake_case verb_noun pattern (check_/get_/get_/list_ + resource). The verbs are semantically meaningful and consistent — check for verdicts, get for retrievals, list for collections.
Four tools is on the lean side but each maps to a distinct real need for a single small hotel: stay feasibility, calendar overview, property facts, and events. Nothing feels padded or redundant, though the surface is thin enough that a single missing capability would be noticeable.
Inquiry-side coverage is strong: availability verdicts, aggregate calendar, practical stay facts, and events with prices and remaining places. The main gap is that booking is only exposed as a URL rather than an operation, and there is no event-detail lookup beyond the listing, but these are workable around via the provided booking links.
Available Tools
4 toolscheck_room_availabilityCheck room availabilityARead-onlyIdempotentInspect
Answer 'can a party of N stay from DATE for N nights?'. Returns a verdict (bookable yes/no), the reason when no, the room COMBINATIONS that house the party, and the booking URL. Applies the house rules for you: the earliest arrival date (today or tomorrow, depending on the same-day cut-off), and a stay needs the same rooms free on every night. A party too large for one room is NOT a refusal — the house is sold as several rooms. Prefer this over reading the raw calendar.
| Name | Required | Description | Default |
|---|---|---|---|
| adults | No | Adults in the party. | |
| nights | No | Number of nights. Check-out is check_in + nights. | |
| check_in | Yes | Arrival date, YYYY-MM-DD (the first night). | |
| children | No | Children occupying a bed. |
Output Schema
| Name | Required | Description |
|---|---|---|
| party | No | |
| nights | No | |
| reason | Yes | available · too_soon · too_far · invalid_date · not_bookable · party_exceeds_house · no_room_free_for_whole_stay |
| options | No | Room combinations that house the party, each priced in its rate plans (VAT included). |
| bookable | Yes | |
| check_in | No | |
| check_out | No | |
| booking_url | No | |
| explanation | Yes | A sentence you can relay to the guest. |
| options_total | No | |
| latest_check_in | No | |
| earliest_check_in | No | |
| house_capacity_free | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare the safety profile (read-only, idempotent, closed-world), and the description layers on real domain behavior the agent cannot infer: the same-day cut-off shifting the earliest arrival date, the same-rooms-free-on-every-night constraint, and the multi-room splitting rule. This is exactly the beyond-annotation context that prevents wrong conclusions from a 'no' verdict.
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?
Three sentences, front-loaded with the user-facing question, then the return payload, then the rules and the sibling preference. No sentence is filler; each one changes how the agent would call the tool.
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?
Output schema exists, so return-value enumeration is not required, yet the description still summarizes the verdict shape and warns about the multi-room case. Combined with the full parameter schema and safety annotations, nothing an agent needs to invoke this correctly is missing.
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 the baseline is 3, and the description adds meaning by framing the inputs as a party size plus a stay length and by disclosing the earliest-arrival rule that governs check_in. It does not add syntax or default-behavior detail beyond the schema, so it sits modestly above baseline rather than at the top.
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 the concrete question the tool answers ('can a party of N stay from DATE for N nights?') and names the exact return payload: verdict, refusal reason, room combinations, booking URL. This clearly separates it from the raw-calendar sibling without requiring schema inspection.
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?
'Prefer this over reading the raw calendar' explicitly routes the agent away from get_availability_calendar, and the note that an oversized party is NOT a refusal prevents a common misuse. No exclusions for the other siblings (get_hotel_info, list_public_events) are needed since they serve different intents, but the alternative is referenced by concept rather than tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_availability_calendarGet the raw availability calendarARead-onlyIdempotentInspect
The full machine-readable availability feed: free room counts per night by room type, ~180 nights ahead, plus the semantics needed to read it. Use for overviews ('when is there space in October?'); for a specific stay use check_room_availability. Aggregate counts only, no personal data. Read generated_at for the real age.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive and closed-world, so the safety profile needs no restating. The description adds genuinely new behavior: the ~180-night horizon, that values are aggregate counts with no personal data, and that `generated_at` reflects real staleness — a useful caching caveat. It stops short of saying anything about payload size, so not a 5.
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?
Front-loaded with the payload definition, then usage, then scope limits, then the freshness caveat — each sentence carries a distinct fact. The only slightly soft phrase is 'the semantics needed to read it', but it usefully signals a documentation field in the response.
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?
Output schema exists, so return shape needn't be explained, and annotations cover safety; what remains — coverage window, aggregation scope, privacy, freshness — is all stated. Nothing an agent needs to decide or call correctly is missing for a parameterless read 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?
Zero parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies. The description correctly spends its words on scope and freshness instead of inventing parameter guidance.
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?
States a concrete verb and resource plus the exact payload: free room counts per night by room type over ~180 nights. It also names the sibling it is not (check_room_availability), so an agent can separate the bulk-feed tool from the specific-stay tool without reading either 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?
Gives an explicit positive use case ('overviews — when is there space in October?') and an explicit exclusion routing to check_room_availability for a specific stay. Both the when and the when-not are stated, not inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_hotel_infoGet hotel informationBRead-onlyIdempotentInspect
Identity, postal address, coordinates, what the château offers, the practical facts of a stay (check-in and check-out times, breakfast, meals, pets, parking, Wi-Fi, charging, access), how to reach it, and the URLs to book, to read more or to get in touch — in English, with the prefixes for the thirteen other languages.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| geo | No | |
| name | Yes | |
| urls | Yes | |
| rooms | No | |
| offers | No | |
| address | Yes | |
| locales | No | |
| category | No | |
| currency | No | |
| languages | No | |
| practical | Yes | Check-in and check-out, breakfast, meals, pets, parking, Wi-Fi, charging, access… |
| legal_name | No | |
| getting_there | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the safety profile is covered. The description adds genuinely non-obvious behavior: content is returned in English with language prefixes for thirteen other languages, which directly affects how the agent should present or post-process the response. It does not mention caching or freshness of the static data, which would have pushed it higher.
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?
It is a single long run-on sentence built as a comma-separated enumeration of return fields, with the one actionable detail (English plus thirteen language prefixes) buried at the end. Much of the enumeration duplicates the output schema rather than earning its place in the description.
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?
Because an output schema exists, the description need not enumerate return contents — yet that enumeration is nearly all it does. What it omits is the part only prose can supply: the absence of any input requirement, and the relationship to the three sibling tools. Adequate but with clear gaps for a no-param retrieval 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?
The tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies. The schema's 100% coverage is trivially satisfied.
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 makes clear this returns static descriptive information about the property — identity, address, coordinates, amenities, practical stay facts, directions, booking URLs — so an agent knows exactly what resource it retrieves. It is a noun-phrase content list rather than an explicit verb+resource statement, and it never names the siblings (check_room_availability, get_availability_calendar, list_public_events) to draw the line, but the domain separation is self-evident.
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 the availability/calendar/events siblings, and no statement that it takes no inputs and needs no prior call. The agent must infer that this is the 'fetch the hotel's static profile' tool from the content list alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_public_eventsList public eventsARead-onlyIdempotentInspect
Upcoming public events at the château (concerts, workshops, themed nights…) with dates, price per participant, optional dormitory bed, remaining places and a booking URL. These are separate from hotel rooms.
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Optional filter, e.g. cuisine, dj-dance, gaming-lan, kpop… | |
| from_date | No | Only events ending on/after this date. Defaults to today. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| events | Yes | |
| from_date | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as a safe, read-only, idempotent operation, so the description only needs supplemental context. It adds that results include dates, price, optional dormitory bed, remaining places, and a booking URL, but does not discuss permissions, rate limits, or other operational behavior.
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 two compact sentences, front-loads the resource and scope, and uses a short parenthetical to clarify event types. It contains no redundant or wasted 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?
Given rich annotations, 100% schema coverage, and an output schema, the description provides everything needed to select the tool: what it returns, its event focus, and its separation from hotel-room tools. No important behavioral gap remains for an agent to call it correctly.
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%, so the schema already fully documents both optional parameters. The description does not add filter syntax or date semantics beyond what the schema provides, making the baseline 3 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 names the specific resource and scope: upcoming public events at the château, with examples and return fields. It also explicitly distinguishes these events from hotel rooms, which separates it from the sibling availability and hotel-info tools.
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 sentence 'These are separate from hotel rooms' gives clear context for when this tool applies rather than room or hotel queries. It does not explicitly name the sibling tools or state when-not conditions, so it stops short of a 5.
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
- First observed
check_room_availability - First observed
get_availability_calendar - First observed
get_hotel_info - First observed
list_public_events
Related MCP Connectors
Unofficial read-only MCP server for VeryChic hotel offers
Hotel booking MCP server. Search, book, and manage reservations across 250K+ properties worldwide.
Hosts: read and record bookings, change prices, draft listings, rename devices. No payments.
Holiday rentals booked direct with the host: availability, prices, checkout links. No auth.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceA public, read-only server that lets any AI agent or MCP client check vacation-rental prices, availability, day-by-day calendars and booking links for properties in Puerto Viejo de Talamanca, Costa Rica, with no credentials required. It never creates, changes or cancels bookings and never exposes guest or reservation data.GPL 3.0
- FlicenseAqualityDmaintenanceA read-only MCP server that lets AI assistants query the WebHotelier REST API for live hotel data, including property info, room availability, rates, calendars, and offers via natural language tools.8-
- AlicenseNot gradedqualityDmaintenanceProvides tools to check room availability, create bookings with automatic price calculation, and list bookings. Uses in-memory data with no authentication for demo purposes.ISC
- AlicenseBqualityCmaintenanceA read-only hospitality-focused MCP server that enables users to retrieve reservation details, listing briefs, and guest conversation contexts from Hostaway. It simplifies hospitality workflows by providing specialized tools for searching threads and viewing reservation data through natural language interfaces.661 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.