Skip to main content
Glama

calendar_check_availability

Read-onlyIdempotent

Check when you have free time in the connected calendar (Google or Outlook). Shows busy periods and free slots in a given time range. Useful for finding meeting times or checking schedule conflicts.

Input Schema

NameRequiredDescriptionDefault
end_timeNoEnd date/time to check availability (YYYY-MM-DD or ISO 8601). Defaults to end of start_time day, or 7 days from now.
timezoneNoIANA timezone (e.g. 'Asia/Bishkek') that start_time/end_time WITHOUT an offset are in, and that the free slots are reported in. OMIT for UTC.
account_idNoCalendar account to use when the workspace has several (Google or Outlook). OMIT to use the default one; every answer names the account and channel used.
start_timeNoStart date/time to check availability (YYYY-MM-DD or ISO 8601). Defaults to start of today.
calendar_idNoCalendar ID to check. OMIT to use the agent's configured default calendar (or primary).
in_workspaceNoRun this one call in this workspace id instead of the session's. Nothing is stored; other sessions are not affected.
working_hours_onlyNoIf true, only show free slots during working hours (9 AM - 6 PM). OMIT to show all free time (the default).
min_duration_minutesNoMinimum duration in minutes for free slots. Filters out short gaps. Default: 30 minutes.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / account_id
      Added value: +{
      +  "description": "Calendar account to use when the workspace has several (Google or Outlook). OMIT to use the default one; every answer names the account and channel used.",
      +  "type": "integer"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / in_workspace
      Added value: +{
      +  "description": "Run this one call in this workspace id instead of the session's. Nothing is stored; other sessions are not affected.",
      +  "type": "integer"
      +}
  3. Changed1 schema field changed
    • addedInput schema / properties / timezone
      Added value: +{
      +  "description": "IANA timezone (e.g. 'Asia/Bishkek') that start_time/end_time WITHOUT an offset are in, and that the free slots are reported in. OMIT for UTC.",
      +  "type": "string"
      +}
  4. Added
  5. Removed
  6. Changed2 schema fields changed
    • removedInput schema / properties / calendar_id / default
      Removed value: -"primary"
    • changedInput schema / properties / calendar_id / description
      Previous value: -"Calendar ID to check. Defaults to primary calendar."New value: +"Calendar ID to check. OMIT to use the agent's configured default calendar (or primary)."
  7. First observed

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds that results come from a Google or Outlook calendar and that it reports both busy and free periods, but says nothing about what happens with multiple calendars, default account selection, or how gaps are computed — that detail lives only in the 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?

Three short sentences with the core action front-loaded and no redundancy. The third sentence is the weakest — it restates an obvious use case rather than adding new information, but it earns partial credit as usage guidance.

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 8 all-optional parameters fully described in the schema, read-only annotations, and no output schema, the description supplies just enough: it says what is returned (busy periods and free slots) and over what range. It could have added a note on multi-calendar/multi-account aggregation to be fully self-contained, but nothing critical is missing.

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 every parameter including timezone, calendar_id, working_hours_only and min_duration_minutes is already documented with defaults. The description adds no parameter-level meaning beyond that, so the baseline of 3 applies.

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 and resource: 'Check when you have free time in the connected calendar' and clarifies it returns busy periods and free slots in a range. It is functionally distinguishable from calendar_list_events by being availability-oriented, but never names that sibling or explains the difference explicitly, so the agent has to infer it.

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

Usage Guidelines3/5

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

'Useful for finding meeting times or checking schedule conflicts' gives a positive use case but no exclusions or named alternatives, even though calendar_list_events and calendar_create_event sit right next to it in the toolset. The agent must guess when to prefer this over listing events.

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.