Skip to main content
Glama

Fresha: Find available slots

fresha_find_available_slots
Read-only

Fresha: Free start times on one day for one or more services, for anyone or one team member. Returns the free start times on one day for the services you list, booked back to back in that order. Each slot names the team member who is free. Pass start_at from a slot to create_appointment or reschedule_appointment. The search covers one day per call. Needs the user's Cotlet API key with access to this app.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateYesDay to search.
location_idNoOnly this location. Default: all locations.
service_idsYesServices from list_services, booked in this order.
team_member_idNoOnly this team member. Default: anyone.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so safety is covered. The description adds meaningful context beyond that: the slots are computed for the listed services 'booked back to back in that order', each slot names the team member who is free, the search is limited to one day per call, and an authenticated Cotlet API key with app access is required. That auth requirement and the back-to-back semantics are not visible in the annotations or schema.

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

Conciseness4/5

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

The most important constraint (what is returned and its granularity) is front-loaded, and the follow-up pointer comes before the housekeeping sentence about the API key. The first and second sentences restate the same idea ('free start times on one day') almost verbatim, which is a small amount of waste in an otherwise tight description.

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?

There is no output schema, so the description must carry the return shape, and it does: slots contain a start time plus the team member who is free, and start_at is the value to feed into booking tools. Combined with the one-day scope and the API key prerequisite, an agent has enough to call it correctly; only edge behaviors such as empty-result handling or location interaction with team member are left implicit.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: it clarifies that multiple service_ids are chained sequentially ('booked back to back in that order') rather than treated as independent options, and that team_member_id either targets one person or defaults to anyone. The schema already states the ordering and the 'anyone' default, so the incremental value is modest rather than large.

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?

The description names a specific verb and resource ('Free start times on one day for one or more services') and constrains the scope (one day, one or more services, anyone or one team member). It also states what the result is ('free start times ... booked back to back in that order'), so an agent can tell immediately this is an availability search rather than an appointment read or mutation. No sibling tool in the fresha set does this, so the purpose is unambiguous.

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?

It gives clear usage context: one day per call, and a concrete follow-up path ('Pass start_at from a slot to create_appointment or reschedule_appointment'), which tells the agent this tool is the predecessor step in a booking flow. It stops short of explicit exclusions (e.g. when to prefer list_appointments or search a range instead), so it is clear context but not full when/when-not guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources