listCalendarsLABSCO SUMMARY
An app password, not your Nextcloud login.
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.
What it is
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.
What you get
- 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
Requirements
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.
Setup effort
One command plus a key — npx mcp-nextcloud-calendar, then supply credentials
USE CASES
Asking what is on this week
List the calendars you can reach, then pull events for the one you mean over the date range you asked about.
Adding something to the calendar from a conversation
Create the event with summary, start, end, description and location in one call, in the calendar you name.
Moving a meeting
Fetch the event by id to see what it currently says, then update only the properties that changed.
Setting up a new calendar
Create it with a colour, a category and a focus priority, so an assistant can tell your calendars apart later.
9 tools
Listed in project docs. Your client may show a different list.
createCalendarupdateCalendardeleteCalendarlistEventsgetEventcreateEventupdateEventdeleteEventBEFORE YOU INSTALL
What to know first
Tools you get
9 tools named in the project's documentation.
Requires
- npx on PATH
- NEXTCLOUD_APP_TOKEN in your environment
- NEXTCLOUD_BASE_URL in your environment
- NEXTCLOUD_USERNAME in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
npx mcp-nextcloud-calendarMCP Clients
Claude Desktop
{
"mcpServers": {
"nextcloud-calendar": {
"command": "npx",
"args": [
"-y",
"mcp-nextcloud-calendar"
],
"env": {
"NEXTCLOUD_BASE_URL": "<YOUR_NEXTCLOUD_BASE_URL>",
"NEXTCLOUD_USERNAME": "<YOUR_NEXTCLOUD_USERNAME>",
"NEXTCLOUD_APP_TOKEN": "<YOUR_NEXTCLOUD_APP_TOKEN>"
}
}
}
}