
Google Calendar MCP Server
MCP server for Google Calendar integration
What is Google Calendar MCP Server?
Google Calendar MCP Server is a server that provides integration with Google Calendar, allowing users to view, create, and manage calendar events through a standardized interface.
How to use Google Calendar MCP Server?
To use the server, set up a Google Cloud project with the Calendar API enabled, install the necessary dependencies, and authenticate using OAuth 2.0 credentials.
Key features of Google Calendar MCP Server?
- List available calendars
- List events from a calendar
- Create new calendar events
- Update existing events
- Delete events
Use cases of Google Calendar MCP Server?
- Automating calendar event management for applications.
- Integrating calendar functionalities into chatbots or virtual assistants.
- Building custom applications that require calendar event handling.
FAQ from Google Calendar MCP Server?
- What are the prerequisites to use this server?
You need Node.js 16 or higher and a Google Cloud project with the Calendar API enabled.
- How do I authenticate with Google Calendar?
The server will start an authentication process that opens a browser for OAuth authentication and saves the tokens securely.
- What happens if my OAuth token expires?
You will need to re-authenticate if the app is in testing mode.
Google Calendar MCP Server
This MCP server provides integration with Google Calendar, allowing Claude to view, create, and manage calendar events through a standardized interface.
Features
- List available calendars
- List events from a calendar
- Create new calendar events
- Update existing events
- Delete events
Prerequisites
- Node.js 16 or higher
- A Google Cloud project with the Calendar API enabled
- OAuth 2.0 credentials (Client ID and Client Secret)
Google Cloud Setup
- Go to the Google Cloud Console
- Create a new project or select an existing one
- Enable the Google Calendar API
- Create OAuth 2.0 credentials:
- Go to Credentials
- Click "Create Credentials" > "OAuth client ID"
- Choose "Desktop app" as the application type
- Give it a name (e.g., "Google Calendar MCP")
- Download the credentials JSON file
- Rename the downloaded file to
gcp-oauth.keys.json
and place it in the root directory of this project
Installation
-
Install dependencies:
npm install
-
Build the TypeScript code:
npm run build
-
Update the Claude MCP settings file to include this server:
- Add the following to
cline_mcp_settings.json
:
"github.com/pashpashpash/google-calendar-mcp": { "command": "node", "args": ["C:/Users/ralph/Documents/Cline/MCP/google-calendar-mcp/build/index.js"], "env": {}, "disabled": false, "autoApprove": [] }
- Add the following to
Authentication Process
The first time you use the Google Calendar MCP server, it will:
- Detect that you don't have authentication tokens
- Start an authentication server (on ports 3000-3004)
- Open a browser window for OAuth authentication
- Save the authentication tokens securely
- Shut down the authentication server and continue normal operation
Your authentication tokens will be stored in .gcp-saved-tokens.json
and will refresh automatically.
Available Tools
Tool | Description |
---|---|
list-calendars | List all available calendars |
list-events | List events from a specific calendar |
create-event | Create a new calendar event |
update-event | Update an existing calendar event |
delete-event | Delete a calendar event |
Examples
Listing Calendars
list-calendars
Listing Events
list-events
calendarId: "primary"
timeMin: "2023-01-01T00:00:00Z"
timeMax: "2023-12-31T23:59:59Z"
maxResults: 10
Creating an Event
create-event
calendarId: "primary"
summary: "Team Meeting"
location: "Conference Room B"
description: "Weekly team sync meeting"
startDateTime: "2023-06-15T10:00:00"
endDateTime: "2023-06-15T11:00:00"
timeZone: "America/New_York"
attendees: ["colleague1@example.com", "colleague2@example.com"]
Updating an Event
update-event
calendarId: "primary"
eventId: "event_id_from_list_events"
summary: "Updated Meeting Title"
startDateTime: "2023-06-15T11:00:00"
endDateTime: "2023-06-15T12:00:00"
Deleting an Event
delete-event
calendarId: "primary"
eventId: "event_id_from_list_events"
Troubleshooting
- OAuth token expires after 7 days: You must re-authenticate if the app is in testing mode.
- Authentication errors: Ensure
gcp-oauth.keys.json
is correctly formatted and placed in the project root. - Port conflicts: The authentication server tries ports 3000-3004; ensure at least one is available.