CardDAV address books runs on your own machine — the client starts it, so there is no endpoint to ping. 200 installs a week from npm. Last commit 24 Oct 2026.
Read and write CardDAV address books: contacts, groups and photos over the open standard
Today is the operative word: we check CardDAV address books every 15 minutes and re-read its code on every release. Watch it and you find out the day that stops being true.
This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.
claude mcp add carddav-mcp -e 'CARDDAV_URL=<CARDDAV_URL>' -- npx -y @ni-c/carddav-mcp
{
"mcpServers": {
"carddav-mcp": {
"command": "npx",
"args": [
"-y",
"@ni-c/carddav-mcp"
],
"env": {
"CARDDAV_URL": "<CARDDAV_URL>"
}
}
}
}
[mcp_servers.carddav-mcp]
command = "npx"
args = ["-y", "@ni-c/carddav-mcp"]
env = { CARDDAV_URL = "<CARDDAV_URL>" }
{
"mcpServers": {
"carddav-mcp": {
"command": "npx",
"args": [
"-y",
"@ni-c/carddav-mcp"
],
"env": {
"CARDDAV_URL": "<CARDDAV_URL>"
}
}
}
}
{
"servers": {
"carddav-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@ni-c/carddav-mcp"
],
"env": {
"CARDDAV_URL": "<CARDDAV_URL>"
}
}
}
}
Put your own value in place of
<CARDDAV_URL> (Root of the CardDAV server, e.g. https://dav.example.net. An address book collection URL also works).
The author’s registry entry marks it as required.
Optional settings from the registry entry, left out of the block above:
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)).
Read and write CalDAV calendars: events, tasks and journal entries over the open standard
Microsoft Contacts MCP server — read and manage your address book through Microsoft Graph.
Read and write Less Annoying CRM contacts, notes, tasks, events, pipelines and groups.
Read-only MCP server for the OpenAI Ads API: campaigns, ad groups, ads, and insights.
Read CRM contact groups and manage contacts on ICTCRM (ICTContact backend).
Read-only-by-default MCP server for iCloud mail, calendar, and contacts (IMAP/CalDAV/CardDAV).
Read and write typed fictional worlds (22 linked element types) via the OnlyWorlds open standard.
Rafe Blandford's published career, case studies and writing. Read-only; no route to contact him.
Answers built from our own checks of this server.