Calendar
БесплатноНе проверенProvides read-only access to calendar events from iCal feeds, enabling agents to query schedules, search events, and check availability via natural language.
Описание
Provides read-only access to calendar events from iCal feeds, enabling agents to query schedules, search events, and check availability via natural language.
README
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 sync
Configure
Copy the example config and edit it:
cp calendars.example.toml calendars.toml
refresh_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.toml
The 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 |
|---|---|
list_calendars |
Each feed's refresh state, event count, last success (no URLs). |
list_events |
Events in a window (recurrences expanded), sorted by start. |
get_event |
Full detail (description, attendees) for one event UID. |
search_events |
Case-insensitive match on summary/description/location. |
free_busy |
Merged busy intervals and the free gaps between them. |
agenda |
Convenience: today | tomorrow | week | next. |
refresh |
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 by recurring-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 + fixtures
Not in scope (v1)
Writing/creating events, tasks (VTODO) and reminders (VALARM), an HTTP/daemon
transport, and on-disk cache persistence across restarts.
Установка Calendar
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/jbeker/calendar_mcpFAQ
Calendar MCP бесплатный?
Да, Calendar MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Calendar?
Нет, Calendar работает без API-ключей и переменных окружения.
Calendar — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Calendar в Claude Desktop, Claude Code или Cursor?
Открой Calendar на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Notion
Read and write pages in your workspace
автор: NotionLinear
Issues, cycles, triage — from Claude
автор: LinearGoogle Drive
Search and read your Drive files
автор: Googlemindsdb/mindsdb
Connect and unify data across various platforms and databases with [MindsDB as a single MCP server](https://docs.mindsdb.com/mcp/overview).
автор: mindsdbCompare Calendar with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории productivity
