create_eventLABSCO SUMMARY
Calendar reads and writes under credentials you create.
It talks to the Google Calendar API with an OAuth client from your own Cloud project, so nothing is brokered by a third party. The scope is deliberately narrow — see what is coming up, put something on the calendar — and the same events are readable as resources for anything that wants the structured data.
What it is
A TypeScript MCP server for Google Calendar. Events are created with title, time and details straight against the Calendar API, upcoming events are listed, and calendar events are also exposed as MCP resources with structured event data — title, time, description and attendees.
What you get
- New calendar events created from title, time and other details (create_event)
- Upcoming events listed (list_events)
- Events available as MCP resources, each with title, time, description and attendees, with proper mime types
- An analyze_schedule prompt that embeds upcoming events and returns a structured prompt for calendar insight
Requirements
Node.js v14 or higher, a Google Cloud project with the Calendar API enabled, and OAuth desktop client credentials saved as .client_secret.json in the project root. The first run prints an authentication URL: visit it, grant access, and paste the code back into the prompt.
Setup effort
Build from source — git clone https://github.com/thisnick/google-calendar-mcp.git
USE CASES
Putting something on the calendar mid-conversation
Title, time and details go straight to the Calendar API, so an agreed meeting is booked in the conversation that agreed it.
Answering what is on this week
Upcoming events come back with times and attendees, which is what a scheduling question actually needs.
Making sense of a crowded week
The schedule analysis prompt embeds the upcoming events, so the assistant reasons over the real calendar rather than a description of it.
2 tools
Listed in project docs. Your client may show a different list.
list_eventsBEFORE YOU INSTALL
What to know first
Tools you get
2 tools named in the project's documentation.
Requires
Node.js
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
You clone and build this one yourself.
Server setup
Install devbox: curl -fsSL https://get.jetpack.io/devbox | bash
git clone https://github.com/thisnick/google-calendar-mcp.git
cd google-calendar-mcp
devbox initdevbox shell
npm install
npm run buildCreate a Google Cloud project, enable the Google Calendar API, create OAuth 2.0 credentials (Desktop application type), download the client secret JSON, rename it to .client_secret.json and place it in the project root
Add the mcpServers config block to claude_desktop_config.json
On first run, visit the printed authentication URL, grant permissions, and paste the authorization code back into the CLI prompt
MCP Clients
Claude Desktop
{
"mcpServers": {
"Google Calendar": {
"command": "<YOUR_PATH_TO_GOOGLE_CALENDAR_MCP>/build/index.js"
}
}
}