Table of contents

Add secure integrations to your products and AI agents with ease via Merge.
Get a demo

How to connect a Google Calendar MCP with Claude Code (5 steps)

Jon Gitlin
Senior Content Marketing Manager
at Merge

Developers carry more scheduling context in their heads than Claude Code has access to. Which hours are blocked for the on-call handoff? Is anyone on the team out during the deployment window? Does the planned maintenance window overlap with a sprint ceremony?

Getting answers means tabbing out to Google Calendar, checking manually, and tabbing back.

To help your developers read and update calendar data without leaving the terminal, we'll show you how to connect Google Calendar with Merge Agent Handler's Google Calendar MCP server.

How it works

Merge Agent Handler sits between Claude Code and the Google Calendar API. You configure a Tool Pack and Registered User in Merge Agent Handler, which generates a unique MCP URL. Claude Code connects to that URL over HTTP and uses an API key (generated in Merge Agent Handler) for authentication.

Here's the connection config before you substitute your specific values:

claude mcp add 
--transport http --header "Authorization: Bearer YOUR_API_KEY"
agent-handler
"https://ah-api.merge.dev/api/v1/tool-packs/YOUR_TOOL_PACK_ID/registered-users/YOUR_REGISTERED_USER_ID/mcp"

Claude Code sends requests to that MCP URL, and Merge handles OAuth token management and API calls to Google Calendar on the backend. You don't store Google credentials locally or manage token refresh yourself. Merge handles both.

Prerequisites

Before getting started, you'll need the following:

  • A Merge Agent Handler account
  • Claude Code installed (run claude --version to confirm)
  • A Google account with access to the calendars you want to connect

Related: A guide to connecting a Google Sheets MCP with Claude Code

1. Create a Tool Pack

Log into Merge Agent Handler and navigate to Tool Packs. Click Create Tool Pack and give it a name tied to your use case, like Calendar Context Agent.

Too Pack for Google Calendar

Under connectors, select Google Calendar and choose which tools to enable.

Adding a Google Calendar connector to a Tool Pack

For read-heavy workflows—checking event schedules, querying attendees, or reviewing availability windows—enabling event listing, event retrieval, and calendar listing covers the core cases. Add write tools like create_event or update_event if your agent needs to schedule or modify events.

Save the Tool Pack. You'll return here to copy your MCP URL in step 4.

2. Add a Registered User

Inside your Tool Pack, create a Registered User.

Adding a Registered user

This is the identity context under which your agent operates: the Google account it acts on behalf of when calling the Calendar API.

Give it a name that maps to your environment, like dev-local or your own name. Once created, Merge generates a unique MCP URL scoped to this user.

3. Authenticate Google Calendar

From the Registered User detail page, click Add Connector and select Google Calendar. This starts a standard Google OAuth flow.

Authenticating the Google Calendar connector

Sign in with the Google account whose calendar you want Claude Code to access, and grant the requested permissions.

Once the OAuth flow completes, Merge stores and manages the access token. You won't need to re-authenticate unless you revoke access.

4. Gather your credentials

You need two things before configuring Claude Code:

1. MCP URL: found on the Tool Pack detail page under the Registered User you just created. It looks like the following:

‍https://ah-api.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp

2. API key: found in Settings > API Keys in your Merge Agent Handler dashboard. Create one if you don't have one yet.

Keep both handy for the next step.

5. Configure Claude Code with Google Calendar

Run the following command in your terminal, substituting your actual MCP URL and API key:

claude mcp add 
--transport http --header "Authorization: Bearer YOUR_API_KEY"
agent-handler
"https://ah-api.merge.dev/api/v1/tool-packs/YOUR_TOOL_PACK_ID/registered-users/YOUR_REGISTERED_USER_ID/mcp"

Verify the connection registered with the command <code class="blog_inline-code">claude mcp list</code>.

<code class="blog_inline-code">agent-handler</code> should appear in the output with a connected status.

To confirm the connector is accessible, open a Claude Code session and run a command like "List all events on my calendar for this Thursday and flag any that overlap with our 3pm deployment window."

You should see an output that looks something like the following:

Example of using the Google Calendar connector in Claude Code

{{this-blog-only-cta}}

Google Calendar MCP FAQ

In case you have more questions on setting up and using the Google Calendar MCP in Claude Code, we've addressed several more commonly-asked questions below.

What can you do once the Google Calendar MCP is connected to Claude Code?

With Google Calendar connected, Claude Code can:

  • List and query events: retrieve events from any calendar filtered by date range, attendee, or keyword, without switching to a browser tab
  • Check availability windows: query free/busy data across calendars before scheduling a deployment, incident review, or sprint ceremony
  • Read event details: pull attendees, descriptions, and video links for a specific meeting when you need that context mid-session
  • Create and update events: schedule a new event or modify an existing one directly from the terminal (if write tools are enabled in your Tool Pack)
  • List all calendars: browse the calendars accessible to the authenticated account, useful when you need to query a shared team or on-call calendar specifically
  • Cross-reference schedule context while coding: ask Claude whether a release window is clear before triggering a deploy, without leaving the session

Why use Merge Agent Handler vs. a self-hosted Google Calendar MCP server?

You can build a self-hosted MCP server that wraps the Google Calendar API directly. For a single developer querying their own calendar, that's a viable path: store OAuth credentials locally, define tool schemas for the event queries you need, and connect it to Claude Code.

The setup breaks down at team scale. OAuth credentials stored locally carry access to everything that account can read, not just the specific calendars you intend to expose. There are no tool-level controls to restrict an agent to read-only queries or block it from writing events on calendars it shouldn't touch. And there's no record of what the agent queried or modified.

Merge Agent Handler adds a control layer that addresses these issues.

You choose exactly which tools each Tool Pack exposes, so a read-only scheduling agent never gets access to create_event or delete_event. Each developer gets a Registered User with isolated credentials, so one person's revoked access doesn't affect anyone else's setup. And every tool call is logged with the tool name, inputs, and response metadata, which matters when an agent modifies events on shares team calendars.

Why connect Google Calendar to Claude Code?

Calendar data has more operational relevance for developers than it gets credit for. Deployment windows, on-call handoffs, incident retrospectives, and sprint ceremonies all live in Google Calendar, and all of them affect decisions that happen in the terminal: when to push a release, whether a teammate is available to review, how long an incident window actually lasted, etc.

Without Calendar connected, Claude Code has no access to any of that. Developers tab out to check manually or work from memory.

Connecting Google Calendar via MCP closes that gap. Your developers can ask Claude to verify whether a deployment window is clear, pull the attendee list for an upcoming retro, find all events overlapping with a reported incident time window, and more. For teams that treat their calendar as a source of truth for engineering operations, that's a real reduction in context-switching during time-sensitive work.

Jon Gitlin
Senior Content Marketing Manager
@Merge

Jon Gitlin is the Managing Editor of Merge's blog. He has several years of experience in the integration and automation space; before Merge, he worked at Workato, an integration platform as a service (iPaaS) solution, where he also managed the company's blog. In his free time he loves to watch soccer matches, go on long runs in parks, and explore local restaurants.

Read more

How to connect Google Sheets MCP with Claude Code (5 steps)

AI

Zero data retention gateway: overview, benefits, and implementation steps

AI

How to connect the Cloudflare MCP with Claude Code (5 steps)

AI

Subscribe to the Merge Blog

Get stories from Merge straight to your inbox

Subscribe

Connect Claude Code to thousands of tools with Merge Agent Handler

Use Merge Agent Handler’s 150+ connectors (including Google Calendar) to power reliable, secure, and powerful agents.

Get started for free
But Merge isn’t just a Unified 
API product. Merge is an integration platform to also manage customer integrations.  gradient text
But Merge isn’t just a Unified 
API product. Merge is an integration platform to also manage customer integrations.  gradient text
But Merge isn’t just a Unified 
API product. Merge is an integration platform to also manage customer integrations.  gradient text
But Merge isn’t just a Unified 
API product. Merge is an integration platform to also manage customer integrations.  gradient text