cal-scheduler MCP server
io.github.limey/cal-scheduler-mcp·v1.1.3·1 starsTimezone-correct CalDAV scheduling MCP server with validated recurrence and single-occurrence edits.
1 stars34 downloads/wk
Reviews
Write oneNobody has reviewed cal-scheduler yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
cal-scheduler tools (11, 6 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
create_calendarwrite actionCreate a new calendar with the given display name.
create_eventwrite actionCreate an event (single, or recurring if `rrule` is given).
delete_calendarwrite actionDelete a calendar and all of its events. Irreversible.
delete_eventwrite actionDelete a whole event/series (and any of its overrides). Irreversible.
exclude_occurrencewrite actionDrop a single occurrence of a recurring series (EXDATE).
list_calendarsList the calendars available on the account.
list_eventsList event occurrences in [start, end], expanding recurring series.
mark_doneMark an event (or one occurrence of a series) done at the current UTC moment.
move_occurrenceReschedule a single occurrence of a series (RECURRENCE-ID override).
resolve_datetimeShow how a datetime string will be interpreted, without writing anything.
update_eventwrite actionEdit a whole event/series. Only the fields you pass change.
Public scan report
scanner v0.1.10 · 2026-11-03 · same rubric, same numbers if you re-run it
- Code scan7 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 1 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How cal-scheduler compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 92/100
- higher than 95% of 48,255 servers
- Tools
- 11
- the typical server has 7
- Tools that change things
- 55%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 1
- more than 65% of 28,688 servers
- Downloads a week
- 34
- more than 23% of 12,191 servers with a package
What its tools let an agent do: 3 read · 2 create · 4 change · 2 delete
Install cal-scheduler in Claude Code, Cursor or VS Code
claude mcp add cal-scheduler-mcp -- uvx cal-scheduler-mcp
What the publisher says
From the cal-scheduler repository's README, as published. We do not edit it. Read it on GitHub
<!-- mcp-name: io.github.limey/cal-scheduler-mcp -->
If you are an agent installing this MCP, read AGENTS.md first.
cal-scheduler
A thin, timezone-correct MCP server for scheduling against any CalDAV calendar. It gives an LLM agent a small, strict set of calendar tools and does the deterministic, fiddly parts of iCalendar correctly so the model doesn't have to.
It is not an NLP layer: the agent phrases the request, the server validates it, rejects bad input loudly, and persists clean zoned .ics.
Why it exists
Most calendar tooling an LLM reaches for gets three things subtly wrong. cal-scheduler fixes them by construction:
weekly 9am stays 9am across a daylight-saving boundary instead of drifting an hour. Storing bare UTC is the classic cause of that drift.
- Stores zoned, not bare UTC. Events are written with TZID/VTIMEZONE, so a
a series starting on the 30th but set to repeat on the 1st), and normalises UNTIL to UTC under a zoned DTSTART as RFC 5545 requires.
- Validates recurrence. It rejects an RRULE whose anchor contradicts it (e.g.
instance (RECURRENCE-ID) without disturbing the rest of the series — the operations naive wrappers tend to lack.
- Does real single-occurrence edits. Exclude one instance (EXDATE) or move one
How it works
A small uv Python package that composes mature libraries rather than implementing a calendar engine:
It runs as a stdio MCP server that an MCP host (Claude, an agent harness, etc.) spawns as a subprocess.
Install
Requires Python ≥ 3.11. The package is on PyPI as cal-scheduler-mcp:
uv tool install cal-scheduler-mcp(or pip install cal-scheduler-mcp, uvx --from cal-scheduler-mcp cal-scheduler, etc.)
For editable dev work, install from a clone:
# run straight from the repo with uv (no global install)
uv run --directory /path/to/cal-scheduler-mcp cal-scheduler
# or install the console script into a tool environment
gh repo clone limey/cal-scheduler-mcp
uv tool install --editable /path/to/cal-scheduler-mcp
# or, with SSH GitHub access, in one step:
uv tool install git+ssh://git@github.com/limey/cal-scheduler-mcpDon't uv add cal-scheduler-mcp for the MCP — uv add writes
into whatever project you're sitting in, not into the tool
environment. For an MCP server (spawned as a subprocess),
uv tool install is the right shape.
Configure
All configuration is via environment variables:
Many MCP hosts strip inherited environment from stdio servers, so set these in the host's per-server env block rather than relying on the ambient shell.
Example MCP host config
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
cal-scheduler: common questions
- Is cal-scheduler MCP server safe?
- Yes, by our scan: it is graded A (92/100). Read the cal-scheduler safety report
- How do I install cal-scheduler?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does cal-scheduler need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is cal-scheduler maintained?
- The last commit was 2 days ago (2026-11-02). The latest release is v1.1.3.
- How does cal-scheduler compare with other MCP servers?
- safety score 92/100 (higher than 95% of 48,255 servers); tools 11 (the typical server has 7); tools that change things 55% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.