@integrabot/google-calendar
v0.0.18
Published
MCP server for Google Calendar integration
Readme
Google Calendar MCP Server
Category: Productivity
An MCP server that enables Claude to interact with Google Calendar, providing capabilities to manage events, view calendars, and handle scheduling through a standardized interface.
Features
- Calendar Management: List calendars and view calendar details
- Event Management: Create, read, update, delete, and list calendar events
- Scheduling: Find available time slots and schedule meetings
- Attendee Management: Add, remove, and check attendee status for events
- Dual Authentication: Support for both OAuth2 and API token-based authentication
Tools
Calendar Management
google_calendar_list_calendars
- List all calendars available to the user
- Inputs:
maxResults(number, optional): Maximum number of calendars to return (default 100)pageToken(string, optional): Token for retrieving the next page of results
google_calendar_get_calendar
- Get information about a specific calendar
- Inputs:
calendarId(string): The ID of the calendar to retrieve
Event Management
google_calendar_list_events
- List events from a calendar with filtering options
- Inputs:
calendarId(string): The ID of the calendar to retrieve events fromtimeMin(string, optional): Start time in ISO format (e.g., "2023-05-01T00:00:00Z")timeMax(string, optional): End time in ISO formatmaxResults(number, optional): Maximum number of events to return (default 10)pageToken(string, optional): Token for retrieving the next page of resultsq(string, optional): Free text search terms
google_calendar_get_event
- Get details of a specific event
- Inputs:
calendarId(string): The ID of the calendar containing the eventeventId(string): The ID of the event to retrieve
google_calendar_create_event
- Create a new event in a calendar
- Inputs:
calendarId(string): The ID of the calendar to create the event insummary(string): The title of the eventdescription(string, optional): Description of the eventstart(object): Start time information with either date or dateTimeend(object): End time information with either date or dateTimelocation(string, optional): Location of the eventattendees(array, optional): List of attendees with email and optional response statusrecurrence(array, optional): Recurrence rules for recurring eventsreminders(object, optional): Reminder settings for the event
google_calendar_update_event
- Update an existing event in a calendar
- Inputs:
calendarId(string): The ID of the calendar containing the eventeventId(string): The ID of the event to updatesummary(string, optional): The updated title of the eventdescription(string, optional): Updated descriptionstart(object, optional): Updated start time informationend(object, optional): Updated end time informationlocation(string, optional): Updated locationattendees(array, optional): Updated list of attendeesrecurrence(array, optional): Updated recurrence rulesreminders(object, optional): Updated reminder settings
google_calendar_delete_event
- Delete an event from a calendar
- Inputs:
calendarId(string): The ID of the calendar containing the eventeventId(string): The ID of the event to delete
Scheduling Assistance
- google_calendar_find_availability
- Find available time slots across calendars
- Inputs:
timeMin(string): Start of the time range in ISO formattimeMax(string): End of the time range in ISO formatdurationMinutes(number): Desired duration of the event in minutescalendarIds(array): List of calendar IDs to checktimeZone(string, optional): Time zone for the search (default UTC)
Installation
npm install -g @integrabot/google-calendarUsage
Environment Setup
You can use this MCP server with either OAuth2 credentials or direct API token authentication.
Option 1: OAuth2 Authentication (Default)
export GOOGLE_CLIENT_ID=your-client-id
export GOOGLE_CLIENT_SECRET=your-client-secret
export GOOGLE_REDIRECT_URI=your-redirect-uri
export GOOGLE_REFRESH_TOKEN=your-refresh-tokenOption 2: API Token Authentication
export CREDENTIALS='{"access_token":"your-access-token","refresh_token":"your-refresh-token","token_type":"Bearer","expiry_date":1234567890000}'Start the Server
google-calendarConfiguration
Setting up Google Calendar API
- Create a project in the Google Cloud Console
- Enable the Google Calendar API
- Create OAuth 2.0 credentials or service account credentials
- For OAuth 2.0:
- Set up authorized redirect URIs
- Complete OAuth consent screen configuration
- Obtain refresh token through authorization flow
Rate Limits
This server implements rate limiting to respect Google Calendar API's usage limits:
- Up to 1,000,000 queries per day
- Up to 500 queries per 100 seconds per user
Timeouts
All API requests have a 15-second timeout to prevent blocking operations.
License
MIT
