PluginBench
MCP Server

CalDAV calendars MCP Server

io.github.ni-c/caldav-mcp

What is the CalDAV calendars MCP server?

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

How to install CalDAV calendars

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • CALDAV_URL
    required

    Root of the CalDAV server, e.g. https://dav.example.net. A calendar collection URL also works.

  • CALDAV_USERNAME

    Account name. Most hosted services want an app-specific password with it.

  • CALDAV_PASSWORD
    secret

    Password or app-specific password. Deleted from the environment once read.

  • CALDAV_TOKEN
    secret

    Bearer token, as an alternative to username and password. Not both.

  • CALDAV_CALENDARS

    Comma-separated calendars this server may touch, by path or final path segment. Default: all of them.

  • CALDAV_TIMEZONE

    IANA zone for timestamps that carry no offset, e.g. Europe/Berlin (default: UTC)

  • CALDAV_USER_EMAIL

    The address you are invited as, so respond_to_event can find your own attendee line

  • CALDAV_MAX_EVENTS

    Entries a listing returns by default, 1 to 500 (default: 100)

  • CALDAV_READ_ONLY

    Set to true to register only the read tools (default: false)

  • CALDAV_INSECURE_TLS

    Set to true to accept a self-signed certificate on the configured host only (default: false)

  • CALDAV_ALLOW_PLAINTEXT

    Set to true to allow a plain http:// URL to a host that is not loopback, which sends the credentials unencrypted (default: false)

  • CALDAV_ALLOW_TOOLS

    Comma-separated tool names or list_* prefixes to register; 'essential' selects a curated preset (default: all tools)

  • CALDAV_DENY_TOOLS

    Comma-separated tool names or list_* prefixes to remove from whatever the allow list left

  • ELICITATION

    Deliberately unprefixed, and reaches every MCP server in the environment. Set to false to make guarded tools use the two-call token instead of a dialog (default: true)

~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "caldav-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@ni-c/caldav-mcp"
      ],
      "env": {
        "CALDAV_URL": "<YOUR_CALDAV_URL>",
        "CALDAV_USERNAME": "<YOUR_CALDAV_USERNAME>",
        "CALDAV_PASSWORD": "<YOUR_CALDAV_PASSWORD>",
        "CALDAV_TOKEN": "<YOUR_CALDAV_TOKEN>",
        "CALDAV_CALENDARS": "<YOUR_CALDAV_CALENDARS>",
        "CALDAV_TIMEZONE": "<YOUR_CALDAV_TIMEZONE>",
        "CALDAV_USER_EMAIL": "<YOUR_CALDAV_USER_EMAIL>",
        "CALDAV_MAX_EVENTS": "<YOUR_CALDAV_MAX_EVENTS>",
        "CALDAV_READ_ONLY": "<YOUR_CALDAV_READ_ONLY>",
        "CALDAV_INSECURE_TLS": "<YOUR_CALDAV_INSECURE_TLS>",
        "CALDAV_ALLOW_PLAINTEXT": "<YOUR_CALDAV_ALLOW_PLAINTEXT>",
        "CALDAV_ALLOW_TOOLS": "<YOUR_CALDAV_ALLOW_TOOLS>",
        "CALDAV_DENY_TOOLS": "<YOUR_CALDAV_DENY_TOOLS>",
        "ELICITATION": "<YOUR_ELICITATION>"
      }
    }
  }
}

Related MCP servers

CACalibre-Web logo

Read-only MCP server for Calibre-Web: library search, browsing and covers via the OPDS feed

0
TypeScript
MIT
View repository →

Read and write CardDAV address books: contacts, groups and photos over the open standard

0
TypeScript
MIT
View repository →
FRFreshRSS logo

FreshRSS

Active

MCP server for FreshRSS, the self-hosted RSS feed aggregator

0
TypeScript
MIT
View repository →

MCP server for Google Search Console: properties, sitemaps, search analytics and URL inspection

0
TypeScript
MIT
View repository →
HEHealthchecks logo

Inspect, create and adjust Healthchecks cron and uptime checks, and read why one failed

0
TypeScript
MIT
View repository →
HEHetzner DNS logo

Manage DNS zones and records (zonefiles, RRSets, TTL, protection) via the Hetzner Cloud API

0
TypeScript
MIT
View repository →