calendar-mcp
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
calendar-mcp
An MCP server that exposes read-only
calendar data from iCal (.ics) feed URLs to an MCP-compatible agent.
You point it at one or more iCal URLs. It fetches them on a regular interval, expands recurring events, caches everything in memory, and offers tools an agent can call to answer questions like "what's on my calendar this week?", "am I free Thursday afternoon?", or "find events mentioning 'dentist'".
It never writes to any calendar — iCal feeds are pull-only sources.
Install
Requires Python ≥ 3.11 and uv.
uv syncRelated MCP server: public-calendar-mcp
Configure
Copy the example config and edit it:
cp calendars.example.toml calendars.tomlrefresh_interval_minutes = 15 # how often to re-fetch (min 5)
default_timezone = "America/New_York" # applied to floating times & agenda math
max_results = 200 # cap on events returned per tool call
[[calendars]]
name = "Work"
url = "https://example.com/work.ics"
[[calendars]]
name = "Family"
url = "https://calendar.google.com/.../basic.ics"Feed URLs are secrets. Google/Apple/Outlook "private address" URLs embed an access token. The server never logs or exposes the URL — only the friendly
nameappears in output.calendars.tomlis git-ignored; keep it private.
Run
uv run calendar-mcp calendars.tomlThe server speaks the MCP stdio protocol, so it's normally launched by your MCP client rather than by hand. Register it like this:
{
"mcpServers": {
"calendar": {
"command": "uv",
"args": ["run", "calendar-mcp", "/absolute/path/to/calendars.toml"]
}
}
}Tools
Tool | What it does |
| Each feed's refresh state, event count, last success (no URLs). |
| Events in a window (recurrences expanded), sorted by start. |
| Full detail (description, attendees) for one event UID. |
| Case-insensitive match on summary/description/location. |
| Merged busy intervals and the free gaps between them. |
| Convenience: |
| Force an immediate re-fetch of all feeds. |
Times are ISO-8601. If you omit a window, a sensible default is used. Results are
capped at max_results and flagged truncated when trimmed, so large calendars
don't overrun the agent's context.
Design notes
Recurrence (
RRULE/EXDATE/RECURRENCE-IDoverrides) is expanded byrecurring-ical-events.Timezones: UTC,
TZID, and floating times are all normalized to timezone-aware ISO-8601; floating times getdefault_timezone.Resilience: a feed that fails to fetch or parse keeps its last-known-good data and records the error in its status — it never wipes the cache or crashes the refresh loop.
HTTP efficiency:
ETag/Last-Modifiedare stored and sent as conditional requests, so an unchanged feed returns304and skips re-parsing.
Develop
uv run pytest # unit tests + fixturesNot in scope (v1)
Writing/creating events, tasks (VTODO) and reminders (VALARM), an HTTP/daemon
transport, and on-disk cache persistence across restarts.
License
Copyright (C) 2026 Jeremy Beker.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
It is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Calendar API for AI agents: events, availability, Google/Microsoft setup, scheduling, and iCal.
Agent-Native Google Calendar - manage events, sync, and public booking
Read-only view of all your calendars (Google, Outlook, Zoho, iCloud): agenda and free time
Manage Google, Outlook & Apple calendars and create private sync rules from chat.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables users to view and create events in their iCloud Calendar using natural language through supported LLMs. It integrates with Apple's infrastructure via app-specific passwords to provide secure calendar management.1-
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to search and access public calendar data, supporting iCal, CalDAV, and Google Calendar sources with event search, details, and availability checks.MIT
- FlicenseNot gradedqualityBmaintenanceEnables interacting with CalDAV calendars (like iCloud) through natural language, supporting reading and writing events.1-
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to interact with Google Calendar through natural language, supporting listing, creating, and searching events across accessible calendars.151 npmMIT