mcpserver_google-calendar

despinozap/mcpserver_google-calendar

3.1

If you are the rightful owner of mcpserver_google-calendar and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

This document provides a comprehensive guide to setting up and using an MCP server for Google Calendar integration.

MCP server for Google Calendar

Credentials

The credentials.json file is needed to authenticate againts the Google services. To generate the file, the following steps must be performed:

  1. Visit the Google Cloud Platform website
  2. Crete a new project (or use an existant one)
  3. Into the APIs & Services section, enable the Google Calendar API service
  4. Go to Credentials and generate a new credential as Service Account
  5. Copy the service account's email generated. It will be needed to share the calendar with it
  6. After the credential is created, a JSON file will be able to download. Place it into the root of this project and name it as credentials.json

Calendar sharing

To interact with a calendar, it needs to be shared with the service account previously created to access it following these steps:

  1. Visit the Google Calendar website
  2. Into the sidebar, place on the target calendar, click the three dots (...) and then go to Settings and sharing
  3. Go the Shared with and add the email address for the service account copied previously when the credential was created
  4. Go to Integrate calendar and copy the Calendar ID value

Inspector

While developing, you can use the inspector to debug the server. To do this:

npm run inspector

Build MCP Server

Before adding the MCP server to the configuration file, you need to build it. The build process will create a Docker image that can be run in WSL.

npm run build
docker build -t mcpserver-googlecalendar .

Add MCP Server

To add the MCP server, add to the configuration file and paste the Calendar ID copied previously:

{
  "mcpServers": {
    "google-calendar": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GOOGLE_CALENDAR_ID",
        "mcpserver-googlecalendar"
      ],
      "env": {
        "GOOGLE_CALENDAR_ID": "[CALENDAR_ID_HERE]"
      }
    }
  }
}