by nspady
Provides Google Calendar integration for AI assistants, enabling event listing, creation, updating, deletion, free/busy queries, recurring event handling, and smart scheduling via natural language.
A Model Context Protocol (MCP) server that connects AI assistants such as Claude to Google Calendar, allowing the assistant to read, write, and analyze calendar data directly.
npx
:
{
"mcpServers": {
"google-calendar": {
"command": "npx",
"args": ["@cocal/google-calendar-mcp"],
"env": {
"GOOGLE_OAUTH_CREDENTIALS": "/path/to/your/gcp-oauth.keys.json"
}
}
}
}
Add the above configuration to Claude Desktop’s claude_desktop_config.json
(macOS or Windows path as documented).npx @cocal/google-calendar-mcp auth
(or npm run auth
for a local install) to refresh.list-calendars
, list-events
, create‑event
, etc.).Q: Do my credentials leave my machine? A: No. OAuth tokens are stored locally; only the user’s browser communicates with Google.
Q: Which OAuth client type is required? A: A Desktop app OAuth client. Ensure the credentials file points to this type.
Q: Why does authentication fail after 7 days? A: In test mode Google limits token lifespan to one week. Publish the app to production mode in the Google Cloud console to remove this limit.
Q: Can I run the server in Docker?
A: Yes. Clone the repo, copy the credentials file into the repo directory, and run docker compose up
as described in docs/docker.md
.
Q: Which environment variables are required?
A: GOOGLE_OAUTH_CREDENTIALS
(path to OAuth JSON). Optional: GOOGLE_CALENDAR_MCP_TOKEN_PATH
to customize token storage.
A Model Context Protocol (MCP) server that provides Google Calendar integration for AI assistants like Claude.
https://www.googleapis.com/auth/calendar.events
and https://www.googleapis.com/auth/calendar
Option 1: Use with npx (Recommended)
Add to your Claude Desktop configuration:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"google-calendar": {
"command": "npx",
"args": ["@cocal/google-calendar-mcp"],
"env": {
"GOOGLE_OAUTH_CREDENTIALS": "/path/to/your/gcp-oauth.keys.json"
}
}
}
}
⚠️ Important Note for npx Users: When using npx, you must specify the credentials file path using the GOOGLE_OAUTH_CREDENTIALS
environment variable.
Option 2: Local Installation
git clone https://github.com/nspady/google-calendar-mcp.git
cd google-calendar-mcp
npm install
npm run build
Then add to Claude Desktop config using the local path or by specifying the path with the GOOGLE_OAUTH_CREDENTIALS
environment variable.
Option 3: Docker Installation
git clone https://github.com/nspady/google-calendar-mcp.git
cd google-calendar-mcp
cp /path/to/your/gcp-oauth.keys.json .
docker compose up
See the Docker deployment guide for detailed configuration options including HTTP transport mode.
If you're in test mode (default), tokens expire after 7 days. If you are using a client like Claude Desktop it should open up a browser window to automatically re-auth. However, if you see authentication errors you can also resolve by following these steps:
For npx users:
export GOOGLE_OAUTH_CREDENTIALS="/path/to/your/gcp-oauth.keys.json"
npx @cocal/google-calendar-mcp auth
For local installation:
npm run auth
To avoid weekly re-authentication, publish your app to production mode (without verification):
See Authentication Guide for details.
Along with the normal capabilities you would expect for a calendar integration you can also do really dynamic, multi-step processes like:
Cross-calendar availability:
Please provide availability looking at both my personal and work calendar for this upcoming week.
I am looking for a good time to meet with someone in London for 1 hr.
Add events from screenshots, images and other data sources:
Add this event to my calendar based on the attached screenshot.
Supported image formats: PNG, JPEG, GIF Images can contain event details like date, time, location, and description
Calendar analysis:
What events do I have coming up this week that aren't part of my usual routine?
Check attendance:
Which events tomorrow have attendees who have not accepted the invitation?
Auto coordinate events:
Here's some available that was provided to me by someone. {available times}
Take a look at the times provided and let me know which ones are open on my calendar.
Tool | Description |
---|---|
list-calendars |
List all available calendars |
list-events |
List events with date filtering |
search-events |
Search events by text query |
create-event |
Create new calendar events |
update-event |
Update existing events |
delete-event |
Delete events |
get-freebusy |
Check availability across calendars, including external calendars |
list-colors |
List available event colors |
Environment Variables:
GOOGLE_OAUTH_CREDENTIALS
- Path to OAuth credentials fileGOOGLE_CALENDAR_MCP_TOKEN_PATH
- Custom token storage location (optional)Claude Desktop Config Location:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%\Claude\claude_desktop_config.json
OAuth Credentials File Not Found:
GOOGLE_OAUTH_CREDENTIALS
Authentication Errors:
Build Errors:
npm install && npm run build
againbuild/
directory and run npm run build
"Something went wrong" screen during browser authentication
For re-authentication or troubleshooting:
# For npx installations
export GOOGLE_OAUTH_CREDENTIALS="/path/to/your/credentials.json"
npx @cocal/google-calendar-mcp auth
# For local installations
npm run auth
MIT
Please log in to share your review and rating for this MCP.
{ "mcpServers": { "google-calendar": { "command": "npx", "args": [ "@cocal/google-calendar-mcp" ], "env": { "GOOGLE_OAUTH_CREDENTIALS": "<PATH_TO_OAUTH_CREDENTIALS>" } } } }
Explore related MCPs that share similar capabilities and solve comparable challenges
by mattt
Enables AI assistants to retrieve and manage personal macOS data such as calendar events, contacts, messages, reminders, location, maps, and weather through a local MCP server, allowing personalized AI interactions without sending data off‑device.
by baidu-maps
Offers a comprehensive suite of geospatial APIs and tools for developers and AI agents, enabling geocoding, reverse geocoding, POI search, route planning, weather, traffic, IP location, and real‑time traffic queries via standardized MCP interfaces.
by Omar-V2
Interact with the macOS Calendar through natural‑language commands, enabling creation, querying, and updating of events in a conversational way.
by GongRzhe
Enables LLMs to perform travel-related tasks such as location search, place details lookup, route calculation, and timezone retrieval using Google Maps services.
by zcaceres
Integrates with Google Tasks to list, read, search, create, update, and delete tasks via MCP tools.
by v-3
Interact with Google Calendar to list, create, update, delete events and find free time slots via Claude.
by r-huijts
Provides real-time Dutch railway travel information—including departures, arrivals, journey planning, pricing, and station facilities—through an MCP server that Claude can query.
by TimLukaHorstmann
Provides hourly and daily weather forecasts via the AccuWeather API for Model Context Protocol (MCP) integration with language models.
by isdaniel
Provides current weather, historical weather ranges, and timezone‑aware current datetime for specified cities using the free Open‑Meteo API.