Calendar MCP Server
Allows to read, search, create, update, and delete Google Calendar events, check availability, and list calendars.
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., "@Calendar MCP Servercreate an event for next Monday at 2pm titled 'Team standup'"
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.
@franciscpd/calendar-mcp-server
A Model Context Protocol (MCP) server for Google Calendar. Read, search, create, update, and delete calendar events, check availability, and list calendars — powered by 3 environment variables.
Quick Start
npx -y @franciscpd/calendar-mcp-serverSet these environment variables:
Variable | Description |
| OAuth2 client ID from Google Cloud Console |
| OAuth2 client secret |
| OAuth2 refresh token (see Setup Guide) |
Related MCP server: Google Calendar MCP Server
Setup Guide
1. Create a Google Cloud Project
Go to Google Cloud Console
Create a new project (or select an existing one)
Note your project name for the next steps
2. Enable the Google Calendar API
Navigate to APIs & Services → Library
Search for "Google Calendar API"
Click Enable
3. Create OAuth2 Credentials
Navigate to APIs & Services → Credentials
Click Create Credentials → OAuth client ID
If prompted, configure the OAuth consent screen:
User type: External (or Internal for Workspace)
Add the scopes:
https://www.googleapis.com/auth/calendar.readonlyhttps://www.googleapis.com/auth/calendar.events
Add your email as a test user
Application type: Web application
Add
https://developers.google.com/oauthplaygroundas an authorized redirect URISave your Client ID and Client Secret
4. Get a Refresh Token
Go to Google OAuth2 Playground
Click the gear icon (top right) and check Use your own OAuth credentials
Enter your Client ID and Client Secret
In the left panel, find Google Calendar API v3 and select:
https://www.googleapis.com/auth/calendar.readonlyhttps://www.googleapis.com/auth/calendar.events
Click Authorize APIs and grant access
Click Exchange authorization code for tokens
Copy the Refresh token
Important: OAuth Consent Screen
If your OAuth consent screen is in Testing mode, refresh tokens expire after 7 days. To avoid this:
Option A: Publish your app (set status to "In production" in the OAuth consent screen settings). No Google review is needed for apps used only by you.
Option B: Add specific Google accounts as test users in the OAuth consent screen settings. Tokens for test users still expire after 7 days, but you can re-authorize.
For personal use, Option A is recommended — publish the app so tokens don't expire.
See Google's OAuth consent screen documentation for details.
Configuration
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"google-calendar": {
"command": "npx",
"args": ["-y", "@franciscpd/calendar-mcp-server"],
"env": {
"GOOGLE_CALENDAR_CLIENT_ID": "your-client-id",
"GOOGLE_CALENDAR_CLIENT_SECRET": "your-client-secret",
"GOOGLE_CALENDAR_REFRESH_TOKEN": "your-refresh-token"
}
}
}
}Cursor
Add to your Cursor MCP settings:
{
"mcpServers": {
"google-calendar": {
"command": "npx",
"args": ["-y", "@franciscpd/calendar-mcp-server"],
"env": {
"GOOGLE_CALENDAR_CLIENT_ID": "your-client-id",
"GOOGLE_CALENDAR_CLIENT_SECRET": "your-client-secret",
"GOOGLE_CALENDAR_REFRESH_TOKEN": "your-refresh-token"
}
}
}
}Generic MCP Client
GOOGLE_CALENDAR_CLIENT_ID=your-client-id \
GOOGLE_CALENDAR_CLIENT_SECRET=your-client-secret \
GOOGLE_CALENDAR_REFRESH_TOKEN=your-refresh-token \
npx -y @franciscpd/calendar-mcp-serverThe server communicates over stdio using the MCP protocol.
Tools
Tool | Description |
| List all calendars with id, name, timezone, color, and access role |
| List events from a calendar within a date range (default: next 7 days) |
| Get full event details including attendees, recurrence, and reminders |
| Search events by text across summaries, descriptions, and locations |
| Check free/busy availability for one or more calendars |
| Create a new calendar event (timed or all-day) |
| Update an existing event (partial update — only specified fields change) |
| Delete a calendar event |
Development
# Install dependencies
npm install
# Build
npm run build
# Run tests
npm test
# Run tests with coverage
npm run test:coverage
# Start the server
npm startLicense
MIT
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/franciscpd/mcp-server-calendar'
If you have feedback or need assistance with the MCP directory API, please join our Discord server