Google Calendar MCP Server
About
MCP server for Google Calendar integration with AI assistants
Details
- Author
- daemonX10
- GitHub stars
- 2
- Downloads
- 106
- Categories
- Productivity
Jump to
- List all available calendars
- List events with filtering (time, search, max results)
- Create, update, and delete events
- Get detailed information about specific events
- Find available time slots in a calendar
- Get upcoming meetings (ongoing, upcoming, past)
- Support for recurring events and attendee management
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Google Calendar MCP ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Install Node.js 16+ and set up a Google Cloud project with the Calendar API enabled. Obtain OAuth 2.0 client credentials, then create a .env file with GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, and GOOGLE_REDIRECT_URI. Start the server (npx ts-node src/index.ts), authorize via the provided URL, and save the refresh token using npx ts-node src/auth-helper.ts "YOUR_AUTH_CODE". Once running, integrate with AI assistants by configuring the MCP server with the appropriate command and environment variables (e.g., node /path/to/dist/index.js).
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"google calendar mcp server": {
"Google-Calendar-MCP-Server": {
"command": "npx",
"args": [
"ts-node",
"src/index.ts"
]
}
}
}
}
McpServers
{
"Google-Calendar-MCP-Server": {
"command": "npx",
"args": [
"ts-node",
"src/index.ts"
]
}
}
Google Calendar MCP Server
This is a Model Context Protocol (MCP) server that integrates with Google Calendar API, allowing AI assistants to manage calendars, create and update events, find available time slots, and more.
Features
- List all available calendars
- List events with filtering options
- Create, update, and delete events
- Get detailed information about specific events
- Find available time slots in a calendar
- Get upcoming meetings with status (ongoing, upcoming, past)
- Support for recurring events
- Meeting attendees management
Setup
Prerequisites
- Node.js 16+
- A Google Cloud project with Calendar API enabled
- OAuth 2.0 client credentials
Installation
Option 1: Local Installation
1. Clone this repository
git clone https://github.com/daemonX10/Google-Calendar-MCP-Server.git
cd Google-Calendar-MCP-Server
2. Install dependencies:
npm install
3. Create a
.env file with your Google API credentials (you can copy from .env.example): GOOGLE_CLIENT_ID=your_client_id
GOOGLE_CLIENT_SECRET=your_client_secret
GOOGLE_REDIRECT_URI=http://localhost:3000/auth/callback
Option 2: Using Docker (Recommended)
1. Clone this repository
git clone https://github.com/daemonX10/Google-Calendar-MCP-Server.git
cd Google-Calendar-MCP-Server
2. Copy the example environment file:
cp .env.example .env
3. Edit the
.env file with your Google API credentials4. Build and start the Docker container:
docker-compose up -d
Google Cloud Setup
1. Go to Google Cloud Console
2. Create a new project or select an existing one
3. Enable the Google Calendar API in the API Library
4. Create OAuth 2.0 credentials:
- Go to APIs & Services > Credentials
- Click "Create Credentials" > "OAuth client ID"
- Select "Web application" as the application type
- Add http://localhost:3000/auth/callback as an authorized redirect URI
- Copy the Client ID and Client Secret to your .env file
5. Set up the OAuth consent screen:
- Go to APIs & Services > OAuth consent screen
- Fill in the required information (app name, user support email, etc.)
- Add the necessary scopes (https://www.googleapis.com/auth/calendar and https://www.googleapis.com/auth/calendar.events)
- Add your email address as a test user
Authentication
First-time Authentication
1. Start the server:
npx ts-node src/index.ts
2. You'll see a URL in the console output. Open this URL in your browser to authorize the application.
3. After authorization, you'll be redirected to a URL with a code parameter. Copy this code.
4. Use the authentication helper to save your refresh token:
npx ts-node src/auth-helper.ts "YOUR_AUTH_CODE"
This will automatically save the refresh token to your
.env file and test the connection.5. You're now ready to use the MCP server!
Troubleshooting Authentication
If you encounter authentication issues:
1. Make sure your Google Cloud OAuth credentials are set up correctly with the exact redirect URI
2. If you're getting "invalid_grant" errors, the authorization code has likely expired - they only last a few minutes
3. If you've previously authorized the app, you might need to revoke access from Google Account Permissions and try again
4. Ensure you've added your email as a test user in the Google Cloud Console OAuth consent screen
Running the Server
Development Mode
npm run dev
Production Mode
Option 1: Node.js
1. Build the server:
npm run build
2. Start the server:
npm start
Option 2: Docker (Recommended)
```bash
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



