synology-calendar-mcp
Provides tools to interact with Synology Calendar (CalDAV) to list calendars, manage events and todos, including creation, updates, and deletions.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@synology-calendar-mcpwhat events do I have this week?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
synology-calendar-mcp
Claude Desktop extension that gives Claude access to the Calendar app of a Synology NAS — or to any other CalDAV server. List calendars, read events in a date range, create, change and delete appointments and todos, straight from a conversation. Ships as a single .mcpb file: install, fill in four fields, done.
Setup asks for a host name and a protocol switch, never a URL. The extension assembles the endpoint itself, which removes the single most common way to get CalDAV configuration wrong.
See also synology-contacts-mcp — the same idea for contacts over CardDAV — and github-mcp for repositories on github.com.
Features
Events — list by date range, create, update, delete; all-day and recurring events included
Todos — list (optionally filtered by status), create, update, complete, delete
No URL to get right — host name plus an HTTPS switch; ports default to the DSM values 5001 (https) and 5000 (http)
Forgiving input — a pasted
https://, a trailing path or an explicit:portare handled instead of rejectedSelf-signed certificates — one switch, no manual
NODE_TLS_REJECT_UNAUTHORIZEDfiddlingRuns locally — the server talks to your NAS directly; nothing is sent to a third party
No credentials in the package — Claude Desktop stores the password in the OS keychain
Nothing to install — Node ships with Claude Desktop, all dependencies are in the
.mcpb
Related MCP server: CalDAV MCP Server
Requirements
Claude Desktop 0.10.0 or newer (Windows, macOS, Linux)
A reachable Synology NAS with the Calendar app installed and CalDAV enabled
A DSM user account that owns the calendars
Installation
Grab
synology-calendar-1.1.3.mcpbfrom Releases, or build it yourself (see below).Claude Desktop → Settings → Extensions → Advanced settings → Install extension…, pick the file. Drag and drop onto the extensions window works too.
Fill in the fields (see next section) and enable the extension.
Ask Claude something like "which calendars do I have?".
Configuration
Field | Meaning |
NAS-Adresse | Host name or IP only, e.g. |
HTTPS verwenden | On → |
Benutzername | DSM login name of the user who owns the calendars |
Passwort | DSM password; stored in the OS keychain, never in the package |
Zertifikat prüfen | Leave off while the NAS uses its self-signed certificate. Turn on for a real certificate (e.g. Let's Encrypt). |
Zeitlimit pro Anfrage | Seconds allowed per request, default 45. Leave it alone unless the NAS is slow enough to run into it. |
The labels are German because the extension manifest is; the fields behave exactly as described above.
Tools
Tool | Purpose |
| All calendars with name and URL |
| Events in a date range |
| New event, optionally all-day or recurring |
| Change an existing event |
| Remove an event |
| Todos, optionally filtered by status |
| New todo |
| Change a todo |
| Mark a todo done |
| Remove a todo |
How it works
Claude Desktop starts
index.jswith the configured fields as environment variables.The wrapper builds
CALDAV_BASE_URLfrom host name and protocol switch and appends the CalDAV path/caldav/. ts-caldav can find that path by itself on most servers, but not on DSM: its well-known probe uses GET where DSM only answers OPTIONS, and its fallback candidates carry no trailing slash where DSM insists on one. Discovery would fall back to the bare origin, DSM serves the web UI there, and no principal is ever found.With certificate checking off,
NODE_TLS_REJECT_UNAUTHORIZED=0is set before anything connects.The bundled caldav-mcp server takes over, exposes the ten tools over stdio and answers the MCP handshake immediately. The NAS is contacted on the first tool call, not at startup.
CALDAV_BASE_URL is still honoured if you set it directly, and wins over the host name — useful for a server that lives behind a path.
Environment variables
Useful if you want to run the server standalone rather than as an extension:
Variable | Meaning |
| Host name, |
|
|
| DSM login name |
| DSM password |
|
|
| Seconds per request, default |
| Legacy: a complete endpoint URL, wins over |
node index.jsNotes & caveats
Shared calendars can be read-only. Synology hands out team calendars without write privileges in some configurations; writes then fail with HTTP 403.
The connection is opened on first use, not at startup. A wrong password or an unreachable NAS therefore surfaces as an error on the tool that needed it, and the next call tries again. Up to and including 1.1.2 the server connected before it spoke MCP, so a NAS that stayed quiet for a minute cost the whole handshake and Claude Desktop reported "Verbindung zum Erweiterungs-Server nicht möglich" — an extension that looked broken while only the NAS was slow.
Certificate checking off means exactly that. It disables TLS verification for the whole Node process. It is the right setting for a NAS with a self-signed certificate on your own LAN, and the wrong one over the open internet.
The German field labels are not a bug, just the language the manifest was written in.
DSM is slow to authenticate. The first authenticated request of a session regularly takes five seconds or more, later ones come from its session cache in milliseconds. ts-caldav hardcodes a 5000 ms timeout that caldav-mcp never overrides, so the wrapper raises it to 45 s before the server starts. The Zeitlimit pro Anfrage field changes that; it reaches the wrapper as
CALDAV_TIMEOUT, in seconds, and a blank or unparsable value falls back to 45 rather than stopping the server. A NAS that needs several seconds per request on every call is worth looking at on the DSM side — a directory-service lookup running into its own timeout produces exactly that pattern.
Building the .mcpb yourself
npm install --prefix server --omit=dev
npx @anthropic-ai/mcpb pack . synology-calendar-1.1.3.mcpbserver/ holds the caldav-mcp package; only its node_modules are left out of this repository. Two files differ from upstream: server/dist/index.js builds the CalDAV client lazily instead of before the MCP handshake, and server/dist/tools/list-calendars.js fetches the calendar list per call instead of once at registration. Both changes are commented in place. To move to a newer caldav-mcp, replace the contents of server/, re-apply those two changes and bump the version in manifest.json.
Credits
Built around caldav-mcp by Dominik Grusemann (MIT), bundled with the two startup changes described under Building the .mcpb yourself.
Support this project ❤️
If this extension saved you time, you can support further development:

License
This project is licensed under the MIT License — © 2026 Thomas Weirich.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityCmaintenanceEnables Claude to interact with Google Calendar through natural language, providing the ability to view, create, update, and delete calendar events with persistent OAuth2 authentication.Last updated7MIT
- Flicense-qualityFmaintenanceEnables interaction with any CalDAV-compatible calendar server (Yandex, Google, Nextcloud, iCloud, etc.) to list calendars, create/manage events with reminders and attendees, search events, and handle recurring events through natural language.Last updated13
- FlicenseAqualityDmaintenanceConnects Daylite CRM to Claude Code via the CalDAV interface to manage tasks and appointments. It enables users to list, create, update, and delete calendar events and to-dos directly through natural language.Last updated111
- Flicense-qualityBmaintenanceEnables LLM clients to interact with Apple Calendar (iCloud) via CalDAV, supporting listing calendars, retrieving, creating, updating, and moving events.Last updated
Related MCP Connectors
Calendar API for AI agents: events, availability, Google/Microsoft setup, scheduling, and iCal.
Connects ChatGPT to your Apple Calendar via a local Mac agent + Vercel relay
Schedule and manage Google Calendar events directly from your workspace. Check availability, view…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sorglos-it/synology-calendar-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server