Skip to content
Agentmart
Submit a tool

CardDAV address books

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

Connector by ni-c · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/ni-c-carddav-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

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

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Tools
10 read · 2 write · 5 delete
Secrets
2 (API keys, tokens or passwords)
Install scripts
None found
Runs as
Node.js package

Tools by what they do 17

Read from the source code; the running server may list different tools.

Read 10 · Look things up without changing anything.

  • export_contacts
  • get_contact
  • get_contact_photo
  • get_group
  • get_server_info
  • list_address_books
  • list_changes
  • list_contacts
  • list_groups
  • search_contacts

Write 2 · Create, change, send or run things.

  • create_contact
  • create_group

Delete 5 · Delete, drop, revoke or wipe things.

  • delete_contact
  • delete_group
  • move_contact
  • update_contact
  • update_group

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • CARDDAV_PASSWORD
  • CARDDAV_TOKEN

Other settings (environment variables or headers).

  • CARDDAV_ADDRESSBOOKS
  • CARDDAV_ALLOW_PLAINTEXT
  • CARDDAV_ALLOW_TOOLS
  • CARDDAV_DENY_TOOLS
  • CARDDAV_INSECURE_TLS
  • CARDDAV_MAX_CONTACTS
  • CARDDAV_READ_ONLY
  • CARDDAV_URL
  • CARDDAV_USERNAME
  • ELICITATION

Network hosts it talks to 5

  • calendarserver.org · found in code
  • carddav-mcp.ni-c.de · found in code
  • github.com · found in code
  • glama.ai · found in code
  • raw.githubusercontent.com · found in code

Tools (17)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • create_contactAdd a contact

    Adds a card to an address book. The UID and the file name are generated here. The vCard version follows what the address book accepts — 3.0 unless it says otherwise, because that is what phones and desktop clients read completely.

  • create_groupCreate a contact group

    Creates a group card and puts the named contacts in it. The convention follows whatever groups the address book already uses, because a group written the other way is invisible in the client the person is actually looking at.

  • delete_contactDelete a contactcan change or delete data

    Removes a card. Cannot be undone — a CardDAV server has no trash and no version history. Guarded by the card’s ETag, so a card changed since it was read is refused rather than deleted blind.

  • delete_groupDelete a contact groupcan change or delete data

    Removes a group card. The contacts that were in it are not touched — only the grouping goes. Cannot be undone.

  • export_contactsExport contacts as vCard textread-only

    The raw vCard text of one or more contacts, exactly as stored. The only way to see a property this server does not model, and the only way to take a backup of an address book from here.

  • get_contactRead one contact in fullread-only

    The complete card behind an id: every address, every phone number, the note, the birthday, and the names of any properties this server does not model. The free text comes back inside a fence marking it as somebody else’s writing.

  • get_contact_photoFetch a contact’s photoread-only

    Returns the photo stored on a card as an image. Only a photo embedded in the card itself — one stored as a link is reported by get_contact and never fetched, because that address was chosen by whoever wrote the card.

  • get_groupRead one group, with its membersread-only

    A group card and the contacts in it, resolved to names and ids where the members live in the same address book. A member this server cannot resolve is still reported, as the reference the card holds.

  • get_server_infoWhat the connected CardDAV server can doread-only

    Reports the DAV compliance tokens, which vCard versions each address book accepts, and whether the optional features this server relies on actually work here. The first thing to run when something behaves differently than expected — CardDAV implementations differ more than the specification suggests.

  • list_address_booksList the address booksread-only

    Every address book this server may use, with the id to pass to the other tools. Always asks the server rather than answering from a cache — being current is this tool’s whole job.

  • list_changesWhat changed in an address bookread-only

    Cards created, changed or deleted since a sync token, using RFC 6578. Call it once without a token to get the current token, then again later with it. Not every server implements this — get_server_info reports whether this one does.

  • list_contactsList contactsread-only

    Contacts in one or more address books, as short summaries: name, organisation, addresses and phone numbers, and whether a photo is present. Only the summary properties are fetched, so this stays cheap on a large address book — get_contact returns the whole card.

  • list_groupsList contact groupsread-only

    Groups in one or more address books, with how many members each has. The members themselves are not resolved here — that is one extra request per book, and get_group is where a caller has said they want the names.

  • move_contactMove a contact to another address bookcan change or delete data

    Copies a card into another address book and removes it from the first. The id changes, because an id names a card in a collection. There is no transaction behind this: the copy is verified before the original is removed.

  • search_contactsFind contactsread-only

    Finds contacts whose name, organisation, email address, phone number or note contains a term. One request per address book — CardDAV combines the fields with OR, unlike CalDAV — and the result is checked again here, because some servers filter only partially.

Show 2 more tools
  • update_contactChange a contactcan change or delete data

    Changes the fields named and leaves everything else exactly as it was — including properties this server does not model. Guarded by the card’s ETag, so a change made elsewhere in the meantime is refused rather than overwritten. A CardDAV server keeps no version history, so a person is asked first.

  • update_groupRename a group or change who is in itcan change or delete data

    Changes a group’s name or note, and adds or removes members. Removing a member removes the grouping only — the contact itself is untouched. A CardDAV server keeps no version history, so a person is asked first.

Signals

Stars
0
Forks
0
Open issues
0
Weekly downloads
200
Last commit
Oct 24, 2026 (5 days ago)
Last release
Oct 22, 2026 (6 days ago)
Last package publish
Oct 22, 2026 (6 days ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.ni-c/carddav-mcp
Version
0.1.4
Auth
API key
Packages
npm @ni-c/carddav-mcpoci ghcr.io/ni-c/carddav-mcp:0.1.4
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from ni-c

Cite this page

CardDAV address books MCP server. Agent Mart. https://agentmart.dev/connectors/ni-c-carddav-mcp (last updated 2026-10-24)