Simplify Google Calendar management with automatic OAuth authentication and AI integration for seamless event handling
The Calendar AutoAuth MCP Server is an advanced Model Context Protocol (MCP) server designed to enable seamless integration of Google Calendar events through natural language interactions, primarily for AI applications like Claude Desktop. This server offers a robust suite of features including event creation, retrieval, updating, and deletion functionalities, all encapsulated within a streamlined OAuth2 authentication flow with auto browser launch. By adopting this MCP server, developers can enhance their AI applications to handle Google Calendar events more efficiently and intuitively.
The Calendar AutoAuth MCP Server supports the following core capabilities:
These features are implemented using the Model Context Protocol (MCP), a universal adapter protocol that allows AI applications to interact with various data sources and tools through standardized protocols. This ensures compatibility across different MCP clients such as Claude Desktop, Continue, Cursor, and more.
The architecture of Calendar AutoAuth MCP Server is structured around the following components:
Below is an example of how these components interact using a Mermaid diagram:
graph TD
A[AI Application] -->|MCP Client| B[MCP Protocol]
B --> C[MCP Server]
C --> D[Data Source/Tool]
style A fill:#e1f5fe
style C fill:#f3e5f5
style D fill:#e8f5e8
This diagram illustrates the flow of data and commands between an AI application (such as Claude Desktop), a calendar client, the calendar MCP server, and ultimately to the Google Calendar API.
To install the Calendar AutoAuth MCP Server for use in Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @gongrzhe/server-calendar-autoauth-mcp --client claude
Create a Google Cloud Project and Obtain Credentials
a. Create a Google Cloud Project * Go to Google Cloud Console * Create a new project or select an existing one * Enable the Google Calendar API for your project
b. Create OAuth 2.0 Client ID
* Go to "APIs & Services" > "Credentials"
* Click "Create Credentials" > "OAuth client ID"
* Choose either "Desktop app" or "Web application" as the 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
Run Authentication
You can authenticate in two ways:
Global Authentication (Recommended):
# First time: Place gcp-oauth.keys.json in the 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
Local Authentication:
# Place gcp-oauth.keys.json in the current directory
# The file will be automatically copied to global config
npx @gongrzhe/server-calendar-autoauth-mcp auth
Configure in Claude Desktop
{
"mcpServers": {
"calendar": {
"command": "npx",
"args": [
"@gongrzhe/server-calendar-autoauth-mcp"
]
}
}
}
For users who prefer using Docker:
Authentication
docker run -i --rm \
--mount type=bind,source=/path/to/gcp-oauth.keys.json,target=/gcp-oauth.keys.json \
-v mcp-calendar:/calendar-server \
-e CALENDAR_OAUTH_PATH=/gcp-oauth.keys.json \
-e "CALENDAR_CREDENTIALS_PATH=/calendar-server/credentials.json" \
-p 3000:3000 \
mcp/calendar auth
Usage
{
"mcpServers": {
"calendar": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-v",
"mcp-calendar:/calendar-server",
"-e",
"CALENDAR_CREDENTIALS_PATH=/calendar-server/credentials.json",
"mcp/calendar"
]
}
}
}
AI assistants can leverage the Calendar AutoAuth MCP Server to manage event scheduling and reminders. For example, an assistant could listen to natural language commands like "Schedule a meeting with John at 3 PM" and automatically create or update calendar events accordingly.
{
"summary": "Team Meeting",
"start": {
"dateTime": "2024-01-20T15:00:00Z"
},
"end": {
"dateTime": "2024-01-20T16:00:00Z"
},
"description": "Weekly team sync",
"location": "Conference Room A"
}
By integrating Calendar AutoAuth MCP Server with AI applications, developers can create scheduled tasks that monitor calendar events and update them based on specific conditions. For instance, an application could check daily for upcoming meetings and update their status or send reminders.
{
"timeMin": "2024-01-01T00:00:00Z",
"timeMax": "2024-12-31T23:59:59Z",
"reminders": {
"useDefault": true
}
}
{
"mcpServers": {
"calendar": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-calendar"],
"env": {
"API_KEY": "your-api-key"
}
}
}
}
Here’s a more detailed diagram illustrating the flow of data and commands between an AI application, a calendar client, the Calendar AutoAuth MCP server, and ultimately to the Google Calendar API.
graph TD
A[AI Application] -->|MCP Client Request| B[MCP Server Endpoint]
B --> C[MCP Protocol Encoding]
C --> D[MCP Server Logic]
D --> E[Google Calendar API]
E --> F[Calendar Event Data]
style A fill:#e1f5fe
style B fill:#f3e5f5
style C fill:#f9ebc0
style D fill:#f7ede6
style E fill:#d8f5e8
The following diagram provides a visual representation of the data architecture, detailing how events and metadata are processed and stored.
graph TD
A[Data Source (Google Calendar)] -->|Event Retrieval| B[MCP Server Memory]
B --> C[Local Database Storage]
C --> D[Cache System]
D --> E[AI Application Interface]
style A fill:#e8f5e8
style B fill:#d8f5e8
style C fill:#b4e0ae
style D fill:#aad9c7
style E fill:#e1f5fe
An AI assistant uses the Calendar AutoAuth MCP Server to monitor and schedule meetings based on user preferences. Users can dictate commands like, "Remind me to have a meeting with Tom at 4 PM every Tuesday," which triggers the creation of recurring events.
{
"summary": "Monthly Team Meeting",
"start": {
"dateTime": "2023-12-18T16:00:00Z"
},
"end": {
"dateTime": "2023-12-18T17:00:00Z"
},
"description": "Quarterly review of project progress",
"location": "Conference Room B",
"recurrence": ["FREQ=WEEKLY;BYMONTHDAY=5"],
}
An AI application uses the Calendar AutoAuth MCP Server to send alerts when events with specific keywords (e.g., "urgent" or "priority") are scheduled. When an event containing these terms is detected, the system sends reminders via notifications or integrates with other communication tools.
{
"summary": "Urgent Project Deadline",
"start": {
"dateTime": "2023-12-30T23:59:00Z"
},
"end": {
"dateTime": "2024-01-02T07:00:00Z"
}
}
MCP Client | Resources | Tools | Prompts | Status |
---|---|---|---|---|
Claude Desktop | ✅ | ✅ | ✅ | Full Support |
Continue | ✅ | ✅ | ✅ | Full Support |
Cursor | ❌ | ✅ | ❌ | Tools Only |
How do I set up OAuth2 credentials for Google Calendar? Follow the steps outlined in the "Create a Google Cloud Project and Obtain Credentials" section to generate the necessary OAuth2 client credentials.
Can this server handle both desktop and web application authentication flows? Yes, the server supports both Desktop app and Web application credentials through configuration options.
What prompts can I use with the AI applications supported by this server? Prompts should be crafted in natural language to facilitate seamless interactions between the assistant and user, such as "Schedule a meeting" or "Reschedule event."
How do I ensure seamless data flow between different MCP clients? Follow the MCP protocol standards and ensure that all configuration details are accurately set up to support smooth integration.
What happens if an event is not updated correctly through this server? Check for any network issues or misconfigurations in your setup. If necessary, refer to the official documentation or seek support from the MCP community.
By following these guidelines, you can effectively leverage the Calendar AutoAuth MCP Server to enhance your AI applications with robust Google Calendar event management capabilities.
RuinedFooocus is a local AI image generator and chatbot image server for seamless creative control
Learn to set up MCP Airflow Database server for efficient database interactions and querying airflow data
Simplify MySQL queries with Java-based MysqlMcpServer for easy standard input-output communication
Build stunning one-page websites track engagement create QR codes monetize content easily with Acalytica
Access NASA APIs for space data, images, asteroids, weather, and exoplanets via MCP integration
Explore CoRT MCP server for advanced self-arguing AI with multi-LLM inference and enhanced evaluation methods