Labsco
am2rican5 logo

Google Calendar

β˜… 12

from am2rican5

Integrates with Google Calendar to manage events, reminders, and schedules using OAuth 2.0.

πŸ”₯πŸ”₯πŸ”₯βœ“ VerifiedFreeAdvanced setup

Google Calendar MCP Server

A Model Context Protocol (MCP) server that integrates with Google Calendar, built with TypeScript.

Features

  • Seamless Google Calendar integration with OAuth 2.0 authentication
  • Persistent token storage for automatic authentication
  • List and manage calendars with comprehensive event operations
  • Create, read, update, and delete calendar events
  • Fetch calendar events between specified dates
  • Server-Sent Events (SSE) transport option for real-time updates
  • Simple integration with Claude and other MCP-compatible AI assistants

Available Tools

ToolDescription
list_calendarsGet all available calendars
list_calendar_eventsRetrieve events between specified dates
create_calendar_eventAdd a new event to your calendar
get_calendar_eventFetch details for a specific event
edit_calendar_eventModify an existing calendar event
delete_calendar_eventRemove an event from your calendar

Development

Clone and set up the project:

git clone https://github.com/am2rican5/mcp-google-calendar.git
cd mcp-google-calendar
npm install

Build the project:

npm run build

Run in development mode:

npm start

Security Considerations

⚠️ Important Security Warning ⚠️

  • credentials.json and token.json contain sensitive authentication information
  • Never commit these files to version control or share them publicly
  • Each user should create their own OAuth credentials
  • If you suspect credential compromise, revoke them immediately in Google Cloud Console
  • The token grants access to your Google Calendar data

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request