Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
limey avatar

Cal Scheduler

  • Updated July 28, 2026
  • limey/cal-scheduler-mcp

cal-scheduler is a timezone-correct CalDAV MCP server that validates recurrence rules and persists zoned iCalendar events for developers who need agents to schedule, edit, or exclude single occurrences without botching D

About

cal-scheduler is a Python stdio MCP server that connects Claude, Cursor, or other MCP hosts to any CalDAV-compatible calendar (Radicale, Nextcloud, iCloud via CalDAV). It exposes a strict tool surface—list/create/update/delete events and calendars, exclude or move single recurring occurrences, and preview datetime parsing—while handling TZID storage, RRULE validation, EXDATE, and RECURRENCE-ID edits in deterministic code rather than leaving iCalendar math to the model. Configuration uses CALDAV_BASE_URL, credentials, and CAL_DEFAULT_TZ environment variables. Install via PyPI (`uv tool install cal-scheduler-mcp`) on Python 3.11+. Reach for it when an agent must schedule meetings, manage recurring series, or sync events to a self-hosted or corporate CalDAV backend without DST drift or broken recurrence rules.

  • Stores events with TZID/VTIMEZONE to prevent DST wall-clock drift
  • Validates RRULE anchors and normalises UNTIL to UTC per RFC 5545
  • Supports EXDATE exclude_occurrence and RECURRENCE-ID move_occurrence edits
  • Exposes 10 MCP tools: events, calendars, and resolve_datetime preview
  • Stdio FastMCP server installable via PyPI cal-scheduler-mcp on Python 3.11+

Cal Scheduler by the numbers

  • Data as of Jul 28, 2026 (Skillselion catalog sync)
terminal
claude mcp add cal-scheduler-mcp -- uvx cal-scheduler-mcp

Add your badge

Show developers this MCP server is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Packagecal-scheduler-mcp
TransportSTDIO
AuthNone
Last updatedJuly 28, 2026
Repositorylimey/cal-scheduler-mcp

How do you schedule CalDAV events correctly via MCP?

Create CalDAV events with RRULE, EXDATE, RECURRENCE-ID edits, and zoned .ics via MCP tools

Who is it for?

Developers wiring Claude or other MCP hosts to self-hosted CalDAV calendars who need deterministic timezone, recurrence, and single-occurrence edit semantics.

Skip if: Teams needing Google Calendar OAuth, natural-language scheduling layers, or calendar UX without a CalDAV server and Python 3.11+ MCP host configuration.

What you get

Validated zoned .ics events on a CalDAV server with correct recurrence, EXDATE exclusions, or moved single occurrences.

  • persisted .ics events on CalDAV
  • validated recurrence and occurrence edits

By the numbers

  • Requires Python 3.11 or newer
  • Exposes 9 MCP tools across events, calendars, and datetime preview
  • Published on PyPI as cal-scheduler-mcp

Recommended MCP Servers

How it compares

Choose cal-scheduler when agents need validated CalDAV iCalendar writes—not generic calendar APIs that store bare UTC or skip recurrence edits.

FAQ

How do you install Cal Scheduler MCP?

Cal Scheduler installs with `uv tool install Cal Scheduler-mcp` on Python 3.11 or newer. MCP hosts spawn it as a stdio subprocess, typically via `uv run --directory /path/to/Cal Scheduler-mcp Cal Scheduler` with CalDAV env vars.

How does Cal Scheduler handle timezones?

Cal Scheduler stores every event zoned to `CAL_DEFAULT_TZ` using TZID and VTIMEZONE blocks. Naive datetimes are treated as wall time in that zone, preventing recurring meetings from drifting an hour across daylight-saving boundaries.

Can Cal Scheduler edit one instance of a recurring series?

Cal Scheduler provides `exclude_occurrence` to add an EXDATE for one instance and `move_occurrence` to relocate a single occurrence with RECURRENCE-ID without disturbing the remaining series.

Productivity & Officeintegrationsbackend

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.