Skip to content

Google Calendar

Connect Google Calendar data through Google's hosted Calendar MCP server.

Use a Google Cloud project where you can enable services, grant project roles, configure Google Auth platform, and create OAuth credentials. Enabling services requires serviceusage.services.enable, normally provided by Service Usage Admin or Owner; another predefined or custom role can provide it. Google’s IAM procedure names Project IAM Admin for granting project roles. Each connecting user must have access to the calendars and events they will use.

Before you begin, have the application or security owner configure prompt and response screening for malicious content or prompt injection.

  1. Sign in at https://console.cloud.google.com.
  2. In the console toolbar, use the resource selector to select the project that will own this configuration.

Keep that project selected throughout the Google Cloud steps.

Enable the Google Calendar APIs

  1. Open APIs & Services > API Library.
  2. In Search for APIs & Services, search for Google Calendar API.
  3. Open Google Calendar API.
  4. Click Enable. If the API is already enabled, continue.
  5. Reopen APIs & Services > API Library.
  6. In Search for APIs & Services, search for Google Calendar MCP API.
  7. Open Google Calendar MCP API.
  8. Click Enable. If the API is already enabled, continue.
  9. Open the project’s IAM page.

Grant MCP Tool User access

  1. Go to https://console.cloud.google.com/iam-admin/iam.
  2. Confirm that the same project is selected.
  3. Click Grant access.
  4. In New principals, enter a connecting user’s Google Account email.
  5. Click Select a role.
  6. Search for MCP Tool User.
  7. Select MCP Tool User.
  8. Click Save.
  9. Repeat these steps for each connecting user.

Google says an OAuth consent screen cannot be removed after you configure it. Obtain approval from the application or security owner before accepting the user data policy.

  1. Open Google Auth platform > Branding.
  2. If you see Google Auth platform not configured yet, click Get Started. Otherwise, retain the approved Branding and Audience, then continue at Data Access below.
  3. Under App Information, enter Calendar MCP Server in App name.
  4. In User support email, choose a monitored address.
  5. Click Next.
  6. Under Audience, select Internal if every connecting user belongs to the project’s organization. Otherwise, select External.
  7. Click Next.
  8. Under Contact Information, enter a monitored Email address.
  9. Click Next.
  10. Under Finish, review the Google API Services User Data Policy.
  11. With approval, select I agree to the Google API Services: User Data Policy.
  12. Click Continue.
  13. Click Create.
  14. Open Data Access.
  15. Click Add or Remove Scopes.
  16. Under Manually add scopes, paste https://www.googleapis.com/auth/calendar.calendarlist.readonly, https://www.googleapis.com/auth/calendar.events.freebusy, and https://www.googleapis.com/auth/calendar.events.readonly.
  17. Click Add to Table.
  18. Click Update.
  19. Click Save.

If you selected External and the app is in Testing, add every connecting account:

  1. Open Audience.
  2. Under Test users, click Add users.
  3. Enter each connecting user’s email.
  4. Click Save.

Testing permits at most 100 test users. Each authorization expires seven days after consent; when it expires, the user must complete browser authorization again.

Create the OAuth client

  1. Open Google Auth platform > Clients.
  2. Click Create client.
  3. In Application type, select Web application.
  4. In Name, enter a recognizable name such as Speakeasy AI Control Plane.
  5. Under Authorized redirect URIs, click + Add URI.
  6. In URIs, enter https://app.getgram.ai/mcp/remote_login_callback.

Prepare an approved secret store before the next step. The dialog that opens after you create the client permits the client secret to be copied only once.

  1. Click Create.

This opens OAuth 2.0 client created.

Copy the OAuth credentials

  1. In OAuth 2.0 client created, copy Client ID to the approved secret store.
  2. Under Client secrets, copy Client secret to the same store.

Keep both values for connecting your credentials.

If you miss the one-time secret:

  1. Reopen Google Auth platform > Clients.
  2. Confirm that the same project is selected.
  3. Under OAuth 2.0 Client IDs, click the client you created.
  4. Under Client secrets, find the missed secret.
  5. Click Disable.
  6. Click the delete button next to the disabled secret.

Prepare the approved secret store before the next action. The new secret is visible only when it is created.

  1. Click Add Secret.
  2. Immediately copy the new secret to the approved secret store.

Permit the OAuth app under Workspace policy if required

Confirm the applicable Calendar app-access policy with the Workspace security owner. Complete this step only if the policy restricts Google Calendar access for unconfigured or limited apps.

  1. Sign in at https://admin.google.com with the Service Settings administrator privilege.
  2. Open Security > Access and data control > API controls.
  3. Click Manage App Access.
  4. Under Configured apps, click Configure new app.
  5. Enter the Client ID you copied in Copy the OAuth credentials.
  6. Click Search.
  7. Select the matching app.
  8. Select the organizational units whose users will connect.
  9. Click Continue.
  10. Under Access to Google data, have the application or security owner choose Trusted or Specific Google data.
  11. Click Continue.
  12. Review the settings.
  13. Click Finish.

Return to the Speakeasy AI Control Plane.

Add the server in Speakeasy

  1. In the Speakeasy AI Control Plane sidebar, under Connect, select Sources.
  2. Click Add Source.
  3. Choose Custom remote server.
  4. On Add a custom remote MCP server, paste https://calendarmcp.googleapis.com/mcp/v1 into Remote MCP server URL.
  5. Click Add server.

This opens the server’s Overview page. Transport is read-only.

Connect your credentials

  1. From Overview, open Settings.
  2. Under Authentication, click Configure Manually or Use Discovered when offered.
  3. In Attach Remote Identity Provider, set Client Type to Manual.
  4. Confirm that Redirect URI matches https://app.getgram.ai/mcp/remote_login_callback entered when you created the OAuth client.
  5. Paste the Client ID from Copy the OAuth credentials.
  6. Paste the Client secret into Client Secret (optional). Google requires this value despite the optional Speakeasy label.
  7. In Scope (override), enter https://www.googleapis.com/auth/calendar.calendarlist.readonly,https://www.googleapis.com/auth/calendar.events.freebusy,https://www.googleapis.com/auth/calendar.events.readonly.
  8. Click Attach Identity Provider.
  9. At first connection, authorize with an account granted MCP Tool User, included as a test user when applicable, and permitted by Workspace policy.

This guide covers setup only. For anything beyond it — billing, tool behavior, limits — see Google’s Calendar MCP documentation at https://developers.google.com/workspace/calendar/api/guides/configure-mcp-server.