nkriman/mcp-google-calendar-server
If you are the rightful owner of mcp-google-calendar-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The MCP Google Calendar Server is a Model Context Protocol server designed to facilitate the creation of Google Calendar events through a structured and automated process.
authenticate_google_calendar
Generates an authentication URL for Google Calendar access.
create_calendar_event
Creates a new event in your Google Calendar.
MCP Google Calendar Server
A Model Context Protocol (MCP) server for creating Google Calendar events.
Setup
-
Install dependencies:
npm install
-
Get Google Calendar API credentials:
- Go to Google Cloud Console
- Create a new project or select existing one
- Enable the Google Calendar API
- Create credentials (OAuth 2.0 Client ID)
- Download the credentials and save as
credentials.json
in the project root
-
Authenticate:
- Run the server and use the
authenticate_google_calendar
tool to get the auth URL - Visit the URL, grant permissions, and get the authorization code
- Create a
token.json
file with your credentials
- Run the server and use the
-
Configure Claude Code: Add to your MCP settings:
{ "mcpServers": { "google-calendar": { "command": "node", "args": ["/Users/krilet/mcp-google-calendar-server/src/index.js"] } } }
Usage
The server provides two tools:
authenticate_google_calendar
Generates an authentication URL for Google Calendar access.
create_calendar_event
Creates a new event in your Google Calendar.
Parameters:
summary
(required): Event titlestartDateTime
(required): Start time in ISO formatendDateTime
(required): End time in ISO formatdescription
(optional): Event descriptionlocation
(optional): Event locationtimeZone
(optional): Time zone (defaults to UTC)attendees
(optional): Array of email addresses
Example:
{
"summary": "Team Meeting",
"startDateTime": "2024-12-25T10:00:00-08:00",
"endDateTime": "2024-12-25T11:00:00-08:00",
"description": "Weekly team sync",
"location": "Conference Room A",
"attendees": ["colleague@example.com"]
}