google-calendarrecurring-eventssafetymcp

Can an AI Agent Cancel Just One Recurring Calendar Meeting?

Find the right occurrence before deleting: instance IDs, series IDs, and what CalendarMCP cannot verify in a formatted event.

Sarah Chen
Developer Relations, CalendarMCP ·

To cancel one meeting in a recurring series, identify that occurrence's event ID on the intended calendar. Never hand an agent the series ID and ask it to "delete next Tuesday" without verifying which object the ID names. If the occurrence cannot be distinguished confidently, stop and use Google Calendar's interface or a direct API integration that exposes instance metadata.

Google treats an occurrence as its own instance

Google's recurring-events guide distinguishes a parent series from its instances and documents cancelling a single instance as an exception. Instance records carry recurringEventId and originalStartTime; the latter identifies the scheduled slot even if that occurrence was moved. Those fields matter when a meeting has several exceptions or similarly named events.

CalendarMCP's list_events expands recurring events by default when given a time window. It returns an id, start, end, and summary for each formatted result. Its formatter currently omits both recurringEventId and originalStartTime. That limits what an agent can prove about a returned ID. A matching title and date alone are not reliable proof of series membership.

A narrow cancellation procedure

  1. Ask whether the person means this date only, the entire series, or future occurrences. Confirm the calendar and local time zone.
  2. Use list_events with an explicit calendarId, a small window around the local date, and singleEvents: true. Inspect all results, including pagination or truncation, before selecting an ID.
  3. Read the candidate with get_event on the same calendar. If another event fits or the series relationship needs verification, do not infer it from the title; inspect the full Google Calendar instance record or use the calendar UI.
  4. Only after the person confirms the exact occurrence and guest impact should a writable agent call delete_event with that instance ID and explicit calendar ID. Read back the surrounding dates to check that other instances remain.

CalendarMCP's delete_eventpasses its event ID to Google's Events: delete method. Its sendUpdates option defaults to none, but do not promise that this prevents all guest email or removes a copy owned by someone else. Confirm the organizer and notification consequences before writing.

This procedure is based on the current tool implementation and Google's API documentation, not a live cancellation test. The broaderrecurring-event guide covers how to choose between one event and a series; this check focuses on what the agent can actually identify before making that choice actionable.

Ready to get started?

Connect your Google Calendar to Claude and any MCP client in about two minutes.

Connect Google Calendar