Calendar MCP Server

Calendar MCP Server

By smithery-ai GitHub

-

Overview

what is Calendar MCP Server?

Calendar MCP Server is a Model Context Protocol (MCP) server designed for integrating Google Calendar with AI assistants, enabling users to manage their calendar events through natural language interactions.

how to use Calendar MCP Server?

To use the Calendar MCP Server, you can install it via Smithery or manually via npm, and then set it up by creating a Google Cloud Project and configuring your OAuth credentials.

key features of Calendar MCP Server?

  • Create, update, delete, and list calendar events
  • Retrieve event details by event ID
  • Full integration with Google Calendar API
  • Secure OAuth2 authentication

use cases of Calendar MCP Server?

  1. Automating event creation and management via AI-powered commands
  2. Integrating calendar functionalities into AI assistants like Claude Desktop
  3. Allowing users to interact with Google Calendar through natural language processing

FAQ from Calendar MCP Server?

  • Is the Calendar MCP Server free to use?

Yes! The Calendar MCP Server is open-source and free to use.

  • What are the security measures when using this server?

Users should keep their Google API credentials secure, regularly rotate refresh tokens, and never share their credentials publicly.

  • Can I contribute to the Calendar MCP Server?

Yes! Contributions are welcome, and you can submit a pull request on the GitHub repository.

Content

Calendar MCP Server

A Model Context Protocol (MCP) server for Google Calendar integration in Claude Desktop. This server enables AI assistants to manage Google Calendar events through natural language interactions.

smithery badge npm version License: ISC

Features

  • 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
  • Secure OAuth2 authentication

Installation

Installing via Smithery

To install Google Calendar Integration for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @gongrzhe/server-calendar-mcp --client claude

Manual Installation

npm install @gongrzhe/server-calendar-mcp

Setup

  1. 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 Credentials:

    • Go to "APIs & Services" > "Credentials"
    • Click "Create Credentials" > "OAuth client ID"
    • Choose "Desktop app" as application type
    • Give it a name and click "Create"
    • You will get your GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET

    c. Get Refresh Token:

    • Go to OAuth 2.0 Playground
    • Click the gear icon (Settings) in the top right
    • Check "Use your own OAuth credentials"
    • Enter your OAuth Client ID and Client Secret
    • In the left panel, find "Calendar API v3" and select "https://www.googleapis.com/auth/calendar"
    • Click "Authorize APIs" and complete the OAuth flow
    • Click "Exchange authorization code for tokens"
    • Copy the "Refresh token" - this is your GOOGLE_REFRESH_TOKEN
  2. Configure in Claude Desktop:

{
  "calendar": {
    "command": "npx",
    "args": [
      "@gongrzhe/server-calendar-mcp"
    ],
    "env": {
      "GOOGLE_CLIENT_ID": "your_client_id_here",
      "GOOGLE_CLIENT_SECRET": "your_client_secret_here",
      "GOOGLE_REFRESH_TOKEN": "your_refresh_token_here"
    }
  }
}

Usage Examples

The server provides several tools that can be used through the Claude Desktop:

Create Event

{
  "summary": "Team Meeting",
  "start": {
    "dateTime": "2024-01-20T10:00:00Z"
  },
  "end": {
    "dateTime": "2024-01-20T11:00:00Z"
  },
  "description": "Weekly team sync",
  "location": "Conference Room A"
}

List Events

{
  "timeMin": "2024-01-01T00:00:00Z",
  "timeMax": "2024-12-31T23:59:59Z",
  "maxResults": 10,
  "orderBy": "startTime"
}

Update Event

{
  "eventId": "event123",
  "summary": "Updated Meeting Title",
  "start": {
    "dateTime": "2024-01-20T11:00:00Z"
  },
  "end": {
    "dateTime": "2024-01-20T12:00:00Z"
  }
}

Delete Event

{
  "eventId": "event123"
}

Security Notes

  • Keep your Google API credentials secure
  • Regularly rotate your refresh tokens
  • Store sensitive information in Claude Desktop configuration
  • Never share or commit your credentials to version control
  • The refresh token gives access to your Google Calendar, treat it like a password

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.

No tools information available.
No content found.