Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Google Calendar Lib

FreeNot checked

A Google Calendar MCP server that enables listing, creating, updating, and deleting calendar events and calendars through natural language.

GitHubEmbed

About

A Google Calendar MCP server that enables listing, creating, updating, and deleting calendar events and calendars through natural language.

README

A Google Calendar MCP server written in TypeScript. Can be run as a stdio MCP server or used directly as a library with imported functions.

Tools

All tools are prefixed with googleCalendar:

Tool Description
googleCalendarListCalendars List all calendars accessible by the authenticated user
googleCalendarListEvents List events from a calendar, with optional filters
googleCalendarGetEvent Get a specific event by ID
googleCalendarCreateEvent Create a new event
googleCalendarUpdateEvent Update an existing event
googleCalendarDeleteEvent Delete an event

Authentication

Every tool accepts optional auth parameters. If not provided, the server falls back to environment variables.

Parameter Environment variable
accessToken GOOGLE_ACCESS_TOKEN
refreshToken GOOGLE_REFRESH_TOKEN
clientId GOOGLE_CLIENT_ID
clientSecret GOOGLE_CLIENT_SECRET

Only accessToken is required. clientId and clientSecret are needed only if you want the client to auto-refresh expired tokens using the refreshToken.

To obtain credentials, create an OAuth 2.0 client in the Google Cloud Console with the https://www.googleapis.com/auth/calendar scope.

Usage

As an MCP stdio server

Build and run:

npm install
npm run build
node dist/index.js

Or during development:

npm run dev

Claude Desktop configuration

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "google-calendar": {
      "command": "node",
      "args": ["/absolute/path/to/dist/index.js"],
      "env": {
        "GOOGLE_ACCESS_TOKEN": "ya29.xxx",
        "GOOGLE_REFRESH_TOKEN": "1//xxx",
        "GOOGLE_CLIENT_ID": "xxx.apps.googleusercontent.com",
        "GOOGLE_CLIENT_SECRET": "xxx"
      }
    }
  }
}

As a library

Import and call functions directly, passing credentials per-call:

import {
  googleCalendarListEvents,
  googleCalendarCreateEvent,
  googleCalendarDeleteEvent,
} from "./dist/api.js";

// List upcoming events
const events = await googleCalendarListEvents({
  accessToken: "ya29.xxx",
  calendarId: "primary",
  timeMin: new Date().toISOString(),
  maxResults: 10,
});

// Create an event
const event = await googleCalendarCreateEvent({
  accessToken: "ya29.xxx",
  summary: "Team standup",
  start: { dateTime: "2026-03-10T09:00:00-08:00", timeZone: "America/Los_Angeles" },
  end:   { dateTime: "2026-03-10T09:30:00-08:00", timeZone: "America/Los_Angeles" },
  attendees: [{ email: "[email protected]" }],
  sendUpdates: "all",
});

// Delete it
await googleCalendarDeleteEvent({
  accessToken: "ya29.xxx",
  eventId: event.id,
});

Or rely on environment variables and omit auth params entirely:

export GOOGLE_ACCESS_TOKEN=ya29.xxx
const calendars = await googleCalendarListCalendars({});

Development

npm install          # install dependencies
npm run build        # compile TypeScript → dist/
npm run dev          # run stdio server with tsx (no build step)

Project structure

src/
  auth.ts      — credential resolution and OAuth2Client factory
  calendar.ts  — Google Calendar API v3 wrappers
  tools.ts     — callable functions + Zod input schemas
  server.ts    — MCP server with all tools registered
  api.ts       — library entry point (re-exports everything)
  index.ts     — stdio entry point (bin)

from github.com/appler1009/google-calendar-mcp-lib

Install Google Calendar Lib in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install google-calendar-mcp-lib

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add google-calendar-mcp-lib -- npx -y google-calendar-mcp-lib

FAQ

Is Google Calendar Lib MCP free?

Yes, Google Calendar Lib MCP is free — one-click install via Unyly at no cost.

Does Google Calendar Lib need an API key?

No, Google Calendar Lib runs without API keys or environment variables.

Is Google Calendar Lib hosted or self-hosted?

A hosted option is available: Unyly runs the server in the cloud, no local setup required.

How do I install Google Calendar Lib in Claude Desktop, Claude Code or Cursor?

Open Google Calendar Lib on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Google Calendar Lib with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All productivity MCPs