Google Calendar MCP
Enables programmatic management of Google Calendar events through natural language interactions, supporting creation, reading, updating, and deletion of events with features for recurring events, attendees, and reminders.
README Documentation
Google Calendar Integration Project
This project provides integration with Google Calendar API to manage and interact with calendar events programmatically.
Prerequisites
- Python 3.8 or higher
- Google Cloud Platform account
- Google Calendar API enabled
- OAuth 2.0 credentials configured
Setup Instructions
Installing via Smithery
To install Google Calendar Integration Project for Claude Desktop automatically via Smithery:
npx -y smithery install @Avik-creator/googlecalendarMCP --client claude
Manual Installation
-
Clone the Repository
git clone https://github.com/Avik-creator/googlecalendarMCP cd googlecalendarMCP
-
Set Up Virtual Environment
python -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate`
-
Install Dependencies
pip install -r requirements.txt
-
Google Cloud Platform Setup
a. Go to the Google Cloud Console b. Create a new project or select an existing one c. Enable the Google Calendar API d. Create OAuth 2.0 credentials:
- Go to APIs & Services > Credentials
- Click "Create Credentials" > "OAuth client ID"
- Choose "Desktop Application"
- Download the credentials JSON file
- Rename it to
credentials.json
and place it in the project root
-
Environment Variables
Create a
.env
file in the project root with the following variables:GOOGLE_APPLICATION_CREDENTIALS=path/to/credentials.json CALENDAR_ID=your_calendar_id@group.calendar.google.com
Usage
-
First-time Authentication
python auth.py
This will open a browser window for OAuth authentication. Follow the prompts to authorize the application.
-
Running the Application
python main.py
Features
- Create, read, update, and delete calendar events
- Set up recurring events
- Manage event attendees
- Handle event notifications and reminders
Project Structure
googlecalendarMCP/
├── auth.py # Authentication handling
├── main.py # Main application entry point
├── requirements.txt # Project dependencies
├── .env # Environment variables
├── credentials.json # Google OAuth credentials
└── token.json # Generated OAuth token
Dependencies
The project uses the following main dependencies:
- google-auth-oauthlib
- google-auth-httplib2
- google-api-python-client
- python-dotenv
Deployed Configuration:
{
"mcpServers": {
"google_calendar_mcp": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp-google-calendar.avikm744.workers.dev/sse"
]
}
}
}
Security Notes
- Never commit your
credentials.json
,token.json
, or.env
file to version control - Keep your OAuth credentials secure
- Regularly rotate your credentials and tokens
Contributing
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.