100+ integrations are ready to connect to your AI.Connect your first MCP

Google Calendar MCP server for your AI

Check free/busy across a team, book an event with a Meet link, reschedule what conflicts, and share or unshare a calendar — on every calendar the authorized Google account can reach.

PopMCPGoogle Calendar

What meetings do I have tomorrow, and who hasn't replied yet?

Supported Google Calendar tools

Every event, calendar, sharing and availability operation the connection exposes, plus the calendar changes PopMCP can watch for.

google_calendar_add_google_meet_to_event

Add a Google Meet video link to an event that already exists, leaving everything else about it untouched.

google_calendar_create_event

Creates an event.

google_calendar_create_event_with_meet

Create an event that has a Google Meet video link, in one call — use this whenever the user says video call, Meet, virtual, remote or online.

google_calendar_delete_event

Deletes an event.

google_calendar_get_event

Returns an event based on its Google Calendar ID.

google_calendar_list_event_instances

Returns instances of the specified recurring event.

google_calendar_list_events

Returns events on the specified calendar.

google_calendar_list_upcoming_events

List what is coming up on a calendar, soonest first — the answer to "what's on my calendar?", "what's my next meeting?" or "am I busy this afternoon?".

google_calendar_move_event

Moves an event to another calendar, i.e.

google_calendar_quick_add_event

Creates an event based on a simple text string.

google_calendar_search_events

Find events by keyword — "when is the Acme kickoff?", "find my dentist appointment", "which meetings mention the budget?".

google_calendar_update_event

Updates an event.

google_calendar_create_calendar

Creates a secondary calendar.

google_calendar_get_calendar

Returns metadata for a calendar.

google_calendar_list_calendar_sharing

Returns the rules in the access control list for the calendar.

google_calendar_list_calendars

Returns the calendars on the user's calendar list.

google_calendar_share_calendar

Creates an access control rule.

google_calendar_subscribe_to_calendar

Inserts an existing calendar into the user's calendar list.

google_calendar_unshare_calendar

Deletes an access control rule.

google_calendar_unsubscribe_from_calendar

Removes a calendar from the user's calendar list.

google_calendar_update_calendar

Updates metadata for a calendar.

google_calendar_update_calendar_listing

Updates an existing calendar on the user's calendar list.

google_calendar_update_sharing_rule

Updates an access control rule.

google_calendar_list_settings

Returns all user settings for the authenticated user.

google_calendar_check_availability

Returns free/busy information for a set of calendars.

google_calendar_get_colors

Returns the color definitions for calendars and events.

google_calendar_import_event

Imports an event.

google_calendar_replace_event

Updates an event.

google_calendar_watch_events

Watch for changes to Events resources.

google_calendar_clear_calendar_events

Clears a primary calendar.

google_calendar_delete_calendar

Deletes a secondary calendar.

google_calendar_get_calendar_listing

Returns a calendar from the user's calendar list.

google_calendar_get_sharing_rule

Returns an access control rule.

google_calendar_replace_calendar

Updates metadata for a calendar.

google_calendar_replace_calendar_listing

Updates an existing calendar on the user's calendar list.

google_calendar_replace_sharing_rule

Updates an access control rule.

google_calendar_transfer_calendar_ownership

Transfers a secondary calendar between users within a Google Workspace organization.

google_calendar_watch_calendar_list

Watch for changes to CalendarList resources.

google_calendar_watch_calendar_sharing

Watch for changes to ACL resources.

google_calendar_get_setting

Returns a single user setting.

google_calendar_watch_settings

Watch for changes to Settings resources.

google_calendar_stop_notification_channel

Stop watching resources through this channel NOT USABLE OVER MCP: Requires a publicly reachable HTTPS webhook receiver on a domain verified in Google Cloud Console; an MCP connection has no such endpoint, so this call cannot be completed from here.

Connect Google Calendar to your AI

Authorize once, then an endpoint your client signs into. Nothing to deploy, and nothing to install on the Google Calendar side.

Enable the Google Calendar API in your Google Cloud project, paste your OAuth Client ID and OAuth Client Secret, then authorize once. The connection reaches every calendar that Google account can see.

OAuth Client ID1234567890-abc.apps.googleusercontent.com
OAuth Client Secret••••••••••••3f7a
Authorize PopMCP on Google CalendarAuthorize

Then just ask for the work

  • What meetings do I have tomorrow, and who hasn't replied yet?

    • list_calendars
    • list_upcoming_events
    • get_event
  • Move every Friday standup next week to 9am and keep the guest list

    • search_events
    • list_event_instances
    • update_event
  • Book a 30-minute intro call with the Acme team Thursday with a Meet link

    • check_availability
    • create_event_with_meet
  • Which of our shared team calendars can contractors still see?

    • list_calendars
    • list_calendar_sharing
    • get_sharing_rule

Use Google Calendar from the assistant you already open

One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.

Claude DesktopCustom connector

Add the PopMCP URL under Settings → Connectors and the tools appear in every chat.

Claude WebCustom connector

The same endpoint, registered in the browser. Nothing to install on the machine you are working from.

ChatGPTCustom connector

Register PopMCP as a custom connector, then let ChatGPT read and update the account.

CodexDesktop & CLI

Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.

OpenCodeCoding agent

Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.

ZCodeDesktop app

Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.

Google Calendar MCP server questions

What teams ask before putting Google Calendar behind an AI client.

Do I need my own Google Cloud OAuth client to connect?

Yes. Create an OAuth client in a Google Cloud project that has the Google Calendar API enabled, then paste the OAuth Client ID and OAuth Client Secret into the connect form. From there you authorize once on Google's own consent screen, so PopMCP never sees your Google password.

Why would the connection stop working after seven days?

That happens when your Google Cloud project's Audience is set to External and the app has not been published. Google expires the authorization after 7 days in that state, and the connection goes dead with it. Publish the app before you connect, or publish and then reconnect if it has already lapsed.

Which calendars can the agent reach, and can I limit it to one?

There is no calendar to pick during setup. The connection reaches every calendar the Google account you authorize with can reach, and defaults to that account's own calendar. To narrow it, authorize with an account that only has the access you want to give. One extra limit worth knowing: transfer_calendar_ownership only moves a secondary calendar between users inside the same Google Workspace organization.

Can it work with recurring meetings, not just one-off events?

Yes. list_event_instances expands a recurring series into its individual occurrences, so the agent can pin down the specific standup or check-in you meant. update_event then makes the change to the occurrence it found.

Can it set up Google Meet video calls?

create_event_with_meet books the event and attaches the Meet link in a single call, and it is what the agent should reach for whenever you say video call, Meet, virtual, remote or online. For a meeting that is already on the calendar, add_google_meet_to_event attaches the link and leaves everything else about the event untouched.

Which calendar changes can PopMCP watch, and how do they arrive?

Changes to a watched calendar, to the account's calendar list, to sharing, and to settings such as time zone or working hours arrive as webhooks. Event-level changes are polled instead: event created, updated, rescheduled or cancelled, attendee responded, guest list changed, meeting link added, event starting soon, and out-of-office or focus-time blocks.

Do I have to run or host the Google Calendar MCP server myself?

No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.

Which AI clients can use this MCP server?

Any client that supports a remote Streamable HTTP MCP server — Claude Desktop, Claude Web, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.

Why do only 26 of the 42 tools load by default?

Loading 42 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 26-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. You can switch a connection to the full catalog at any time.

What is the difference between a tool and a trigger?

A tool is something your AI calls — there are 42 here. A trigger is something PopMCP watches for you: 16 Google Calendar events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into Google Calendar.

Connect Google Calendar to your AI in minutes

Launch a hosted MCP endpoint for Google Calendar, keep tool access under control, and start testing real workflow prompts right away.

Connect your first MCP