Skip to main content
Glama
iTvX

Google Workspace MCP — Gmail edition

by iTvX

manage_calendar

List events, view agendas, check availability, and create, update, or delete Google Calendar events from your connected accounts.

Instructions

List events, view agenda, check availability, or manage calendar events.

Input Schema

NameRequiredDescriptionDefault
endNoEnd time (ISO 8601) — or, when allDay is true, a DATE (YYYY-MM-DD) that is the INCLUSIVE last day; the exclusive end date the Calendar API requires is computed for you. Optional for all-day events: a missing end (or one equal to start) makes a one-day event.
daysNoNumber of days ahead to show (default: today only)
meetNoAdd a Google Meet video conference link. On `update`, true adds a link and false REMOVES an existing one; omit it to leave the link as it is.
textNoNatural language event description
weekNoShow this week's events
emailYesAccount email address. On list operations, "all" runs it once for every configured account.
queryNoFree-text search terms to filter events
startNoStart time (ISO 8601) — or a DATE (YYYY-MM-DD) when allDay is true
allDayNoWhether the event is all-day. When true, start and end are DATES (YYYY-MM-DD — an ISO datetime's date part is used) and end, if given, is the INCLUSIVE last day; the exclusive end date the Calendar API requires is computed for you. Omit it (or pass false) for a timed event with start/end as dateTime — pass false with new datetimes to convert an all-day event back to a timed one. On `update`, converting TO all-day needs only one of start/end; the other is derived from the event on record. Converting FROM all-day needs both, because the missing one would need a time of day only you can choose.
eventIdNoEvent ID
summaryNoEvent title
timeMaxNoEnd of range (ISO 8601)
timeMinNoStart of range (ISO 8601). On `list`, defaults to today.
locationNoEvent location
tomorrowNoShow tomorrow's events instead of today
attendeesNoComma-separated email addresses. On `update`, whatever you pass REPLACES the existing list — addresses you leave out are removed, and an empty string clears everyone. OMIT the parameter to leave the attendee list untouched while changing other fields. On `freebusy`, the addresses whose availability to check.
operationYeslist: upcoming events — defaults to primary calendar, use calendarId to target a specific calendar (use 'calendars' operation to discover IDs) | agenda: today's schedule at a glance (all calendars). Returns calendarId per event for follow-up get calls. | get: full event details by ID. For shared calendar events, calendarId is required (use agenda or list to discover it). | create: create a new calendar event | quickAdd: create event from natural language (e.g. 'Lunch with Alice tomorrow at noon') | update: update an existing event (patch semantics — only changed fields needed) | delete: delete an event | calendars: list all calendars the user has access to | freebusy: check availability (free/busy) for a time range. Automatically includes own calendar; add attendees to check others.
calendarIdNoCalendar ID. Use the `calendars` operation to list available IDs; required for events on shared calendars. Defaults to 'primary' on the event operations (`list`, `get`, `create`, `quickAdd`, `update`, `delete`). On `agenda`, a calendar name or ID to filter to — OMIT it to span all calendars, and do not pass 'primary', which is an API alias rather than an id agenda matches on. On `freebusy`, a comma-separated list of calendar IDs to check IN ADDITION to your own.
maxResultsNoMax events (default: 10, max: 50)
descriptionNoEvent description or notes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv4.8.0

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the entire behavioral burden, and it discloses almost nothing: no mention of destructive delete/update semantics, no permission or auth requirements, no return format, no rate limits. The only genuinely useful behavioral notes (patch semantics, attendee replacement, all-day conversion) exist in the schema descriptions, not here.

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

Conciseness3/5

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

The single sentence is front-loaded and waste-free, but for a tool with nine operations and twenty parameters it is under-specified rather than genuinely concise. Brevity here is achieved by omission, not by efficient structuring.

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 schema is exceptionally self-documenting (100% coverage, operation enum enumerating semantics), which compensates for much of the description's silence, and there is no output schema to explain. Still, a nine-operation tool with no annotations and no destructive-operation warnings leaves the agent relying entirely on schema text for routing and safety.

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%, with detailed per-parameter and per-operation documentation in the schema, so the baseline is 3. The description adds no parameter-level meaning whatsoever beyond what the schema already provides.

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 names concrete verbs (list events, view agenda, check availability) plus a catch-all ('manage calendar events') against the calendar resource, so an agent can tell this is the multiplexed calendar tool. It is clear but does not differentiate from siblings like manage_meet, manage_contacts, or manage_tasks, and it never signals that this one tool actually spans nine distinct operations.

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?

The four phrases imply usage modes (viewing vs. managing), which roughly maps to the read/write split in the operation enum. However, the description itself gives no when-to-use guidance, no alternatives, and no routing between operations or siblings — the rich per-operation guidance lives entirely in the schema's operation enum, not in the description.

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