home / mcp / google calendar autoauth mcp server

Google Calendar AutoAuth MCP Server

Google Calendar MCP server with auto authentication support

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "falgom4-calendar-mcp": {
      "command": "npx",
      "args": [
        "@nchufa/calendar"
      ]
    }
  }
}

You can manage Google Calendar from Claude Desktop through an MCP server that provides create, read, update, delete, and search operations for calendar events, with natural language date/time support and seamless authentication flow.

How to use

You interact with the Google Calendar MCP server through your MCP client by issuing natural language or structured commands to create, update, retrieve, delete, or list events. The server handles authentication in the background, stores credentials locally, and exposes tools to manage calendars and events. Typical workflows include creating an event with a title, description, location, and attendees; updating or deleting an existing event; listing events within a time range; searching by keywords; and listing all calendars. You can input natural language dates like “tomorrow at 2pm” or “next Monday,” and the server will interpret them for you.

How to install

Prerequisites you need before installing:
- Node.js (recommended latest LTS) and npm or npx installed on your system
- Access to a terminal or command prompt
- A Google Cloud project with Calendar API enabled and OAuth credentials set up for Desktop or Web application types

Steps to install via Smithery (recommended for automatic installation):
# Install the Google Calendar MCP server via Smithery for Claude
npx -y @smithery/cli install @falgom4/calendar-mcp --client claude

If you prefer to install manually, follow these steps to set up Google Cloud credentials and authenticate, then configure Claude Desktop to use the MCP server.

1) Create Google Cloud project and enable Calendar API
- Go to Google Cloud Console
- Create a new project or select an existing one
- Enable the Google Calendar API for your project

2) Create OAuth 2.0 credentials
- Go to APIs & Services > Credentials
- Create Credentials > OAuth client ID
- Choose Desktop app or Web application
- Name your credential and create
- For Web application, add http://localhost:3000/oauth2callback to authorized redirect URIs
- Download the JSON file of your client’s OAuth keys and rename to gcp-oauth.keys.json

3) Run authentication
a. Global authentication (recommended)
# First time: place gcp-oauth.keys.json in your home directory’s .calendar-mcp folder
mkdir -p ~/.calendar-mcp
mv gcp-oauth.keys.json ~/.calendar-mcp/

# Run authentication from anywhere
npx @nchufa/calendar auth

b. Local authentication
# Place gcp-oauth.keys.json in your current directory
# The file will be automatically copied to global config
npx @nchufa/calendar auth

Authentication flow will:
- Look for gcp-oauth.keys.json in the current directory or ~/.calendar-mcp/
- If found in current directory, copy it to ~/.calendar-mcp/
- Open your browser to authenticate with Google
- Save credentials as ~/.calendar-mcp/credentials.json

Note: After successful authentication, credentials are stored globally in ~/.calendar-mcp/ and can be used from any directory. Both Desktop and Web application credentials are supported. If you use Web application credentials, ensure the redirect URI (http://localhost:3000/oauth2callback) is configured.

4) Configure Claude Desktop to use the MCP server Add the following configuration to your Claude Desktop settings under mcpServers:

{
  "mcpServers": {
    "calendar": {
      "command": "npx",
      "args": [
        "@nchufa/calendar"
      ]
    }
  }
}

Additional setup notes

- The MCP server stores OAuth credentials locally in ~/.calendar-mcp/ for persistent authentication across sessions.

Security notes

- OAuth credentials are stored securely in your local environment at ~/.calendar-mcp/.

- The server uses offline access to maintain persistent authentication.

- Do not share or commit credentials to version control, and periodically review access in your Google Account settings.

Troubleshooting

- OAuth keys not found: Ensure gcp-oauth.keys.json is present in your current directory or in ~/.calendar-mcp/ and that file permissions are correct.

- Invalid credentials format: Confirm the OAuth keys file contains a valid web or installed credential block; for web apps, verify the redirect URI is correctly configured.

- Port or startup issues: If port 3000 is in use, free the port or adjust your environment so the authentication flow can open a browser and listen for the callback.

Tools described

The MCP server exposes a set of event and calendar management operations. You can create, retrieve, update, delete, list, search, and enumerate calendars.

Available tools

create_event

Creates a new calendar event with details such as summary, description, location, start and end times, attendees, and reminders.

get_event

Retrieves details for a specific calendar event by event ID and calendar.

update_event

Updates properties of an existing calendar event, such as title, time, location, or attendees.

delete_event

Deletes a calendar event identified by its event ID and calendar.

list_events

Lists events within a specified time range for a given calendar.

search_events

Searches for events matching a keyword or phrase within a calendar.

list_calendars

Returns all available calendars for the authenticated account.