Skip to main content
Glama

Find open slots

find_open_slots
Read-onlyIdempotent

Get available appointment start times for a service on a given day, earliest first, optionally filtered by staff, with each slot confirmed by Booksy's booking check.

Instructions

Free start times for a service on one day, from working hours, bookings, blocks and time off.

Returns free start times for one service on one day, earliest first, for each staff member who offers it (or only staff_id). Starts follow the service's time slot interval and leave room for its duration; past times are left out. Booksy's own booking check confirms every slot returned. Pass start and staff_id to create_appointment.

Input Schema

NameRequiredDescriptionDefault
dateYesDay to check.
limitNo1 to 30 slots, earliest first. Default: 12.
staff_idNoOnly this staff member. Default: anyone who offers the service.
service_idYesservice_id from list_services (its first variant), or a variant_id.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnly/idempotent/non-destructive, yet the description adds real behavioral detail: results are earliest-first, respect the service's slot interval and duration, and exclude past times. 'Booksy's own booking check confirms every slot returned' is a useful guarantee, though it is phrased vaguely enough that its exact meaning is unclear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The opening sentence and the first clause of the second ('Free start times for a service on one day' vs 'Returns free start times for one service on one day') are near-duplicates, wasting space. The content is front-loaded and the remainder earns its place, but the redundant lead-in costs it.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the burden of describing returns and does so: free start times, earliest first, per staff member, capped by limit. It does not describe the concrete response shape (e.g. start timestamps with staff associations), leaving a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all four parameters are already documented in the schema, including the staff_id default and the limit range. The description's 'for each staff member who offers it (or only staff_id)' largely restates the schema's staff_id default rather than adding new semantics, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource with scope: 'free start times for one service on one day', and enumerates the inputs it considers (working hours, bookings, blocks, time off). An agent can distinguish this from list_appointments or get_business_hours without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The closing line 'Pass start and staff_id to create_appointment' establishes the natural follow-on action, implying this is the availability check that precedes booking. However, it never states when this tool should be avoided or how it compares to alternatives such as list_appointments, so the guidance is contextual but not exhaustive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.