CalDAV calendars
Read and write CalDAV calendars: events, tasks and journal entries over the open standard
The current version, v0.1.5, was published to the official MCP registry on 2026-10-13. It is distributed as @ni-c/caldav-mcp on npm and as the Docker image ghcr.io/ni-c/caldav-mcp:0.1.5, filed under Calendar & Time by this index, and declares 14 environment variables. Removals and unreachable sources are measured across every server this index tracks, contract drift across the servers that answer in consecutive snapshots; the index's current counts put this record in context.
Using CalDAV calendars in Claude, Cursor, Gemini CLI, Cline, or Zed?
MCP tool contracts can change remotely with no version bump. The mcpindex gate pins each contract and HOLDs the call when it drifts-before your agent acts. Zero credentials. This is not the package install for this server itself (use Install this server for that).
Rewrites your MCP host config so each server launches behind the gate. Inspect first: curl -fsSL https://mcpindex.ai/install.sh | less
uv tool install mcpindex-gate && mcpindex-config-wireSemantic screen found no manipulation pattern in the description. Conformance probe not yet run.
mcpindex.integrity.descriptionpassINFOevidence“Normal capability description”via static_description
- - Semantic screen only - the deterministic conformance probe has not run on this server
- - Confidence is reported but not yet calibrated (v1)
- - Screen reads the tool description, not the live behavior
- - advisory
- - registry description only no input schema
- - screen model 8b
- - Still current: the description we screened is unchanged, re-checked against the registry
- - The registry listing (version, packages, links) changed after this screen ran - the description we assessed did not
Semantic screen: an LLM judge reads the tool description for hidden instructions (status PARTIAL). A pass means the description is not lying, not that the tool is safe: a high-capability tool with an honest description still warrants caution. The deterministic conformance probe has not been run on this server yet, so the screen here is semantic-only. Posture: advisory. Confidences are reported but not yet calibrated (calibrated=false at v1). Full verdict history is not shown on this page.
Own this server? Test a description on the public screen → It is a separate check from the verdict above, so the two can differ.
That verdict was true at screening time (snapshot 2026-10-30).
Contracts can change after screening, with no version bump. The gate pins CalDAV calendars’s tool contracts on first sight and holds any silent change before your agent acts - the check that keeps being true on Tuesday.
See your first HOLD in 2 minutes →
Related: how to trust an MCP server · screen before install · silent contract drift
People vet a server before wiring it in. One line on your project site or docs answers that with an independent record: screening verdict, registry provenance, contract drift history. It stays current as new screens and drift events land.
[Independent trust record for CalDAV calendars](https://mcpindex.ai/server/io-github-ni-c-caldav-mcp) - screening verdict, registry provenance, and contract drift monitoring.<a href="https://mcpindex.ai/server/io-github-ni-c-caldav-mcp">Independent trust record for CalDAV calendars</a> - screening verdict, registry provenance, and contract drift monitoring.A live verdict badge for your README or listing. It reflects the current screen, links back here, and updates when the verdict does.
[](https://mcpindex.ai/server/io-github-ni-c-caldav-mcp)<a href="https://mcpindex.ai/server/io-github-ni-c-caldav-mcp"><img src="https://mcpindex.ai/api/v1/badge/io-github-ni-c-caldav-mcp" alt="mcpindex verdict" height="20" /></a>CALDAV_URLRoot of the CalDAV server, e.g. https://dav.example.net. A calendar collection URL also works.
CALDAV_USERNAMEAccount name. Most hosted services want an app-specific password with it.
CALDAV_PASSWORDPassword or app-specific password. Deleted from the environment once read.
CALDAV_TOKENBearer token, as an alternative to username and password. Not both.
CALDAV_CALENDARSComma-separated calendars this server may touch, by path or final path segment. Default: all of them.
CALDAV_TIMEZONEIANA zone for timestamps that carry no offset, e.g. Europe/Berlin (default: UTC)
CALDAV_USER_EMAILThe address you are invited as, so respond_to_event can find your own attendee line
CALDAV_MAX_EVENTSEntries a listing returns by default, 1 to 500 (default: 100)
CALDAV_READ_ONLYSet to true to register only the read tools (default: false)
CALDAV_INSECURE_TLSSet to true to accept a self-signed certificate on the configured host only (default: false)
CALDAV_ALLOW_PLAINTEXTSet to true to allow a plain http:// URL to a host that is not loopback, which sends the credentials unencrypted (default: false)
CALDAV_ALLOW_TOOLSComma-separated tool names or list_* prefixes to register; 'essential' selects a curated preset (default: all tools)
CALDAV_DENY_TOOLSComma-separated tool names or list_* prefixes to remove from whatever the allow list left
ELICITATIONDeliberately 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)
CALDAV_URLRoot of the CalDAV server, e.g. https://dav.example.net. A calendar collection URL also works.
CALDAV_USERNAMEAccount name. Most hosted services want an app-specific password with it.
CALDAV_PASSWORDPassword or app-specific password. Deleted from the environment once read.
CALDAV_TOKENBearer token, as an alternative to username and password. Not both.
CALDAV_CALENDARSComma-separated calendars this server may touch, by path or final path segment. Default: all of them.
CALDAV_TIMEZONEIANA zone for timestamps that carry no offset, e.g. Europe/Berlin (default: UTC)
CALDAV_USER_EMAILThe address you are invited as, so respond_to_event can find your own attendee line
CALDAV_MAX_EVENTSEntries a listing returns by default, 1 to 500 (default: 100)
CALDAV_READ_ONLYSet to true to register only the read tools (default: false)
CALDAV_INSECURE_TLSSet to true to accept a self-signed certificate on the configured host only (default: false)
CALDAV_ALLOW_PLAINTEXTSet to true to allow a plain http:// URL to a host that is not loopback, which sends the credentials unencrypted (default: false)
CALDAV_ALLOW_TOOLSComma-separated tool names or list_* prefixes to register; 'essential' selects a curated preset (default: all tools)
CALDAV_DENY_TOOLSComma-separated tool names or list_* prefixes to remove from whatever the allow list left
ELICITATIONDeliberately 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)
Hire AI workers that run on schedule, report back and act with your OK. Or deploy private models.
Write and schedule social posts in your brand's voice on LinkedIn, X, Bluesky, Mastodon and more
Freelance invoice ops MCP — overdue status, tone suggestion, and reminder drafts