booking
Server Details
Read-only booking info for Opus Lumiere photography, London: services, prices, availability.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
TDQS
Scored across 4 tools
Each tool targets a clearly distinct concern: services, live availability, opening hours, and the checkout link. Even though check_availability returns a booking_url, its primary purpose is slot lookup, so there is no real ambiguity.
All tool names follow a clean snake_case verb_noun pattern: check_availability, get_booking_link, get_business_hours, list_services. The verbs are familiar and the objects are specific, making the naming predictable and consistent.
Four tools is well-scoped for a read-only booking-information server. Each tool earns its place, and there are no redundant or missing utility tools.
The tool set covers the essential pre-booking workflow: services, availability, business hours, and the payment/checkout link. It intentionally does not support creating or managing bookings directly because payment happens externally, so the only notable gap is the lack of a full booking lifecycle.
Available Tools
4 toolscheck_availabilityAInspect
Live open appointment slots for a service id (from list_services) over an optional date range (default next 5 weeks, max 62 days). Slots are not held - the customer reserves by completing checkout (with payment) at the booking_url.
| Name | Required | Description | Default |
|---|---|---|---|
| date_to | No | End date YYYY-MM-DD (optional). | |
| date_from | No | Start date YYYY-MM-DD (optional, default today). | |
| service_id | Yes | Service id from list_services. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses critical behavior: slots are not held and are only reserved after payment at booking_url, clarifying the non-reserving nature. It omits auth/rate limits, but the key state-related behavior is well covered.
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 pack all essential information without redundancy. Every clause adds value, making it highly efficient and well-structured.
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 no output schema, the description adequately explains the tool's purpose and behavior. It could detail the response format (e.g., per-slot fields), but the core usage and constraints are sufficiently complete for a tool with simple inputs and clear intent.
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 covers all parameters, so baseline is 3. The description adds meaningful context: service_id is from list_services, and date_from defaults to today while date range is capped at 62 days, going beyond the schema descriptions.
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 states the tool lists live open appointment slots for a given service id, with an optional date range. It distinguishes itself from siblings like list_services and get_booking_link by focusing on availability and including the booking_url context.
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 explicitly instructs that service_id comes from list_services and sets date range defaults/maximums, implying a prerequisite and constraints. It lacks explicit 'when not to use' or alternative comparisons, but the context is clear enough for correct selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_booking_linkAInspect
The page where a customer completes an Opus Lumière booking, including secure card payment and deposit options. Optionally pass a service_id. Payment can never travel through this API - never ask users for card details.
| Name | Required | Description | Default |
|---|---|---|---|
| service_id | No | Optional service id from list_services. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It reveals that the API does not handle payments and that the page includes card payment and deposit options, which is valuable context. However, it does not specify the return format (e.g., a URL string, a redirect) or any side effects, leaving some ambiguity about the tool's exact 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 sentences with no fluff. It front-loads the core purpose, then adds the critical safety warning about payment handling. Every sentence earns its place, and the structure is clear and scannable.
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 one-parameter tool with no output schema, the description covers the purpose, optional parameter, and a major safety constraint. It does not explicitly state that the tool returns a link, but the tool name 'get_booking_link' and the description 'The page where...' together imply this. Overall, the context is sufficient for an agent to use the tool 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?
The schema already fully documents service_id as an optional integer from list_services. The description adds only 'Optionally pass a service_id', which is redundant. It does not explain how service_id affects the returned booking page (e.g., pre-selecting a service). Baseline 3 applies due to 100% schema coverage, and the description does not elevate beyond it.
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 identifies the tool as providing the Opus Lumière booking page, which is distinct from sibling tools like check_availability or list_services. However, it says 'The page where...' rather than explicitly stating 'Returns a booking link' or 'Gets a booking URL', making the verb implicit. The tool name helps resolve this ambiguity.
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 clear operational guidance: service_id is optional, and a strong warning that payment can never travel through this API, with an explicit instruction to never ask users for card details. It does not explicitly contrast with sibling tools, but this guidance effectively tells when not to use this tool (for payment processing) and when to pass a parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_business_hoursAInspect
Opus Lumière studio opening hours by weekday, with timezone (Europe/London). Sessions are by appointment - confirm a real slot with check_availability.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the burden. It adds useful context: timezone (Europe/London) and the appointment-only nature of sessions. However, it doesn't explicitly state that the operation is read-only or describe the exact return format, which remains implied for a simple getter.
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 sentences with no filler. The first sentence front-loads the purpose and timezone, and the second adds practical guidance and a pointer to the sibling tool. Every word earns its place.
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 the empty input schema and absence of output schema, the description fully covers the tool's purpose, timezone, and the appointment caveat, plus a clear next step. It is complete enough for an AI to select and invoke the tool 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?
The input schema defines zero parameters, which warrants a baseline score of 4. The description mentions weekday and timezone as conceptual aspects of the output but adds no parameter-specific detail, since none exist.
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 specific verb ('get') and resource ('business hours') along with the studio name 'Opus Lumière' and timezone. It clearly distinguishes from siblings like check_availability and get_booking_link by focusing on the weekly schedule rather than bookings or services.
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 explicitly states that sessions are by appointment and advises to 'confirm a real slot with check_availability', naming the alternative tool. This gives clear context on when to use this tool versus check_availability, though it doesn't formally address other siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_servicesAInspect
List Opus Lumière (London photography studio) services with prices in GBP, deposits, durations and category. Read-only. Booking and secure payment are completed on the website - see booking_url in the result.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description itself carries the burden of disclosing behavior. It clearly declares 'Read-only' and explains the booking flow, including the presence of booking_url in results. This is valuable context that goes beyond the empty schema.
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 concise sentences deliver all essential information: the service listing scope, data fields, and a behavioral note. Every sentence adds value with no redundancy or 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 list tool with no parameters and no output schema, the description covers the essential return fields, the studio identity, and the read-only/booking context. It fully prepares an agent to invoke and interpret results.
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 has zero parameters, so the schema provides no param descriptions. The description compensates by explaining what the result contains (GBP prices, deposits, durations, category, booking_url), which is more than necessary for a parameterless tool.
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 states the tool lists services for Opus Lumière photography studio, specifying the data included (prices, deposits, durations, category). This distinct verb+resource+scope makes its purpose unmistakable and differentiates it from siblings like check_availability or get_business_hours.
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 explicitly states 'Read-only' and notes that booking and payment are done on the website via booking_url, which tells the agent when to use this tool (for information) and implicitly when not (for booking). However, it doesn't explicitly list alternative tools or exclusions.
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_availability - First observed
get_booking_link - First observed
get_business_hours - First observed
list_services
Related MCP Connectors
Read-only property facts, indicative availability, authorised booking links and guest-safe support.
Explore Raze services, pricing, projects, availability, and confirmed introduction bookings.
Fixed London chauffeur prices: airport & cruise transfers, hourly hire, day trips, booking links.
Read-only IT Health Check, domain security, recommendations, pricing, and draft enquiries.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables read-only research of public Outsite locations, quoted stay rates, and individual room calendars.MIT
- AlicenseNot gradedqualityBmaintenanceA read-only MCP server for auditing Trafft booking data with tools to list services, employees, appointments, and customers without mutation endpoints.MIT
- AlicenseNot gradedqualityDmaintenanceProvides read-only access to Microsoft 365 services including SharePoint, OneDrive, Outlook, Teams, and Calendar through the Microsoft Graph API, enabling users to search, browse, and retrieve content across their M365 suite.1MIT
- AlicenseAqualityCmaintenanceProvides read-only access to Hostaway PMS data, enabling assistants to answer questions about listings, calendars, reservations, and inbox threads, and generate occupancy, inbox, and completeness reports without writing or sending anything.11334MIT