Google Calendar Integration Project
Manage and interact with Google Calendar events using the Google Calendar API.
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.jsonand place it in the project root
-
Environment Variables
Create a
.envfile in the project root with the following variables:GOOGLE_APPLICATION_CREDENTIALS=path/to/credentials.json [email protected]
Usage
-
First-time Authentication
python auth.pyThis 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.envfile 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.
Server Terkait
AutoWP
Connects Claude to WordPress sites to create posts and manage sites using the WordPress REST API.
Logseq
Control and interact with a local Logseq graph for knowledge management and note-taking.
Odoo-MCP
Integrate with Odoo ERP systems to manage business data and operations. Requires external configuration for connection parameters.
esa.io
An MCP server for the esa.io API, allowing you to search, read, create, update, and delete posts.
Synter Ads
Cross-platform ad campaign management for AI agents across Google, Meta, LinkedIn, Reddit, TikTok, and more. 140+ tools with read/write access.
StashDog MCP Server
A server providing natural language tools to manage your StashDog inventory.
PAF-IAST LMS Automation
Automates interactions with the PAF-IAST Learning Management System (LMS) for AI assistants like Claude and VS Code Copilot.
Agent Collaboration
A dynamic server for managing multi-agent collaboration within tmux sessions, featuring flexible pane configurations and auto-detection.
Obsidian Nexus
Connects directly to your local Obsidian vault for seamless note management and data organization.
n8n Workflow MCP Server
A server for validating and managing n8n workflows, featuring multilingual support and multiple operational modes.