LABSCO SUMMARY
Service account instead of OAuth — simpler to run, different to reason about.
Skipping interactive consent means no browser round trip and no refresh tokens to babysit, which suits a calendar that belongs to a team or a system rather than to a person. It also means access is granted by sharing the calendar with the service account, so the scope is whatever that calendar is, and revoking is a sharing change rather than a token revocation. Early version, small surface — four operations and nothing else.
What it is
A small MCP server for calendar management. It authenticates with a Google service account rather than an interactive OAuth flow, which means it is configured once with a credentials file and a calendar id and then simply works.
What you get
- Calendar events created from a conversation
- Existing events listed
- Events updated in place
- Events deleted
Requirements
A Google Cloud service account with a JSON key, saved as credentials.json — the README walks through creating it in IAM & Admin. Three environment variables: GOOGLE_CALENDAR_ID for the target calendar, GOOGLE_TIME_ZONE, and GOOGLE_CREDENTIALS_PATH pointing at the key file. Install with npm install -g @cablate/mcp-google-calendar or run it through npx -y @cablate/mcp-google-calendar (0.0.3 in package.json). One thing to check before debugging a launch failure: the published package's bin entry is named mcp-doc-forge, while the README's CLI example calls mcp-google-calendar. MIT licensed.
Setup effort
One command plus credentials — npx -y @cablate/mcp-google-calendar, then supply credentials
USE CASES
Booking something from a conversation
Create the event on the configured calendar without opening the web UI.
Checking what is scheduled
List events on the calendar so the model can answer questions about the week.
Rescheduling or cancelling
Update the time on an existing event, or delete it, in the same exchange.
Automating a shared team calendar
Point a service account at a calendar the team owns, so no individual's credentials sit in the config.
BEFORE YOU INSTALL
What to know first
Requires
- npx on PATH
- GOOGLE_CREDENTIALS_PATH in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
npx -y @cablate/mcp-google-calendarMCP Clients
Dive
{
"mcpServers": {
"calendar": {
"command": "npx",
"args": [
"-y",
"@cablate/mcp-google-calendar"
],
"env": {
"GOOGLE_CALENDAR_ID": "<YOUR_GOOGLE_CALENDAR_ID>",
"GOOGLE_TIME_ZONE": "<YOUR_GOOGLE_TIME_ZONE>",
"GOOGLE_CREDENTIALS_PATH": "<YOUR_GOOGLE_CREDENTIALS_PATH>"
},
"enabled": true
}
}
}