Skip to main content
Glama
taylorwilsdon

Google Workspace MCP Server - Control Gmail, Calendar, Docs, Sheets, Slides, Chat, Forms & Drive

Query Freebusy

query_freebusy
Read-onlyIdempotent

Check free/busy status for chosen calendars over a time interval to determine availability for scheduling.

Instructions

Returns free/busy information for a set of calendars.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
time_maxYesThe end of the interval for the query in RFC3339 format (e.g., '2024-05-12T18:00:00Z' or '2024-05-12').
time_minYesThe start of the interval for the query in RFC3339 format (e.g., '2024-05-12T10:00:00Z' or '2024-05-12').
calendar_idsNoList of calendar identifiers to query. If not provided, queries the primary calendar. Use 'primary' for the user's primary calendar or specific calendar IDs obtained from `list_calendars`.
user_google_emailYesThe user's Google email address. Required.
group_expansion_maxNoMaximum number of calendar identifiers to be provided for a single group. Optional. An error is returned for a group with more members than this value. Maximum value is 100.
calendar_expansion_maxNoMaximum number of calendars for which FreeBusy information is to be provided. Optional. Maximum value is 50.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changedv1.28.0
    • removedInput schema / properties / calendar_expansion_max / anyOf
      Removed value: -[
      -  {
      -    "type": "integer"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / calendar_expansion_max / type
      Added value: +"integer"
    • removedInput schema / properties / calendar_ids / anyOf
      Removed value: -[
      -  {
      -    "items": {
      -      "type": "string"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / calendar_ids / items
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / calendar_ids / type
      Added value: +"array"
    • removedInput schema / properties / group_expansion_max / anyOf
      Removed value: -[
      -  {
      -    "type": "integer"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / group_expansion_max / type
      Added value: +"integer"
  2. Addedv1.0.1

TDQS

B3.3/5.0
Behavior3/5

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

The annotations already fully cover the behavioral profile (readOnlyHint=true, openWorldHint=true, idempotentHint=true, destructiveHint=false), so the description has a low bar to clear. It adds no behavioral context beyond the annotations, such as group expansion error behavior or primary-calendar fallback, but it does not contradict them either.

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

Conciseness5/5

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

A single declarative sentence with the verb front-loaded and zero filler. Every word earns its place, and the description is appropriately minimal given that the schema and annotations carry the operational detail.

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?

The output schema explains return values, the schema documents all parameters with high coverage, and annotations cover the safety profile. The main gap is the absence of usage-selection guidance distinguishing this from get_events and list_calendars, which matters for a calendar tool with 6 parameters.

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%: every one of the 6 parameters has a substantive description, including RFC3339 format examples (time_min/time_max), defaults (calendar_ids), and max bounds (group_expansion_max=100, calendar_expansion_max=50). Per the baseline rule, a 3 is appropriate; the tool description itself adds no parameter detail.

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?

The description states a specific verb ('Returns') and resource ('free/busy information for a set of calendars'), which is unambiguous about what the tool does. The concept of free/busy is distinct from sibling calendar tools like get_events or list_calendars, so an agent can differentiate it, though no sibling is named explicitly.

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

Usage Guidelines2/5

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

There is no guidance on when to choose query_freebusy over alternatives like get_events or list_calendars, and no exclusions or prerequisites are stated. An agent must infer the selection criteria purely from the resource name.

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

Deploy Server

Other Tools