MCP Reference: calendarmcp.googleapis.com

This is an MCP server provided by Google Calendar API. The server provides tools for developers to build LLM applications on top of Calendar.

A Model Context Protocol (MCP) server acts as a proxy between an external service that provides context, data, or capabilities to a Large Language Model (LLM) or AI application. MCP servers connect AI applications to external systems such as databases and web services, translating their responses into a format that the AI application can understand.

Server Setup

You must configure the Calendar MCP server before use. For more information about using Google and Google Cloud remote MCP servers, see Google Cloud MCP servers overview .

Server Endpoints

An MCP service endpoint is the network address and communication interface (usually a URL) of the MCP server that an AI application (the Host for the MCP client) uses to establish a secure, standardized connection. It is the point of contact for the LLM to request context, call a tool, or access a resource. Google MCP endpoints can be global or regional.

The Calendar API MCP server has the following global MCP endpoint:

  • https://calendarmcp.googleapis.com/mcp/v1

MCP Tools

An MCP tool is a function or executable capability that an MCP server exposes to a LLM or AI application to perform an action in the real world.

Tools

The calendarmcp.googleapis.com MCP server has the following tools:

MCP Tools

Lists calendar events in a given calendar satisfying the given conditions.

Key Features:

  • Any Calendar ID, which can be user's primary calendar or others.
  • Keyword matching.
  • Time range filtering.
  • Retrieves ALL events matching the time and keyword constraints.

Use search_events tool instead if:

  • You need to find the (top K) most relevant events rather than all events satisfying the constraints.
  • You need semantic search capabilities.
  • You are searching only the user's primary calendar for specific information.

Use this tool for queries like:

  • What's on my calendar tomorrow?
  • What's on my calendar for July 14th 2025?
  • What are my meetings next week?
  • Do I have any conflicts this afternoon?

Example:

 list_events(
    start_time='2024-09-17T06:00:00',
    end_time='2024-09-17T12:00:00',
    page_size=10
)
# Returns up to 10 calendar events between 6:00 AM and 12:00 PM on September 17, 2024 from the user's primary calendar. 

Returns a single event from a given calendar.

Use this tool for queries like:

  • Get details for the team meeting.
  • Show me the event with id event123 on my calendar.

Example:

 get_event(
    event_id='event123'
)
# Returns the event details for the event with id `event123` on the user's primary calendar. 

Returns the calendars on the user's calendar list.

Use this tool for queries like:

  • What are all my calendars?

Example:

 list_calendars()
# Returns all calendars the authenticated user has access to. 

Suggests time periods across one or more calendars. To access the primary calendar, add 'primary' in the attendee_emails field.

Use this tool for queries like:

  • When are all of us free for a meeting?
  • Find a 30 minute slot where we are both available.
  • Check if jane.doe@google.com is free on Monday morning.

Example:

 suggest_time(
    attendee_emails=['joedoe@gmail.com', 'janedoe@gmail.com'],
    start_time='2024-09-10T00:00:00',
    end_time='2024-09-17T00:00:00',
    duration_minutes=60,
    preferences={
        'start_hour': '09:00',
        'end_hour': '17:00',
        'exclude_weekends': True
    }
)
# Returns up to 5 suggested time slots where both users are available for at least one hour between 9:00 AM and 5:00 PM on weekdays from September 10 through September 16, 2024. 

Creates a calendar event.

Use this tool for queries like:

  • Create an event on my calendar for tomorrow at 2pm called 'Meeting with Jane'.
  • Schedule a meeting with john.doe@google.com next Monday from 10am to 11am.

Example:

 create_event(
    summary='Meeting with Jane',
    start_time='2024-09-17T14:00:00',
    end_time='2024-09-17T15:00:00'
)
# Creates an event on the primary calendar for September 17, 2024 from 2pm to 3pm called 'Meeting with Jane'. 

Updates a calendar event.

Use this tool for queries like:

  • Update the event 'Meeting with Jane' to be one hour later.
  • Add john.doe@google.com to the meeting tomorrow.

Example:

 update_event(
    event_id='event123',
    summary='Meeting with Jane and John'
)
# Updates the summary of event with id 'event123' on the primary calendar to 'Meeting with Jane and John'. 

Deletes a calendar event.

Use this tool for queries like:

  • Delete the event with id event123 on my calendar.

To cancel or decline an event, use the respond_to_event tool instead.

Example:

 delete_event(
    event_id='event123'
)
# Deletes the event with id 'event123' on the user's primary calendar. 

Responds to an event.

Use this tool for queries like:

  • Accept the event with id event123 on my calendar.
  • Decline the meeting with Jane.
  • Cancel my next meeting.
  • Tentatively accept the planing meeting.

Example:

 respond_to_event(
    event_id='event123',
    response_status='accepted'
)
# Responds with status 'accepted' to the event with id 'event123' on the user's primary calendar. 

Get MCP tool specifications

To get the MCP tool specifications for all tools in an MCP server, use the tools/list method. The following example demonstrates how to use curl to list all tools and their specifications currently available within the MCP server.

Curl Request
curl  
--location  
 'https://calendarmcp.googleapis.com/mcp/v1' 
  
 \ 
--header  
 'content-type: application/json' 
  
 \ 
--header  
 'accept: application/json, text/event-stream' 
  
 \ 
--data  
 '{ 
 "method": "tools/list", 
 "jsonrpc": "2.0", 
 "id": 1 
 }' 
  
Create a Mobile Website
View Site in Mobile | Classic
Share by: