Google Calendar

Connect AI Agents to
Google Calendar

Automate workflows and connect AI agents to Google Calendar. Metorial is built for developers. Handling OAuth, compliance, observability, and more.

Google Calendar on Metorial

The Google Calendar integration lets you view, create, update, and manage calendar events directly from your workflow, enabling seamless scheduling and calendar management without switching applications.

Deploy on Metorial

Combine Google Calendar with other tools

Metorial has 600+ integrations available. Here are some related ones you might find interesting.

Exa

Exa

The Exa integration lets you perform semantic searches across the web and retrieve high-quality content directly within your workflows, enabling AI agents to find and access relevant information from billions of web pages in real-time.

Hackernews

Hackernews

The Hackernews integration lets you fetch and analyze stories, comments, and user data from Hacker News directly within your workflow, enabling you to track trending topics, monitor discussions, and gather insights from the tech community.

Slack

Slack

The Slack integration lets you read channels, send messages, and search conversations directly from your AI assistant, enabling seamless team communication and information retrieval without leaving your workflow.

Google Calendar

Google Calendar

The Google Calendar integration lets you view, create, update, and manage calendar events directly from your workflow, enabling seamless scheduling and calendar management without switching applications.

GitHub

GitHub

The GitHub integration lets you search and view repositories, manage issues and pull requests, read file contents, and interact with your GitHub account directly from your workspace.

Google Drive

Google Drive

The Google Drive integration lets you search, read, and manage files and folders in your Google Drive directly through Claude. Use it to access documents, create new files, organize content, and collaborate on shared resources without leaving your conversation.

Gmail

Gmail

The Gmail integration lets you read, search, send, and manage your email messages directly through AI conversations, enabling automated email workflows and intelligent inbox management.

Brave

Brave

The Brave integration lets you perform web searches using Brave Search directly from Claude, allowing you to retrieve up-to-date information, news, and web results without leaving your conversation.

Tavily

Tavily

The Tavily integration lets you perform AI-optimized web searches and retrieve real-time information directly within your workflow, enabling your AI assistant to access current data and research capabilities for answering questions and gathering insights.

Connect anything. Anywhere.

Supported tools and capabilities

Metorial helps you connect AI agents to Google Calendar with various tools and resources. Tools allow you to interact with perform specific actions, while resources provide read-only access to data and information.

Help & Documentation

Find guides and articles to help you get started with Google Calendar on Metorial.

More about Google Calendar

Google Calendar MCP Server

A comprehensive Model Context Protocol (MCP) server that provides seamless integration with Google Calendar. This server enables AI assistants and applications to manage calendars, create and modify events, search schedules, and check availability—all through a standardized interface. Whether you need to schedule meetings, coordinate with attendees, or query your calendar for free time slots, this server provides the complete toolset for calendar management.

Overview

The Google Calendar MCP Server bridges the gap between AI applications and Google Calendar's powerful scheduling capabilities. It exposes a rich set of tools for calendar and event management, allowing applications to interact with Google Calendar as naturally as a human user would. From simple tasks like adding an appointment using natural language to complex operations like moving events between calendars and checking free/busy status across multiple calendars, this server handles it all.

Features

  • Complete Calendar Management: Create, read, update, and delete calendars with full control over properties like timezone and visibility
  • Comprehensive Event Operations: Full CRUD operations for calendar events with support for attendees, locations, and notifications
  • Natural Language Event Creation: Quick-add functionality that interprets natural language descriptions like "Lunch with Sarah next Tuesday at noon"
  • Advanced Search Capabilities: Search events by keywords, date ranges, and other criteria across your calendars
  • Free/Busy Checking: Query availability across multiple calendars to find optimal meeting times
  • Multi-Calendar Support: Manage multiple calendars simultaneously with filtering by access roles
  • Resource Templates: Pre-built URI patterns for quick access to common calendar views and event details

Tools

Calendar Management Tools

list_calendars

Retrieves all calendars accessible to the authenticated user. This tool provides visibility into all calendars you can access, including shared calendars from other users.

Parameters:

  • showHidden (boolean, optional): Whether to include hidden calendars in the results
  • minAccessRole (string, optional): Filter calendars by minimum access level - options include "freeBusyReader", "reader", "writer", or "owner"

create_calendar

Creates a new calendar with specified properties.

Parameters:

  • summary (string, required): The name/title of the new calendar
  • description (string, optional): A detailed description of the calendar's purpose
  • timeZone (string, optional): The timezone for the calendar (e.g., "America/New_York")

update_calendar

Modifies properties of an existing calendar.

Parameters:

  • calendarId (string, required): The ID of the calendar to update
  • summary (string, optional): Updated calendar name/title
  • description (string, optional): Updated calendar description
  • timeZone (string, optional): Updated timezone setting

delete_calendar

Permanently removes a calendar. This operation cannot be undone, so use with caution.

Parameters:

  • calendarId (string, required): The ID of the calendar to delete (cannot be "primary")

Event Management Tools

list_events

Retrieves events within a specified time range from a calendar.

Parameters:

  • calendarId (string, required): The calendar to query (use "primary" for your main calendar)
  • timeMin (string, optional): Start of the time range in ISO 8601 format
  • timeMax (string, optional): End of the time range in ISO 8601 format
  • maxResults (number, optional): Maximum number of events to return (default: 250)
  • orderBy (string, optional): Sort order - "startTime" or "updated"
  • query (string, optional): Free text search terms to filter events

create_event

Creates a new event with full control over all event properties.

Parameters:

  • calendarId (string, required): Target calendar ID (use "primary" for main calendar)
  • summary (string, required): Event title/name
  • startDateTime (string, required): Start time in ISO 8601 format (e.g., "2024-01-15T10:00:00-05:00")
  • endDateTime (string, required): End time in ISO 8601 format
  • description (string, optional): Detailed event description
  • location (string, optional): Event location or venue
  • timeZone (string, optional): Event timezone (e.g., "America/New_York")
  • attendees (array of strings, optional): Email addresses of event attendees
  • sendUpdates (string, optional): Notification preference - "all", "externalOnly", or "none"

update_event

Modifies an existing calendar event.

Parameters:

  • calendarId (string, required): Calendar containing the event
  • eventId (string, required): ID of the event to update
  • summary (string, optional): Updated event title
  • startDateTime (string, optional): Updated start time in ISO 8601 format
  • endDateTime (string, optional): Updated end time in ISO 8601 format
  • description (string, optional): Updated event description
  • location (string, optional): Updated location
  • timeZone (string, optional): Updated timezone
  • attendees (array of strings, optional): Updated attendee list
  • sendUpdates (string, optional): Notification preference

delete_event

Removes an event from a calendar.

Parameters:

  • calendarId (string, required): Calendar containing the event
  • eventId (string, required): ID of the event to delete
  • sendUpdates (string, optional): Whether to notify attendees - "all", "externalOnly", or "none"

quick_add_event

Creates an event using natural language input, making it easy to add events without worrying about date formats or structured data.

Parameters:

  • calendarId (string, required): Target calendar (use "primary" for main calendar)
  • text (string, required): Natural language description (e.g., "Dinner with John tomorrow at 7pm")
  • sendUpdates (string, optional): Notification preference

move_event

Transfers an event from one calendar to another while preserving event details.

Parameters:

  • sourceCalendarId (string, required): Calendar currently containing the event
  • eventId (string, required): ID of the event to move
  • destinationCalendarId (string, required): Calendar to move the event to
  • sendUpdates (string, optional): Notification preference

Search and Availability Tools

search_events

Performs a text search across events in a specific calendar.

Parameters:

  • calendarId (string, required): Calendar to search (use "primary" for main calendar)
  • query (string, required): Search terms to look for in event details
  • timeMin (string, optional): Start of time range to search within (ISO 8601 format)
  • timeMax (string, optional): End of time range to search within (ISO 8601 format)
  • maxResults (number, optional): Maximum number of results to return (default: 250)

get_freebusy

Checks availability across one or more calendars for a specified time period, perfect for finding meeting times or checking scheduling conflicts.

Parameters:

  • calendarIds (array of strings, required): List of calendar IDs to check
  • timeMin (string, required): Start of time range in ISO 8601 format
  • timeMax (string, required): End of time range in ISO 8601 format

Resource Templates

The server provides convenient URI templates for accessing common calendar resources without requiring explicit tool calls.

calendar

Access detailed information about a specific calendar.

URI Pattern: calendar://{calendarId}

calendar-event

Retrieve complete details of a specific event within a calendar.

URI Pattern: calendar://{calendarId}/event/{eventId}

calendar-upcoming

Get upcoming events from a specific calendar, useful for displaying what's next on the schedule.

URI Pattern: calendar://{calendarId}/events/upcoming

calendar-today

Access all events scheduled for today in a specific calendar.

URI Pattern: calendar://{calendarId}/events/today

primary-event

Quick access to a specific event in your primary calendar.

URI Pattern: calendar://primary/event/{eventId}

primary-upcoming

View upcoming events from your primary calendar without specifying a calendar ID.

URI Pattern: calendar://primary/events/upcoming

Use Cases

This MCP server enables a wide range of calendar automation and integration scenarios:

  • Personal Assistant Applications: AI assistants can schedule appointments, reschedule meetings, and provide schedule summaries
  • Meeting Coordination: Automatically find free time slots across multiple team members' calendars and schedule group meetings
  • Event Automation: Create recurring events, send invitations, and manage attendee lists programmatically
  • Schedule Analysis: Query calendars to analyze time usage, identify scheduling patterns, or generate reports
  • Calendar Synchronization: Move or copy events between different calendars for organization or backup purposes
  • Smart Reminders: Search for specific events and provide contextual reminders based on event details
  • Natural Language Scheduling: Allow users to add events using conversational language without learning complex date formats

Data Formats

The server uses ISO 8601 format for all date and time values, ensuring consistent and unambiguous time representations across different timezones. When specifying datetimes, include timezone information in the format: 2024-01-15T10:00:00-05:00.

Calendar IDs can be email addresses for user calendars or unique identifiers for shared calendars. The special value "primary" always refers to the authenticated user's main calendar.

Capabilities Summary

With twelve comprehensive tools and six resource templates, this MCP server provides everything needed for sophisticated calendar management. Whether you're building a scheduling assistant, automating event creation, coordinating team calendars, or analyzing time usage patterns, the Google Calendar MCP Server offers the functionality to make it happen seamlessly and reliably.

Ready to build with Metorial?

Let's take your AI-powered applications to the next level, together.

About Metorial

Metorial provides developers with instant access to 600+ MCP servers for building AI agents that can interact with real-world tools and services. Built on MCP, Metorial simplifies agent tool integration by offering pre-configured connections to popular platforms like Google Drive, Slack, GitHub, Notion, and hundreds of other APIs. Our platform supports all major AI agent frameworks—including LangChain, AutoGen, CrewAI, and LangGraph—enabling developers to add tool calling capabilities to their agents in just a few lines of code. By eliminating the need for custom integration code, Metorial helps AI developers move from prototype to production faster while maintaining security and reliability. Whether you're building autonomous research agents, customer service bots, or workflow automation tools, Metorial's MCP server library provides the integrations you need to connect your agents to the real world.

Star us on GitHub