Labsco
momer17 logo

MCP Calendar Assistant

from momer17

An intelligent assistant for managing calendars and tasks.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedAccount requiredAdvanced setup

MCP Calendar Assistant

A powerful Model Context Protocol (MCP) server that provides intelligent calendar and task management capabilities. This server allows AI assistants to interact with your calendar through natural language, handling everything from simple event creation to complex scheduling analysis.

๐ŸŒŸ Features

Core Calendar Operations

  • Multi-Calendar Support: Google Calendar (with Outlook/Apple Calendar planned)
  • Event Management: Create, read, update, delete calendar events
  • Smart Scheduling: Find free time slots across multiple calendars
  • Availability Checking: Check if people are available for meetings
  • Meeting Suggestions: AI-powered optimal meeting time recommendations

Task & Reminder Management

  • Smart Reminders: Create and manage tasks with priorities and due dates
  • Natural Language: Process tasks from unstructured text input
  • Analytics: Track completion rates and productivity patterns

Intelligence Features

  • Schedule Analysis: Understand your scheduling patterns and habits
  • Contact Suggestions: Auto-suggest frequent collaborators
  • Similar Events: Find related events for context
  • Working Hours: Respect user preferences and constraints

Performance & Reliability

  • Intelligent Caching: Redis-powered caching with configurable TTLs
  • Batch Operations: Efficient bulk calendar operations
  • Error Handling: Robust error recovery and retry mechanisms
  • Rate Limiting: Built-in protection against API abuse

๐Ÿ—๏ธ Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚   AI Assistant  โ”‚โ”€โ”€โ”€โ”€โ”‚  MCP Calendar    โ”‚โ”€โ”€โ”€โ”€โ”‚  Calendar APIs  โ”‚
โ”‚   (Claude, etc) โ”‚    โ”‚     Server       โ”‚    โ”‚ (Google, etc)   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                              โ”‚
                       โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                       โ”‚  PostgreSQL +    โ”‚
                       โ”‚     Redis        โ”‚
                       โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ“‹ Available Tools

Calendar Operations

  • get_calendars - List available calendars
  • get_calendar_events - Retrieve events from a calendar
  • create_calendar_event - Create new events
  • update_calendar_event - Modify existing events
  • delete_calendar_event - Remove events
  • find_free_time - Find available time slots
  • check_availability - Check if people are free
  • suggest_meeting_times - AI-powered meeting suggestions

Task Management

  • create_reminder - Create tasks and reminders
  • get_reminders - Retrieve tasks with filtering
  • update_reminder - Modify existing tasks
  • complete_reminder - Mark tasks as completed

Analytics & Insights

  • analyze_schedule_patterns - Understand scheduling habits
  • get_working_hours - Retrieve work schedule preferences
  • get_recent_similar_events - Find related events
  • get_contact_suggestions - Auto-suggest contacts

๐Ÿ”Œ MCP Integration

With Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "calendar-assistant": {
      "command": "node",
      "args": ["/path/to/mcp-calendar-server/dist/index.js"],
      "env": {
        "DATABASE_URL": "postgresql://localhost:5432/calendar_assistant",
        "GOOGLE_CLIENT_ID": "your-client-id",
        "GOOGLE_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

With Custom Applications

import { CalendarMCPServer } from 'mcp-calendar-server';

const server = new CalendarMCPServer();
await server.start();

๐Ÿ”’ Security

Authentication

  • JWT-based session management
  • OAuth 2.0 with Google Calendar
  • Secure token refresh handling
  • Session cleanup and expiration

Data Protection

  • Environment variable encryption
  • Database connection encryption
  • API rate limiting
  • Input validation and sanitization

Best Practices

  • Non-root container execution
  • Minimal attack surface
  • Regular security updates
  • Audit logging

๐Ÿ“Š Monitoring

Health Checks

# Check server health
curl http://localhost:3000/health

# Check database connectivity
curl http://localhost:3000/health/db

# Check cache connectivity
curl http://localhost:3000/health/cache

Logging

Structured JSON logging with configurable levels:

  • Error tracking and alerting
  • Performance metrics
  • Security event logging
  • Debug information for development

๐Ÿค Contributing

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

Development Setup

# Install dependencies
npm install

# Run tests
npm test

# Run linter
npm run lint

# Format code
npm run format

# Start development server
npm run dev

๐Ÿ—บ๏ธ Roadmap

Phase 1 (Current)

  • โœ… Google Calendar integration
  • โœ… Basic CRUD operations
  • โœ… Free time finding
  • โœ… Task management
  • โœ… Caching layer

Phase 2 (In Progress)

  • ๐Ÿ”„ Outlook Calendar integration
  • ๐Ÿ”„ Advanced scheduling algorithms
  • ๐Ÿ”„ Natural language time parsing
  • ๐Ÿ”„ Webhook support for real-time updates

Phase 3 (Planned)

  • ๐Ÿ“… Apple Calendar integration
  • ๐Ÿ“… CalDAV support
  • ๐Ÿ“… Meeting room booking
  • ๐Ÿ“… Travel time integration
  • ๐Ÿ“… Smart conflict resolution

Phase 4 (Future)

  • ๐Ÿ”ฎ Machine learning insights
  • ๐Ÿ”ฎ Predictive scheduling
  • ๐Ÿ”ฎ Integration with other productivity tools
  • ๐Ÿ”ฎ Mobile app companion

๐Ÿ“„ License

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

๐Ÿ™ Acknowledgments

๐Ÿ“ž Support


Made with โค๏ธ for the MCP community