Skip to main content
Glama
akshi009

Google Calendar MCP Server

by akshi009

Google Calendar MCP Server

An MCP server that exposes your Google Calendar as tools Claude can call: list_events, create_event, update_event, delete_event, find_free_busy.

1. Google Cloud setup (one-time)

  1. Go to the Google Cloud Console, create (or pick) a project.

  2. APIs & Services → Library → enable Google Calendar API.

  3. APIs & Services → OAuth consent screen → set it up (External is fine, you can leave it in "Testing" and add your own Google account as a test user — no Google review needed for personal use).

  4. APIs & Services → Credentials → Create Credentials → OAuth client ID → Application type: Desktop app.

  5. Under that client, add an Authorized redirect URI: http://localhost:3000/oauth2callback

  6. Copy the generated Client ID and Client Secret.

Related MCP server: gcalendar-mcp

2. Project setup

npm install
cp .env.example .env
# paste your Client ID / Client Secret into .env

3. Authorize (one-time)

npm run authorize

This opens a Google consent URL in your terminal — open it in a browser, sign in, grant access. It saves the resulting tokens to token.json (already git-ignored — never commit this file, it's equivalent to a password).

4. Build and run

npm run build
npm start

You should see Google Calendar MCP server running on stdio on stderr. Stop it with Ctrl+C — Claude Desktop will launch it itself in normal use.

5. Connect it to Claude Desktop

Add this to your Claude Desktop config (claude_desktop_config.json):

{
  "mcpServers": {
    "google-calendar": {
      "command": "node",
      "args": ["/absolute/path/to/calendar-mcp-server/build/src/index.js"]
    }
  }
}

Restart Claude Desktop. You should see the calendar tools available (the hammer/tools icon).

Notes

  • Scope used is https://www.googleapis.com/auth/calendar (full read/write on your calendars). Narrow this in src/auth.ts if you want read-only or events-only access.

  • calendarId defaults to "primary" on every tool — pass a specific calendar's ID (visible in Google Calendar → Settings) to target another calendar.

  • If you ever revoke access or the refresh token stops working, delete token.json and re-run npm run authorize.

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/akshi009/calander_mcp_server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server