Labsco
MCP SERVER

MCP Calendar Assistant

by momer17

Calendar and task management for an assistant: create and move events, find free time, check availability, and track reminders.

Calendars, Meetings & Scheduling
Summary
Finds the slot instead of listing the calendar.

Reading events is the easy part; `find_free_time` across several calendars and `check_availability` are what turn scheduling from a lookup into an answer. `get_working_hours` matters more than it sounds — without it a suggestion engine will happily propose 7am.

What it is

An MCP server for calendar and task work, built on Google Calendar with Outlook and Apple Calendar planned. Beyond straight CRUD it handles the scheduling questions — where the free slots are, whether people are available, and which times are actually good ones.

What you get
  • Calendar — `get_calendars`, `get_calendar_events`, `create_calendar_event`, `update_calendar_event`, `delete_calendar_event`
  • Scheduling — `find_free_time` across multiple calendars, `check_availability` for whether people are free, `suggest_meeting_times` for recommended slots
  • Tasks and reminders — `create_reminder` with priorities and due dates, `get_reminders` with filtering, `update_reminder`, `complete_reminder`
  • Analytics and context — `analyze_schedule_patterns`, `get_working_hours` for your stated preferences, `get_recent_similar_events`, `get_contact_suggestions` for frequent collaborators
  • Redis-backed caching with configurable TTLs, batch calendar operations, retry handling and built-in rate limiting
Requirements

Node.js 18+, PostgreSQL 12+, and a Google Cloud project with the Calendar API enabled and OAuth 2.0 credentials. Redis 6+ is optional but recommended for the caching layer. Required environment: `DATABASE_URL`, `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET` and `JWT_SECRET`, with `REDIS_URL` alongside them when caching is on. Feature flags control caching, batching, predictive prefetching, analytics and multi-provider support independently.