Google Calendar MCP Server

by daemonX10

2 stars
106 downloads
Not rated
GitHub Website

About

MCP server for Google Calendar integration with AI assistants

Details

Author
daemonX10
GitHub stars
2
Downloads
106
Categories
Productivity

- 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:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Google Calendar MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. 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

GitHub Repository

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 credentials
4. 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

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.