Productivity · Local MCP server

CalDAV calendars

Read and write CalDAV calendars: events, tasks and journal entries over the open standard.

Visit CalDAV calendars's website

What the MCP Registry states

The entry as published to the official MCP Registry (read 2026-10-04), latest version.

Registry name
io.github.ni-c/caldav-mcp
Version
0.1.4
Status
Active
Category
productivity
Transport
stdio (local process)
Package
npm, OCI image (Docker)
Published
2026-09-08
Updated
2026-09-08
Publisher
ni-c (GitHub) · 18 servers with pages here
Website
caldav-mcp.ni-c.de
Repository
github.com/ni-c/caldav-mcp
Source
Registry API entry

Packages

RegistryPackageVersionTransportEnvironment variables
npm@ni-c/caldav-mcp0.1.4stdioCALDAV_URL (required), CALDAV_USERNAME, CALDAV_PASSWORD (secret), CALDAV_TOKEN (secret), CALDAV_CALENDARS, CALDAV_TIMEZONE, CALDAV_USER_EMAIL, CALDAV_MAX_EVENTS, CALDAV_READ_ONLY, CALDAV_INSECURE_TLS, CALDAV_ALLOW_PLAINTEXT, CALDAV_ALLOW_TOOLS, CALDAV_DENY_TOOLS, ELICITATION
OCI image (Docker)ghcr.io/ni-c/caldav-mcp:0.1.4—stdioCALDAV_URL (required), CALDAV_USERNAME, CALDAV_PASSWORD (secret), CALDAV_TOKEN (secret), CALDAV_CALENDARS, CALDAV_TIMEZONE, CALDAV_USER_EMAIL, CALDAV_MAX_EVENTS, CALDAV_READ_ONLY, CALDAV_INSECURE_TLS, CALDAV_ALLOW_PLAINTEXT, CALDAV_ALLOW_TOOLS, CALDAV_DENY_TOOLS, ELICITATION

How to connect CalDAV calendars

CalDAV calendars runs locally from a Node.js package published to the npm registry: @ni-c/caldav-mcp version 0.1.4. It speaks MCP over stdio, so the client starts it as a program and talks to it through standard input and output. It needs Node.js; clients usually start it with npx — the usual command is npx -y @ni-c/caldav-mcp@0.1.4. It reads these environment variables: CALDAV_URL (required), CALDAV_USERNAME, CALDAV_PASSWORD (secret), CALDAV_TOKEN (secret), CALDAV_CALENDARS, CALDAV_TIMEZONE, CALDAV_USER_EMAIL, CALDAV_MAX_EVENTS, CALDAV_READ_ONLY, CALDAV_INSECURE_TLS, CALDAV_ALLOW_PLAINTEXT, CALDAV_ALLOW_TOOLS, CALDAV_DENY_TOOLS and ELICITATION; set them in the client's configuration for this server.

CalDAV calendars runs locally from a container image in an OCI registry such as Docker Hub or GitHub Container Registry: ghcr.io/ni-c/caldav-mcp:0.1.4. It speaks MCP over stdio, so the client starts it as a program and talks to it through standard input and output. It needs Docker or another OCI container runtime; started with docker run — the usual command is docker run -i --rm -e CALDAV_URL -e CALDAV_USERNAME -e CALDAV_PASSWORD -e CALDAV_TOKEN -e CALDAV_CALENDARS -e CALDAV_TIMEZONE -e CALDAV_USER_EMAIL -e CALDAV_MAX_EVENTS -e CALDAV_READ_ONLY -e CALDAV_INSECURE_TLS -e CALDAV_ALLOW_PLAINTEXT -e CALDAV_ALLOW_TOOLS -e CALDAV_DENY_TOOLS -e ELICITATION ghcr.io/ni-c/caldav-mcp:0.1.4. It reads these environment variables: CALDAV_URL (required), CALDAV_USERNAME, CALDAV_PASSWORD (secret), CALDAV_TOKEN (secret), CALDAV_CALENDARS, CALDAV_TIMEZONE, CALDAV_USER_EMAIL, CALDAV_MAX_EVENTS, CALDAV_READ_ONLY, CALDAV_INSECURE_TLS, CALDAV_ALLOW_PLAINTEXT, CALDAV_ALLOW_TOOLS, CALDAV_DENY_TOOLS and ELICITATION; set them in the client's configuration for this server.

In the mcpServers JSON format that many desktop and editor MCP clients read, the entry looks like this (placeholders in angle brackets):

{
  "mcpServers": {
    "caldav-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@ni-c/caldav-mcp@0.1.4"
      ],
      "env": {
        "CALDAV_URL": "<value>",
        "CALDAV_USERNAME": "<value>",
        "CALDAV_PASSWORD": "<secret>",
        "CALDAV_TOKEN": "<secret>",
        "CALDAV_CALENDARS": "<value>",
        "CALDAV_TIMEZONE": "<value>",
        "CALDAV_USER_EMAIL": "<value>",
        "CALDAV_MAX_EVENTS": "<value>",
        "CALDAV_READ_ONLY": "<value>",
        "CALDAV_INSECURE_TLS": "<value>",
        "CALDAV_ALLOW_PLAINTEXT": "<value>",
        "CALDAV_ALLOW_TOOLS": "<value>",
        "CALDAV_DENY_TOOLS": "<value>",
        "ELICITATION": "<value>"
      }
    }
  }
}

Derived from the registry entry, not tested here. What the server does, and on what terms, is set by its publisher; check its repository or website before giving it access to your accounts or files. How to add an MCP server to an assistant · Before you connect

More from ni-c (GitHub)

ServerRunsEndpoint or package
AudiobookshelfBrowse your Audiobookshelf libraries and keep listening progress, bookmarks and playlists in sync.Local · stdionpm: audiobookshelf-mcp
Calibre-WebRead-only MCP server for Calibre-Web: library search, browsing and covers via the OPDS feed.Local · stdionpm: calibreweb-mcp
CardDAV address booksRead and write CardDAV address books: contacts, groups and photos over the open standard.Local · stdionpm: @ni-c/carddav-mcp
Google Search ConsoleMCP server for Google Search Console: properties, sitemaps, search analytics and URL inspection.Local · stdionpm: @ni-c/google-search-console-mcp
HealthchecksInspect, create and adjust Healthchecks cron and uptime checks, and read why one failed.Local · stdionpm: healthchecks-mcp
Hetzner DNSManage DNS zones and records (zonefiles, RRSets, TTL, protection) via the Hetzner Cloud API.Local · stdionpm: hetzner-dns-mcp
IMAP mailboxRead, search and organise any IMAP mailbox, with writes off by default.Local · stdionpm: @ni-c/imap-mcp
LinkwardenMCP server for Linkwarden, the self-hosted bookmark manager with page preservation.Local · stdionpm: linkwarden-mcp
mcp-hubMany stdio MCP servers from one container, published over HTTPS with OAuth 2.1 for any MCP client.Local · stdio, HTTPnpm: @ni-c/mcp-hub
Mealie MCP ServerMCP server for Mealie, the self-hosted recipe manager and meal planner.Local · stdionpm: @ni-c/mealie-mcp
ntfyPublish ntfy notifications, read the message cache, and manage users and topic access.Local · stdionpm: @ni-c/ntfy-mcp
OpengistRead, create, update and delete gists on a self-hosted Opengist instance.Local · stdionpm: opengist-mcp

More productivity servers

All 3,040 →
ServerRunsEndpoint or package
Cairn RemembersLocal memory your AI tools share: decisions, notes and corrections that carry across sessions.Local · stdioPyPI: cairn-remembers
CaktoRead your Cakto sales: orders, revenue analytics, subscriptions, churn, customers and products.Remote · HTTPapi.mcp.ai
cal-schedulerTimezone-correct CalDAV scheduling MCP server with validated recurrence and single-occurrence edits.Local · stdioPyPI: cal-scheduler-mcp
CalafRun your Calaf recruiting book from chat: firms, people, pipeline, calendar, notes, and prep.Remote · HTTPcalaf.ai
Caldav MCPCalDAV calendar operations (list, create, update, delete events) as MCP tools.Local · stdionpm: caldav-mcp
CalendarTime zone and calendar helper: meeting slots across countries, DST checks,.ics invites.Local · stdioMCP Bundle (.mcpb): theluckystrike/mcp-servers/releases/download/v0.
Calendar Agent by Nova (CIVAI)I do everything related to calendar scheduling.Remote · HTTPnova.civai.co
Calendar BridgeConnects ChatGPT to your Apple Calendar via a local Mac agent + Vercel relay.Remote · HTTPcalendarbridge.vercel.app