Google Calendar
AllMCP gives your agent 16 Google Calendar tools: manage calendars, find and book meetings with guests, recurrence and Google Meet links, RSVP to invitations, and check who is free when.
All providers How connecting worksPoint your client at AllMCP
Section titled “Point your client at AllMCP”Connect your MCP client to the AllMCP endpoint and authenticate with your API key.
https://go.allmcp.co/mcp/Send your key on every request using either header:
X-API-Key: allmcp_xxxAuthorization: Bearer allmcp_xxxIf you run agents for more than one of your own customers, add ?user_id=... (and optionally ?org_id=...) to the endpoint URL so each customer’s Google connection stays separate.
Connect
Section titled “Connect”Google Calendar uses OAuth2, so there are no tokens to copy by hand.
-
Ask your agent to connect Google Calendar
Tell your agent to connect the
google_calendarprovider. It returns a secure Google sign-in link. -
Grant access in your browser
Open the link, sign in to Google, and approve the requested access. That is the only manual step.
Tools by category
Section titled “Tools by category”Once you are connected, your agent can use the 16 tools below. You don’t need to call anything by name — just describe what you want in plain language and the agent picks the right tool.
Calendars
Section titled “Calendars”Find the calendar ID events and free/busy need; create, rename and delete calendars.
| Tool | What it does |
|---|---|
google_calendar_list_calendars | Lists the calendars on the connected account — its own primary calendar, calendars it created, and calendars shared with or subscribed to by it. Can filter by minimum access level and include hidden calendars. |
google_calendar_get_calendar | Returns one calendar from that list, including the account’s access role, whether it is the primary calendar, and its time zone. |
google_calendar_create_calendar | Creates a new secondary calendar with a title and an optional description and time zone. |
google_calendar_update_calendar | Changes a calendar’s title, description, time zone or location. Only the fields you pass are changed, and owner access is required. |
google_calendar_delete_calendar | Permanently deletes a secondary calendar and every event on it. Requires an explicit confirmation, and the primary calendar can never be deleted. |
google_calendar_get_colors | Returns the color legend — the map of color IDs to hex values used when setting an event’s color. |
Events
Section titled “Events”Meetings and invites: find, book, reschedule, RSVP, and cancel a single occurrence.
| Tool | What it does |
|---|---|
google_calendar_list_events | Lists or searches events on a calendar by free-text query, time window and event type. Any event overlapping the window matches, and recurring events are expanded into individual occurrences ordered by start time. |
google_calendar_get_event | Returns one event by ID, including its guest list and each guest’s RSVP status. |
google_calendar_create_event | Creates an event, optionally with guests, a description and location, recurrence rules, a color, popup reminders and a Google Meet link. Guests are emailed their invitation. |
google_calendar_quick_add_event | Creates an event from a plain-language sentence such as “Lunch with Ann at Blue Cafe on Friday 12pm-1pm”, parsed by Google. |
google_calendar_update_event | Changes an existing event’s title, description, location, start and end, guest list, recurrence, color or busy/free status. Only the fields you pass are changed. |
google_calendar_delete_event | Deletes an event and notifies its guests. Deleting a recurring event’s parent removes every occurrence. |
google_calendar_move_event | Moves an event to another calendar. Only the organizer’s copy can be moved, and the destination must be writable. |
google_calendar_respond_to_event | RSVPs to an invitation as the connected account — accept, decline or tentative, with an optional note for the organizer. Other guests’ responses are left untouched. |
google_calendar_list_event_instances | Expands one recurring event into its individual occurrences, each with its own ID so a single occurrence can be changed or cancelled. |
Availability
Section titled “Availability”Check who is free when — busy blocks for people, rooms and shared calendars.
| Tool | What it does |
|---|---|
google_calendar_get_free_busy | Returns busy time blocks for up to 50 calendars over one time window — your own calendars plus any coworker, room or shared calendar visible to the connected account. The gaps between the blocks are the free time. A calendar that could not be read is reported as unknown rather than failing the whole lookup. |
Common workflows
Section titled “Common workflows”Here are a few things you can simply ask your agent to do once Google Calendar is connected.
Find 45 minutes on Thursday afternoon when Anna and Jorge are both free, then book it with a Meet linkWhat's on my calendar next week, across all my calendars, and how many hours of meetings is that?Move the client review from Thursday to Friday at 10:00 and let the guests knowCancel just next Monday's stand-up — keep the rest of the seriesAccept the invitation to the Q3 pricing review and tell the organizer I may join five minutes lateGood to know
Section titled “Good to know”- Time zones decide everything. “Tomorrow at 3” is resolved against the calendar’s own time zone, which your agent reads from the calendar before it books. A repeating timed event additionally needs a named zone such as
Europe/Kyiv— a plain UTC offset cannot describe how a series behaves across daylight-saving changes. - All-day events end the next day. Google treats the end date as exclusive, so a one-day event on 4 August is stored as ending 5 August. Your agent handles this; it is worth knowing when you read the raw dates back.
- A quiet free/busy result is not proof of a free day. Free/busy only reports time actually marked busy — time off that was saved as “Free” in Google Calendar, which is the default for all-day entries, never shows up. Ask your agent to confirm against the event list when the answer matters.
- Only the organizer’s edits reach everyone. If the connected account is a guest rather than the organizer, changes land on its private copy only. The one guest-side action that reaches the organizer is an RSVP.
- Guest lists are replaced, not appended. Updating guests sends the complete list, so your agent reads the current one first. Guests round-trip as email addresses only: an “optional” guest becomes a required one, and a booked meeting room becomes a plain invitee — book rooms in the Google Calendar interface instead.
- Guests get emailed by default. Creating, updating, deleting and moving events all notify guests unless you explicitly ask for a silent change — worth saying out loud when you are only fixing a typo.
- Deleting a calendar is permanent. It removes every event on it for every subscriber, so your agent asks you to confirm first.