Skip to main content
Glama
dwooods
by dwooods

find_free_slots

Read-onlyIdempotent

Find available time slots of a required minimum length across one or more days, within an earliest-to-latest window and around timed calendar events. Use it to answer when an activity can be scheduled.

Instructions

Find free time of at least a given length on each day, between an earliest and latest time, around the calendar's timed events. All-day events are not treated as busy.

Use for "when could we do X this week?" questions.

Input Schema

NameRequiredDescriptionDefault
dateNoFirst day. Default today.
daysNo
latestNoWindow end, HH:MM local. Default 21:00.
dateEndNoLast day. Default 7 days.
earliestNoWindow start, HH:MM local. Default 08:00.
durationMinutesNoMinimum slot length. Default 60.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.4.1

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover read-only/idempotent safety, and the description adds behavior the annotations cannot: all-day events are excluded from busy time, and the window is evaluated per day rather than across the whole range. It does not explain how partially overlapping or back-to-back events are handled, which would matter at the margins.

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?

Two sentences, front-loaded with the core behavior and followed by the usage cue; nothing is filler. The first sentence is dense enough (window, minimum length, per-day, event exclusion) that some readers may need a second pass.

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?

Six parameters, a date-range axis, and no output schema mean the description should say something about the shape of the result (e.g. a list of slots per day with start/end). The semantics of the computation are covered well, but the return contract is left entirely to inference.

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?

With schema coverage at 83% the baseline is 3, but the description adds real meaning by tying parameters together: minimum slot length is a floor, earliest/latest form a daily window, and results are produced per day. It does not mention the defaults or the date/dateEnd/days relationship, which the schema covers only partially.

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

Purpose4/5

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

States a specific verb+resource (find free time) and pins down the scope: per-day gaps of a minimum length inside an earliest/latest window, computed around timed events. This clearly separates it from get_calendar_events (list raw events) and find_conflicts, though it never names those siblings explicitly.

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 quoted example question ("when could we do X this week?") gives a concrete trigger that an agent can pattern-match against scheduling requests. It stops short of stating when NOT to use it or pointing to find_conflicts for overlap detection.

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