CardDAV address books MCP Server
by ni-cio.github.ni-c/carddav-mcpv0.1.3
Contacts, groups and photos on any CardDAV server (Radicale, Baikal, Nextcloud, Fastmail, iCloud), with ETag-guarded writes and an address book allowlist.
context tax
queued
security
queued
cold start
queued
freshness
Active4d ago
Install CardDAV address books MCP server
Install in Claude Code
claude mcp add carddav -e CARDDAV_URL='<carddav-url>' -e CARDDAV_PASSWORD='<carddav-password>' -e CARDDAV_TOKEN='<carddav-token>' -- npx -y @ni-c/carddav-mcpInstall in Cursor
{
"mcpServers": {
"carddav": {
"command": "npx",
"args": [
"-y",
"@ni-c/carddav-mcp"
],
"env": {
"CARDDAV_URL": "<carddav-url>",
"CARDDAV_PASSWORD": "<carddav-password>",
"CARDDAV_TOKEN": "<carddav-token>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).
Install in Claude Desktop
{
"mcpServers": {
"carddav": {
"command": "npx",
"args": [
"-y",
"@ni-c/carddav-mcp"
],
"env": {
"CARDDAV_URL": "<carddav-url>",
"CARDDAV_PASSWORD": "<carddav-password>",
"CARDDAV_TOKEN": "<carddav-token>"
}
}
}
}Settings → Developer → Edit Config (claude_desktop_config.json), then restart.
Install in VS Code
{
"servers": {
"carddav": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@ni-c/carddav-mcp"
],
"env": {
"CARDDAV_URL": "<carddav-url>",
"CARDDAV_PASSWORD": "<carddav-password>",
"CARDDAV_TOKEN": "<carddav-token>"
}
}
}
}Add to .vscode/mcp.json in your workspace.
Install in Windsurf
{
"mcpServers": {
"carddav": {
"command": "npx",
"args": [
"-y",
"@ni-c/carddav-mcp"
],
"env": {
"CARDDAV_URL": "<carddav-url>",
"CARDDAV_PASSWORD": "<carddav-password>",
"CARDDAV_TOKEN": "<carddav-token>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json.
Configuration
| Variable | Required | Secret | Description |
|---|---|---|---|
| CARDDAV_URL | yes | — | 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 | — | yes | Password or app-specific password. Deleted from the environment once read. |
| CARDDAV_TOKEN | — | yes | 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) |
Freshness
Active — last maintenance signal 4d ago. The newest of the signals below sets the band.
Last commit (default branch)
2026-10-06 · 4d ago · GitHub
Latest release
2026-09-08 · 31d ago · GitHub · v0.1.3
Package published
no data · npm/PyPI
Registry entry updated
2026-09-08 · 31d ago · official registry · v0.1.3
FAQ
›How do I install the CardDAV address books MCP server in Claude Code?
Run: claude mcp add carddav -e CARDDAV_URL='<carddav-url>' -e CARDDAV_PASSWORD='<carddav-password>' -e CARDDAV_TOKEN='<carddav-token>' -- npx -y @ni-c/carddav-mcp. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.
›Does CardDAV address books require an API key?
Yes. It expects CARDDAV_URL, CARDDAV_PASSWORD, CARDDAV_TOKEN, of which 2 are secrets.
›Can I use CardDAV address books as a remote (hosted) MCP server?
No hosted endpoint is published; it runs locally over stdio.
›Is CardDAV address books in the official MCP registry?
Yes, as io.github.ni-c/carddav-mcp.
Alternatives to CardDAV address books
Other communication MCP servers.