The calendar write tools inherit Nextcloud's own permission model, so updateCalendar and deleteCalendar can fail on an instance where your account lacks those rights — worth testing on one calendar before pointing an agent at the lot. The package is early: the project marks the 0.1.x line as one where tools may change.
A TypeScript server over a Nextcloud instance's calendars. Nine tools across calendar and event management, served over Streamable HTTP with a legacy HTTP and SSE path alongside it.
- Every accessible calendar listed — listCalendars
- Calendars created, updated and deleted, with display name, colour, category and focus priority — createCalendar, updateCalendar, deleteCalendar
- Events for a calendar over an optional date range, and one event fetched by id — listEvents, getEvent
- Events created with summary, start, end, and optional description and location — createEvent
- Events updated and deleted — updateEvent, deleteEvent
- A /health endpoint and a plain GET /api/calendars listing alongside the MCP endpoint
NEXTCLOUD_BASE_URL, NEXTCLOUD_USERNAME and NEXTCLOUD_APP_TOKEN — create the token under Settings, Security, App Passwords rather than using your login password. Run it with npx mcp-nextcloud-calendar. PORT (default 3001), SERVER_NAME and KEEP_ALIVE_INTERVAL (default 30000) are optional.
One command plus a key — npx mcp-nextcloud-calendar, then supply credentials
