google-calendar-mcp-lib
Provides tools for managing Google Calendar events and calendars, including listing, creating, updating, and deleting events.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@google-calendar-mcp-libshow my events for today"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
google-calendar-mcp-lib
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 |
| List all calendars accessible by the authenticated user |
| List events from a calendar, with optional filters |
| Get a specific event by ID |
| Create a new event |
| Update an existing event |
| Delete an event |
Related MCP server: gcal-mcp
Authentication
Every tool accepts optional auth parameters. If not provided, the server falls back to environment variables.
Parameter | Environment variable |
|
|
|
|
|
|
|
|
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.jsOr during development:
npm run devClaude 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: "colleague@example.com" }],
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.xxxconst 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)This server cannot be installed
Maintenance
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
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/appler1009/google-calendar-mcp-lib'
If you have feedback or need assistance with the MCP directory API, please join our Discord server