CardDAV address books
Read and write CardDAV address books: contacts, groups and photos over the open standard
The current version, v0.1.0, was published to the official MCP registry on 2026-09-06. It is distributed as @ni-c/carddav-mcp on npm and as the Docker image ghcr.io/ni-c/carddav-mcp:0.1.0, filed under Other by this index, and declares 12 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 CardDAV address books 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-wireVerdict not yet evaluated for this tool. The semantic screen takes adversarial cases first; coverage rolls out as the corpus expands (15/150 labels to graduation). The deterministic conformance probe is built but has not yet run on the public corpus, so a recorded verdict here is REVIEW or UNVERIFIED, never a clearing ALLOW. Until a verdict is recorded, an agent should treat this tool as not-yet-cleared and fall back to its own checks. Method: the eval, four-state verdict, honest limits.
Own this server? Screen its description →
That verdict was true at screening time (snapshot 2026-09-06).
Contracts can change after screening, with no version bump. The gate pins CardDAV address books’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
CARDDAV_URLRoot of the CardDAV server, e.g. https://dav.example.net. An address book collection URL also works.
CARDDAV_USERNAMEAccount name. Most hosted services want an app-specific password with it.
CARDDAV_PASSWORDPassword or app-specific password. Deleted from the environment once read.
CARDDAV_TOKENBearer token, as an alternative to username and password. Not both.
CARDDAV_ADDRESSBOOKSComma-separated address books this server may touch, by path or final path segment. Default: all of them.
CARDDAV_MAX_CONTACTSContacts a listing returns by default, 1 to 500 (default: 100)
CARDDAV_READ_ONLYSet to true to register only the read tools (default: false)
CARDDAV_INSECURE_TLSSet to true to accept a self-signed certificate on the configured host only (default: false)
CARDDAV_ALLOW_PLAINTEXTSet to true to allow a plain http:// URL to a host that is not loopback, which sends the credentials and every contact unencrypted (default: false)
CARDDAV_ALLOW_TOOLSComma-separated tool names or list_* prefixes to register; 'essential' selects a curated preset (default: all tools)
CARDDAV_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)
CARDDAV_URLRoot of the CardDAV server, e.g. https://dav.example.net. An address book collection URL also works.
CARDDAV_USERNAMEAccount name. Most hosted services want an app-specific password with it.
CARDDAV_PASSWORDPassword or app-specific password. Deleted from the environment once read.
CARDDAV_TOKENBearer token, as an alternative to username and password. Not both.
CARDDAV_ADDRESSBOOKSComma-separated address books this server may touch, by path or final path segment. Default: all of them.
CARDDAV_MAX_CONTACTSContacts a listing returns by default, 1 to 500 (default: 100)
CARDDAV_READ_ONLYSet to true to register only the read tools (default: false)
CARDDAV_INSECURE_TLSSet to true to accept a self-signed certificate on the configured host only (default: false)
CARDDAV_ALLOW_PLAINTEXTSet to true to allow a plain http:// URL to a host that is not loopback, which sends the credentials and every contact unencrypted (default: false)
CARDDAV_ALLOW_TOOLSComma-separated tool names or list_* prefixes to register; 'essential' selects a curated preset (default: all tools)
CARDDAV_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)
Buy travel eSIMs, gift cards and mobile top-ups with crypto — user confirms before any order.
Give your AI agent a spending limit: approval controls and single-use virtual cards.
MCP server for FreshRSS, the self-hosted RSS feed aggregator