Skip to main content
Glama

find_free_slots

Read-onlyIdempotent

Compute free meeting slots from your calendar, handling time zones, working hours, weekends, and gaps. Returns ready-to-propose availability; read-only, never books events.

Instructions

Free meeting slots computed from the calendar, ready to propose in an email: {count, slots: [{start, end, label}], nota}. label is a human-readable Italian string. Time zone, weekends, working hours, minimum notice and gaps between events are already handled — use this instead of deriving availability from list_events. Requires a connected calendar (Microsoft or Google). Read-only: it never books anything (use create_event for that, which needs human approval).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
work_endNoWorking day end, 'HH:MM' local time.18:30
max_slotsNoMax slots to return.
days_aheadNoSearch window in days from now.
work_startNoWorking day start, 'HH:MM' local time.09:30
skip_weekendsNoExclude Saturday and Sunday.
duration_minutesNoLength of the slot to find.
min_notice_hoursNoEarliest slot must be at least this far in the future.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed12 schema fields changedv0.3.0
    • addedInput schema / properties / days_ahead / description
      Added value: +"Search window in days from now."
    • addedInput schema / properties / days_ahead / minimum
      Added value: +1
    • addedInput schema / properties / duration_minutes / description
      Added value: +"Length of the slot to find."
    • addedInput schema / properties / duration_minutes / minimum
      Added value: +5
    • addedInput schema / properties / max_slots / description
      Added value: +"Max slots to return."
    • addedInput schema / properties / max_slots / maximum
      Added value: +20
    • addedInput schema / properties / max_slots / minimum
      Added value: +1
    • addedInput schema / properties / min_notice_hours / description
      Added value: +"Earliest slot must be at least this far in the future."
    • addedInput schema / properties / min_notice_hours / minimum
      Added value: +0
    • addedInput schema / properties / skip_weekends / description
      Added value: +"Exclude Saturday and Sunday."
    • addedInput schema / properties / work_end / description
      Added value: +"Working day end, 'HH:MM' local time."
    • addedInput schema / properties / work_start / description
      Added value: +"Working day start, 'HH:MM' local time."
  2. First observedv0.1.3

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the bar for extra disclosure is met with the connected-calendar prerequisite and the explicit statement that it never books. It also discloses that time zone, weekends, working hours, minimum notice and inter-event gaps are handled internally, which is genuine non-obvious behavior.

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?

Front-loads the return shape in the first sentence and packs routing, precondition and safety notes into a compact block. Slightly dense but every sentence carries a distinct fact; nothing is padding.

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

Completeness5/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 compensates by describing the return structure ({count, slots:[{start,end,label}], nota}) and the meaning of `label`. Combined with the auth prerequisite and the booking-side routing, an agent has everything needed for a 7-param, all-optional tool.

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 seven parameters, and the description adds no per-parameter syntax or format detail. Its mention that working hours, weekends, notice and gaps are 'already handled' loosely maps to work_start/work_end, skip_weekends and min_notice_hours but adds no new semantics beyond the schema.

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 — computing free meeting slots from the calendar — and explicitly names the sibling it replaces (list_events) and the sibling that books (create_event). An agent can select it without opening any schema.

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

Usage Guidelines5/5

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

Gives an explicit routing rule ('use this instead of deriving availability from list_events') plus the write-path alternative ('use create_event for that, which needs human approval'). It also states the precondition of a connected Microsoft or Google calendar.

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