RossiFire/mcp-google-calendar
If you are the rightful owner of mcp-google-calendar 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 Google Calendar MCP Server is a Model Context Protocol server built with Typescript and Node.js, enabling Claude Desktop to connect and interact with Google Calendar.
🗓️ Google Calendar MCP Server
A Model Context Protocol (MCP) server made with Typescript and nodejs that allows Claude Desktop to connect and interact with Google Calendar.
📕Table of contents
- Features
- Requirements
- Getting Started
- Installation
- Configuring Claude Desktop
- First run
- Verify Connection
- Security Considerations
- Contributing
- License
Features
- Connect Claude Desktop AI to your Google account
- Retrieve calendar lists and events
- Create, update, and delete events
- Automatic Token management
Requirements
- Node.js (v16 or higher)
- npm or yarn
- Google account with Calendar access
- Google OAuth2 credentials
- Claude Desktop
Getting Started
Since this is a local server, you'll need to set up google cloud project to use it. Here's a detailed guide on how to get your tokens.
1. Create new project
Access to the google cloud console, then create a new project.
2. Google Cloud OAuth
- Go to the Google Cloud Console
- Create a new project
- Go to APIs and Services > Credentials tab > click on Create new credentials.
- Select OAuth Client ID as type of credential and Web Application as application type. Then set a name for the credentials and add authorized redirect URIs as shown below:
Once finished, you should have the Client ID and Client Secret.
Installation
1. Clone the repository
git clone https://github.com/RossiFire/mcp-google-calendar
cd mcp-google-calendar
2. Install dependencies
npm install
# or
yarn install
3. Configure environment variables
Create a .env
file based on the .env.example
:
cp .env.example .env
Then edit the .env
file with your configuration:
CLIENT_ID=your_cliend_id
CLIENT_SECRET=your_client_secret
# This is random string rapresenting the secret for the express session.
EXPRESS_SECRET=your_express_secret
4. Build the project
You need to build the MCP server before asking Claude to connect to it, so Claude Desktop will be able to consume it.
npm run build
Configuring Claude Desktop
Prerequisites
- You must have Claude Desktop installed on your computer
- Your version of Claude Desktop must support MCP connections
Claude Desktop needs to be configured to access your MCP server:
-
Locate your Claude Desktop settings file:
- On macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- On Windows:
%APPDATA%\Claude\claude_desktop_config.json
- On macOS:
-
Add the MCP server configuration to the settings file:
- Open the settings.json file in a text editor
- Find or create the
mcpServers
section - Add the following configuration:
{ "mcpServers": { "GoogleMCPCalendar": { "command": "node", "args": [ "/path/to/project/folder/mcp-google-calendar/build/index.js" ], "env": { "CLIENT_ID": your_client_id, "CLIENT_SECRET": your_client_secret, "EXPRESS_SECRET": express_secret } } } }
-
Save the file and restart Claude Desktop
First run
After the installation, when you open Claude, you will be asked to select and log in with a Google account. After logging in, you're ready to use it! Next times you open Claude, you won't be asked to log in since the token is automatically saved and managed.
Verify Connection
Once connected, you can test Claude AI asking for simple questions like:
What events do I have today?
What's on my calendar for next week?
etc...
Security Considerations
- This MCP server stores authentication tokens locally in files, so there are no data exposed online. Make sure these files are not committed to version control.
Contributing
Feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.