Google Calendar MCP for AI Agents

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Google Calendar MCP or direct API to schedule events, check availability, manage invites, and send reminders through natural language.
Trusted by
AWS
Glean
Zoom
Airtable

30 min · no commitment · see it on your stack

Google Calendar Logo
Gradient Top
Gradient Middle
Gradient Bottom
divider

Try Google Calendar now

Enter a prompt below to test the integration in our Tool Router playground. You'll be redirected to sign in and try it live.

Supported Tools and Triggers

Tools
Triggers
Delete ACL RuleDeletes an access control rule from a Google Calendar.
Get ACL RuleRetrieves a specific access control rule for a calendar.
Create ACL RuleCreates an access control rule for a calendar.
List ACL RulesRetrieves the list of access control rules (ACLs) for a specified calendar, providing the necessary 'rule_id' values required for updating specific ACL rules.
Patch ACL RuleUpdates an existing access control rule for a calendar using patch semantics (partial update).
Update ACL RuleUpdates an access control rule for the specified calendar.
Watch ACL ChangesTool to watch for changes to ACL resources.
Batch EventsExecute up to 1000 event mutations (create/patch/delete) in one Google Calendar HTTP batch request with per-item status/results.
Remove Calendar from ListTool to remove a calendar from the user's calendar list.
Get Single Calendar by IDRetrieves metadata for a SINGLE specific calendar from the user's calendar list by its calendar ID.
Insert Calendar into ListInserts an existing calendar into the user's calendar list, making it visible in the UI.
Patch Calendar List EntryUpdates an existing calendar on the user's calendar list using patch semantics.
Update Calendar List EntryUpdates a calendar list entry's display/subscription settings (color, visibility, reminders, selection) for the authenticated user — does not modify the underlying calendar resource (title, timezone, etc.
Watch Calendar ListWatch for changes to CalendarList resources using push notifications.
Delete CalendarDeletes a secondary calendar that you own or have delete permissions on.
Update CalendarFull PUT-style update that overwrites all calendar metadata fields; unspecified optional fields are cleared.
Stop ChannelTool to stop watching resources through a notification channel.
Clear CalendarClears a primary calendar by deleting all events from it.
Get Color DefinitionsReturns the color definitions for calendars and events.
Create EventCreate a Google Calendar event using start_datetime plus duration fields.
Delete eventDeletes a specified event by `event_id` from a Google Calendar (`calendar_id`); idempotent — a 404 for an already-deleted event is a no-op.
Create a calendarCreates a new, empty Google Calendar with the specified title (summary).
Get EventRetrieves a SINGLE event by its unique event_id (REQUIRED).
Import EventTool to import an event as a private copy to a calendar.
Get Event InstancesReturns instances of the specified recurring event.
List EventsReturns events on the specified calendar.
List Events from All CalendarsReturn a unified event list across all calendars in the user's calendar list for a given time range.
Move EventMoves an event to another calendar, i.
Watch EventsWatch for changes to Events resources.
Find eventFinds events in a specified Google Calendar using text query, time ranges (event start/end, last modification), and event types.
Find free slotsFinds both free and busy time slots in Google Calendars for specified calendars within a defined time range.
Get Google CalendarRetrieves a specific Google Calendar, identified by `calendar_id`, to which the authenticated user has access.
Get current date and timeGets the current date and time, allowing for a specific timezone offset.
List BuildingsLists all buildings for a Google Workspace customer account with full details including addresses, coordinates, and floor names.
List Calendar ResourcesRetrieves calendar resources (such as conference rooms) from a Google Workspace domain using the Admin SDK Directory API.
List Google CalendarsRetrieves calendars from the user's Google Calendar list, with options for pagination and filtering.
Patch CalendarPartially updates (PATCHes) an existing Google Calendar, modifying only the fields provided.
Patch EventUpdate specified fields of an existing event in a Google Calendar using patch semantics (array fields like `attendees` are fully replaced if provided); ensure the `calendar_id` and `event_id` are valid and the user has write access to the calendar.
Quick Add EventParses natural language text to quickly create a basic Google Calendar event with its title, date, and time, suitable for simple scheduling; does not support direct attendee addition or recurring events, and `calendar_id` must be valid if not 'primary'.
Remove attendee from eventRemoves an attendee from a specified event in a Google Calendar; the calendar and event must exist.
Get Calendar SettingTool to return a single user setting for the authenticated user.
List SettingsReturns all user settings for the authenticated user.
Watch SettingsWatch for changes to Settings resources.
Update Google eventUpdates an existing event in Google Calendar.
Python
TypeScript

Install Composio

python
pip install composio claude-agent-sdk
Install the Composio SDK and Claude Agent SDK

Create Tool Router Session

python
from composio import Composio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions

composio = Composio(api_key='your-composio-api-key')
session = composio.create(user_id='your-user-id')
url = session.mcp.url
Initialize the Composio client and create a Tool Router session

Connect to AI Agent

python
import asyncio

options = ClaudeAgentOptions(
    permission_mode='bypassPermissions',
    mcp_servers={
        'tool_router': {
            'type': 'http',
            'url': url,
            'headers': {
                'x-api-key': 'your-composio-api-key'
            }
        }
    },
    system_prompt='You are a helpful assistant with access to Google Calendar tools.',
    max_turns=10
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query('Show me all events on my calendar for today')
        async for message in client.receive_response():
            if hasattr(message, 'content'):
                for block in message.content:
                    if hasattr(block, 'text'):
                        print(block.text)

asyncio.run(main())
Use the MCP server with your AI agent

Why Use Composio?

AI Native Google Calendar Integration

  • Supports both Google Calendar MCP and direct API based integrations
  • Structured, LLM-friendly schemas for reliable tool execution
  • Rich coverage for reading, writing, and querying your Google Calendar data

Managed Auth

  • Built-in OAuth handling with automatic token refresh and rotation
  • Central place to manage, scope, and revoke Google Calendar access
  • Per user and per environment credentials instead of hard-coded keys

Agent Optimized Design

  • Tools are tuned using real error and success rates to improve reliability over time
  • Comprehensive execution logs so you always know what ran, when, and on whose behalf

Enterprise Grade Security

  • Fine-grained RBAC so you control which agents and users can access Google Calendar
  • Scoped, least privilege access to Google Calendar resources
  • Full audit trail of agent actions to support review and compliance

Frequently Asked Questions

Do I need my own developer credentials to use Google Calendar with Composio?

No, you can get started immediately using Composio's built-in Google Calendar app. For production, we recommend configuring your own OAuth credentials.

Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. Learn more.

Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. Learn more.

What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

Used by agents from

Context
Letta
glean
HubSpot
Agent.ai
Altera
DataStax
Entelligence
Rolai
Context
Letta
glean
HubSpot
Agent.ai
Altera
DataStax
Entelligence
Rolai
Context
Letta
glean
HubSpot
Agent.ai
Altera
DataStax
Entelligence
Rolai

Never worry about agent reliability

We handle tool reliability, observability, and security so you never have to second-guess an agent action.