MCP Hub › Developer Tools › CardDAV address books

CardDAV address books MCP server

by ni-c · io.github.ni-c/carddav-mcp

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

🛠 Developer ToolsDockernpmv0.1.4
Open in MCP HubGitHub repository ↗Website ↗

How to install CardDAV address books

npm

claude mcp add -e CARDDAV_URL=<your-carddav-url> carddav-mcp -- npx -y @ni-c/[email protected]

Or add it to your MCP config (Claude Desktop, Cursor, VS Code):

{
  "mcpServers": {
    "carddav-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@ni-c/[email protected]"
      ],
      "env": {
        "CARDDAV_URL": "<your-carddav-url>"
      }
    }
  }
}

Environment variables:
CARDDAV_URL (required) – Root of the CardDAV server, e.g. https://dav.example.net. An address book collection URL also works.
CARDDAV_USERNAME – Account name. Most hosted services want an app-specific password with it.
CARDDAV_PASSWORD – Password or app-specific password. Deleted from the environment once read.
CARDDAV_TOKEN – Bearer token, as an alternative to username and password. Not both.
CARDDAV_ADDRESSBOOKS – Comma-separated address books this server may touch, by path or final path segment. Default: all of them.
CARDDAV_MAX_CONTACTS – Contacts a listing returns by default, 1 to 500 (default: 100)
CARDDAV_READ_ONLY – Set to true to register only the read tools (default: false)
CARDDAV_INSECURE_TLS – Set to true to accept a self-signed certificate on the configured host only (default: false)
CARDDAV_ALLOW_PLAINTEXT – Set 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_TOOLS – Comma-separated tool names or list_* prefixes to register; 'essential' selects a curated preset (default: all tools)
CARDDAV_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)

Docker

claude mcp add -e CARDDAV_URL=<your-carddav-url> carddav-mcp -- docker run -i --rm ghcr.io/ni-c/carddav-mcp:0.1.4

Or add it to your MCP config (Claude Desktop, Cursor, VS Code):

{
  "mcpServers": {
    "carddav-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/ni-c/carddav-mcp:0.1.4"
      ],
      "env": {
        "CARDDAV_URL": "<your-carddav-url>"
      }
    }
  }
}

Environment variables:
CARDDAV_URL (required) – Root of the CardDAV server, e.g. https://dav.example.net. An address book collection URL also works.
CARDDAV_USERNAME – Account name. Most hosted services want an app-specific password with it.
CARDDAV_PASSWORD – Password or app-specific password. Deleted from the environment once read.
CARDDAV_TOKEN – Bearer token, as an alternative to username and password. Not both.
CARDDAV_ADDRESSBOOKS – Comma-separated address books this server may touch, by path or final path segment. Default: all of them.
CARDDAV_MAX_CONTACTS – Contacts a listing returns by default, 1 to 500 (default: 100)
CARDDAV_READ_ONLY – Set to true to register only the read tools (default: false)
CARDDAV_INSECURE_TLS – Set to true to accept a self-signed certificate on the configured host only (default: false)
CARDDAV_ALLOW_PLAINTEXT – Set 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_TOOLS – Comma-separated tool names or list_* prefixes to register; 'essential' selects a curated preset (default: all tools)
CARDDAV_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)

Replace placeholders in <angle brackets> with your own values. Review what a server can access before you enable it.

Details

Version
0.1.4
Published
2026-10-22
Updated
2026-10-22
Namespace
io.github.ni-c
Source
ni-c/carddav-mcp

Similar developer tools servers