Media · Local MCP server

CardDAV address books

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

Visit CardDAV address books's website

What the MCP Registry states

The entry as published to the official MCP Registry (read 2026-10-04), latest version.

Registry name
io.github.ni-c/carddav-mcp
Version
0.1.3
Status
Active
Category
media
Transport
stdio (local process)
Package
npm, OCI image (Docker)
Published
2026-09-08
Updated
2026-09-08
Publisher
ni-c (GitHub) · 18 servers with pages here
Website
carddav-mcp.ni-c.de
Repository
github.com/ni-c/carddav-mcp
Source
Registry API entry

Packages

RegistryPackageVersionTransportEnvironment variables
npm@ni-c/carddav-mcp0.1.3stdioCARDDAV_URL (required), CARDDAV_USERNAME, CARDDAV_PASSWORD (secret), CARDDAV_TOKEN (secret), CARDDAV_ADDRESSBOOKS, CARDDAV_MAX_CONTACTS, CARDDAV_READ_ONLY, CARDDAV_INSECURE_TLS, CARDDAV_ALLOW_PLAINTEXT, CARDDAV_ALLOW_TOOLS, CARDDAV_DENY_TOOLS, ELICITATION
OCI image (Docker)ghcr.io/ni-c/carddav-mcp:0.1.3—stdioCARDDAV_URL (required), CARDDAV_USERNAME, CARDDAV_PASSWORD (secret), CARDDAV_TOKEN (secret), CARDDAV_ADDRESSBOOKS, CARDDAV_MAX_CONTACTS, CARDDAV_READ_ONLY, CARDDAV_INSECURE_TLS, CARDDAV_ALLOW_PLAINTEXT, CARDDAV_ALLOW_TOOLS, CARDDAV_DENY_TOOLS, ELICITATION

How to connect CardDAV address books

CardDAV address books runs locally from a Node.js package published to the npm registry: @ni-c/carddav-mcp version 0.1.3. It speaks MCP over stdio, so the client starts it as a program and talks to it through standard input and output. It needs Node.js; clients usually start it with npx — the usual command is npx -y @ni-c/carddav-mcp@0.1.3. It reads these environment variables: CARDDAV_URL (required), CARDDAV_USERNAME, CARDDAV_PASSWORD (secret), CARDDAV_TOKEN (secret), CARDDAV_ADDRESSBOOKS, CARDDAV_MAX_CONTACTS, CARDDAV_READ_ONLY, CARDDAV_INSECURE_TLS, CARDDAV_ALLOW_PLAINTEXT, CARDDAV_ALLOW_TOOLS, CARDDAV_DENY_TOOLS and ELICITATION; set them in the client's configuration for this server.

CardDAV address books runs locally from a container image in an OCI registry such as Docker Hub or GitHub Container Registry: ghcr.io/ni-c/carddav-mcp:0.1.3. It speaks MCP over stdio, so the client starts it as a program and talks to it through standard input and output. It needs Docker or another OCI container runtime; started with docker run — the usual command is docker run -i --rm -e CARDDAV_URL -e CARDDAV_USERNAME -e CARDDAV_PASSWORD -e CARDDAV_TOKEN -e CARDDAV_ADDRESSBOOKS -e CARDDAV_MAX_CONTACTS -e CARDDAV_READ_ONLY -e CARDDAV_INSECURE_TLS -e CARDDAV_ALLOW_PLAINTEXT -e CARDDAV_ALLOW_TOOLS -e CARDDAV_DENY_TOOLS -e ELICITATION ghcr.io/ni-c/carddav-mcp:0.1.3. It reads these environment variables: CARDDAV_URL (required), CARDDAV_USERNAME, CARDDAV_PASSWORD (secret), CARDDAV_TOKEN (secret), CARDDAV_ADDRESSBOOKS, CARDDAV_MAX_CONTACTS, CARDDAV_READ_ONLY, CARDDAV_INSECURE_TLS, CARDDAV_ALLOW_PLAINTEXT, CARDDAV_ALLOW_TOOLS, CARDDAV_DENY_TOOLS and ELICITATION; set them in the client's configuration for this server.

In the mcpServers JSON format that many desktop and editor MCP clients read, the entry looks like this (placeholders in angle brackets):

{
  "mcpServers": {
    "carddav-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@ni-c/carddav-mcp@0.1.3"
      ],
      "env": {
        "CARDDAV_URL": "<value>",
        "CARDDAV_USERNAME": "<value>",
        "CARDDAV_PASSWORD": "<secret>",
        "CARDDAV_TOKEN": "<secret>",
        "CARDDAV_ADDRESSBOOKS": "<value>",
        "CARDDAV_MAX_CONTACTS": "<value>",
        "CARDDAV_READ_ONLY": "<value>",
        "CARDDAV_INSECURE_TLS": "<value>",
        "CARDDAV_ALLOW_PLAINTEXT": "<value>",
        "CARDDAV_ALLOW_TOOLS": "<value>",
        "CARDDAV_DENY_TOOLS": "<value>",
        "ELICITATION": "<value>"
      }
    }
  }
}

Derived from the registry entry, not tested here. What the server does, and on what terms, is set by its publisher; check its repository or website before giving it access to your accounts or files. How to add an MCP server to an assistant · Before you connect

More from ni-c (GitHub)

All 18 →
ServerRunsEndpoint or package
AudiobookshelfBrowse your Audiobookshelf libraries and keep listening progress, bookmarks and playlists in sync.Local · stdionpm: audiobookshelf-mcp
CalDAV calendarsRead and write CalDAV calendars: events, tasks and journal entries over the open standard.Local · stdionpm: @ni-c/caldav-mcp
Calibre-WebRead-only MCP server for Calibre-Web: library search, browsing and covers via the OPDS feed.Local · stdionpm: calibreweb-mcp
Google Search ConsoleMCP server for Google Search Console: properties, sitemaps, search analytics and URL inspection.Local · stdionpm: @ni-c/google-search-console-mcp
HealthchecksInspect, create and adjust Healthchecks cron and uptime checks, and read why one failed.Local · stdionpm: healthchecks-mcp
Hetzner DNSManage DNS zones and records (zonefiles, RRSets, TTL, protection) via the Hetzner Cloud API.Local · stdionpm: hetzner-dns-mcp
IMAP mailboxRead, search and organise any IMAP mailbox, with writes off by default.Local · stdionpm: @ni-c/imap-mcp
LinkwardenMCP server for Linkwarden, the self-hosted bookmark manager with page preservation.Local · stdionpm: linkwarden-mcp
mcp-hubMany stdio MCP servers from one container, published over HTTPS with OAuth 2.1 for any MCP client.Local · stdio, HTTPnpm: @ni-c/mcp-hub
Mealie MCP ServerMCP server for Mealie, the self-hosted recipe manager and meal planner.Local · stdionpm: @ni-c/mealie-mcp
ntfyPublish ntfy notifications, read the message cache, and manage users and topic access.Local · stdionpm: @ni-c/ntfy-mcp
OpengistRead, create, update and delete gists on a self-hosted Opengist instance.Local · stdionpm: opengist-mcp

More media servers

All 1,951 →
ServerRunsEndpoint or package
CaptionPipeOne call burns captions into your video. Hosted, prepaid, no subscription. MP4 plus SRT and VTT.Remote · HTTPapi.captionpipe.com
Capturewren: Website Screenshot API for AI Agents (Image + Text)Capturewren: screenshot any URL (banners removed) plus status, title and clean page text for agents.Remote · HTTPmcp.apify.com
Capturewren: Website Screenshot API for AI Agents (Image + Text)Capturewren: screenshot any URL (banners removed) plus status, title and clean page text for agents.Remote · HTTPmcp.apify.com
Carbon FyiVoluntary carbon market news and open carbon price data. Read-only, keyless.Remote · HTTPcarbon.fyi
CARMOTIF Automotive DesignAutomotive design reference search with filters, natural language, image retrieval, and comparison.Remote · HTTPapi.carmotif.com
CarryFeedResolve public X/Twitter profiles, posts, and media through CarryFeed.Local · stdionpm: @carryfeed/mcp
CartCutEdit video in the CartCut desktop editor: cuts from a transcript, captions, motion, effects.Local · stdionpm: @cartesiancs/cartcut-mcp
Cartridge CafeYour AI builds live WebGPU game worlds on cartridge.cafe — guest door, no account needed.Local · stdionpm: cartridge-cafe-mcp