Integrates with Google Calendar to enable natural language management of events, appointments, and schedules.
Created byApr 23, 2025
Calendar AutoAuth MCP Server
A Model Context Protocol (MCP) server for Google Calendar integration in Cluade Desktop with auto authentication support. This server enables AI assistants to manage Google Calendar events through natural language interactions.
Create calendar events with title, time, description, and location
Retrieve event details by event ID
Update existing events (title, time, description, location)
Delete events
List events within a specified time range
Full integration with Google Calendar API
Simple OAuth2 authentication flow with auto browser launch
Support for both Desktop and Web application credentials
Global credential storage for convenience
Installation & Authentication
Installing via Smithery
To install Calendar AutoAuth Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@gongrzhe/server-calendar-autoauth-mcp):
Create a Google Cloud Project and obtain credentials:
a. Create a Google Cloud Project:
- Go to [Google Cloud Console](https://console.cloud.google.com/)
- Create a new project or select an existing one
- Enable the Google Calendar API for your project
b. Create OAuth 2.0 Credentials:
- Go to "APIs & Services" > "Credentials"
- Click "Create Credentials" > "OAuth client ID"
- Choose either "Desktop app" or "Web application" as application type
- Give it a name and click "Create"
- For Web application, add `http://localhost:3000/oauth2callback` to the authorized redirect URIs
- Download the JSON file of your client's OAuth keys
- Rename the key file to `gcp-oauth.keys.json`
Run Authentication:
You can authenticate in two ways:
a. Global Authentication (Recommended):
```bash
# First time: Place gcp-oauth.keys.json in your home directory's .calendar-mcp folder
mkdir -p ~/.calendar-mcp
mv gcp-oauth.keys.json ~/.calendar-mcp/
# Run authentication from anywhere
npx @gongrzhe/server-calendar-autoauth-mcp auth
```
b. Local Authentication:
```bash
# Place gcp-oauth.keys.json in your current directory
# The file will be automatically copied to global config
npx @gongrzhe/server-calendar-autoauth-mcp auth
```
The authentication process will:
- Look for `gcp-oauth.keys.json` in the current directory or `~/.calendar-mcp/`
- If found in current directory, copy it to `~/.calendar-mcp/`
- Open your default browser for Google authentication
- Save credentials as `~/.calendar-mcp/credentials.json`
> **Note**:
> - After successful authentication, credentials are stored globally in `~/.calendar-mcp/` and can be used from any directory
> - Both Desktop app and Web application credentials are supported
> - For Web application credentials, make sure to add `http://localhost:3000/oauth2callback` to your authorized redirect URIs
Configure in Claude Desktop:
Docker Support
If you prefer using Docker:
Authentication:
Usage:
Usage Examples
The server provides several tools that can be used through the Claude Desktop:
Create Event
List Events
Update Event
Delete Event
Security Notes
OAuth credentials are stored securely in your local environment (`~/.calendar-mcp/`)
The server uses offline access to maintain persistent authentication
Never share or commit your credentials to version control
Regularly review and revoke unused access in your Google Account settings
Credentials are stored globally but are only accessible by the current user
Troubleshooting
**OAuth Keys Not Found**
- Make sure `gcp-oauth.keys.json` is in either your current directory or `~/.calendar-mcp/`
- Check file permissions
**Invalid Credentials Format**
- Ensure your OAuth keys file contains either `web` or `installed` credentials
- For web applications, verify the redirect URI is correctly configured
**Port Already in Use**
- If port 3000 is already in use, please free it up before running authentication
- You can find and stop the process using that port
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the ISC License.
Author
gongrzhe
Support
If you encounter any issues or have questions, please file an issue on the GitHub repository.