Skip to main content
Glama
dragosh29

Appointedd MCP Server

by dragosh29

Find available dates

find_available_dates
Read-only

Retrieve dates when a service has available resources between two times. Read-only query; use interval search for start times.

Instructions

Dates on which a service has availability between two dates/times, with the resources free on each. This is a query sent as POST /availability/days/search; it changes nothing. Use find_available_intervals for the start times within a date.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toYesEnd of the range to search (ISO 8601), after from
fromYesStart of the range to search (ISO 8601)
partsNoParts of the potential booking (block = booked time, free = gap); when given, duration is ignored. Omit to use the service's own duration or parts
spacesNoSpaces required (excludes group bookings with fewer spaces left); the API defaults to 1
buffersNoMinutes before/after a potential booking that must be free; omit to use the service's buffers
durationNoMinutes that must be free from the start of an interval; omit to use the service's default duration
timezoneNoIANA timezone to return the results in; the API defaults to Europe/London
service_idYesService ID (24 hexadecimal characters)
max_resultsNoMaximum number of intervals to return
resource_idsNoOnly these resources; omit for every resource assigned to the service
ignore_bookingsNoBooking IDs to ignore for this search (they neither block availability nor count as available group bookings)
resource_group_idNoOnly resources in this resource group (the API's resource_group_ids field, which its spec types as a single string). Not with resource_ids
ignore_group_settingNoReturn group bookings with space even if online group bookings are off
ignore_past_restrictionNoDo not exclude times before now
ignore_service_scheduleNoIgnore the service's schedule
ignore_notice_restrictionNoIgnore the organisation's and service's notice-period settings
ignore_service_assignmentNoDo not fail when a resource is not assigned to the service

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds the HTTP endpoint (POST /availability/days/search) and reaffirms 'it changes nothing', which is useful context, but says nothing about result caps/pagination behavior despite the max_results parameter, so the added value is modest.

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?

Three tight sentences with the core purpose front-loaded and the sibling routing last. The POST endpoint aside is arguably expendable but is short and contextual, so there is little waste.

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

Completeness3/5

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

For a 17-parameter tool with no output schema, the description only gesture at the return shape ('with the resources free on each') and omits pagination/max_results behavior. Annotations and the exhaustive schema carry most of the burden, so it is adequate but thin for the tool's complexity.

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 description coverage is 100%, so the schema already documents all 17 parameters thoroughly (parts, buffers, spaces, ignore_* flags, etc.). The description adds no parameter-level meaning beyond what the schema provides, which is the correct baseline of 3.

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 resource (available dates for a service) with its scope (between two dates/times, plus which resources are free), and explicitly contrasts with the sibling find_available_intervals. An agent can distinguish this from the interval-level tool without opening either 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?

Names the alternative tool and the condition that selects it ('for the start times within a date'), which is genuine routing guidance. It doesn't cover when-not-to-use or other siblings (e.g., get_service to resolve service_id), so it falls just short of the top band.

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