Dav MCP server
AI-orchestrated calendars, contacts & tasks across any DAV platform. 27 tools, field-agnostic.
34 stars123 downloads/wk
Reviews
Write oneNobody has reviewed Dav yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Dav tools (27, 16 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
addressbook_multi_getBatch fetch multiple specific contacts by their URLs. Use when you have exact contact URLs and want to retrieve their details
addressbook_querywrite action⭐ PREFERRED: Search and filter contacts efficiently (name, email, organization). Use for "find contacts with...", "search for email...", "contacts at company..." queries. Use instead of list_contacts when ANY filter is specified. Omit addressbook_url to search across ALL addressbooks automatically.
calendar_multi_getBatch fetch multiple specific calendar events by their URLs. Use when you have exact event URLs and want to retrieve their details
calendar_query⭐ PREFERRED: Search and filter calendar events efficiently. Use instead of list_events to avoid loading thousands of entries. Omit calendar_url to search across ALL calendars automatically.
create_contactwrite actionCreate a new contact (vCard) with name, email, phone, organization, and other details
create_eventwrite actionCreate a new calendar event with title, date, time, optional description and location
create_todowrite actionCreate a new todo/task in a calendar. Use this when user wants to add a task, todo item, or reminder with optional due date, priority, and status.
delete_calendarwrite actionPermanently delete a calendar and all its events. WARNING: This action cannot be undone! Use this when user explicitly asks to "delete calendar" or "remove calendar"
delete_contactwrite actionPermanently delete a contact (vCard) from the address book. WARNING: This action cannot be undone — the contact is removed from the server immediately. Use only when the user explicitly requests deletion. Obtain the vCard URL and etag from list_contacts or addressbook_query first. The etag ensures no conflicting changes occurred since the contact was last retrieved.
delete_eventwrite actionPermanently delete a calendar event. WARNING: This action cannot be undone — the event is removed from the server immediately. Use only when the user explicitly requests deletion. Obtain the event URL and etag from list_events or calendar_query first. The etag ensures no conflicting changes occurred since the event was last retrieved.
delete_todowrite actionPermanently delete a todo/task from the calendar. WARNING: This action cannot be undone — the todo is removed from the server immediately. Use only when the user explicitly requests deletion. Obtain the todo URL and etag from list_todos or todo_query first. The etag ensures no conflicting changes occurred since the todo was last retrieved.
freebusy_queryFind free and busy time in a date range — use for "when am I free?", "am I available Tuesday afternoon?" or finding a slot for a new meeting. Searches all calendars unless one is given. Events marked TRANSPARENT (does not block time) and cancelled events are ignored; recurring events are expanded.
list_addressbooksList all available address books from the CardDAV server. Use this to get address book URLs needed for other contact operations
list_calendarsList all available calendars from the CalDAV server. Use this to get calendar URLs needed for other operations
list_contactsList ALL contacts from an address book without filtering. WARNING: Returns all contacts which can be thousands - use addressbook_query instead when searching for specific contacts by name, email, or organization to save tokens
list_eventsList ALL events from a single calendar without filtering. WARNING: Returns all events which can be many thousands - use calendar_query instead for searching with filters (supports multi-calendar search).
list_todosList ALL todos/tasks from a calendar. WARNING: Returns all todos without filtering - use todo_query for searches with filters by status, summary, or due date.
make_calendarwrite actionCreate a new calendar collection on the CalDAV server with optional color, description, timezone, and component types
todo_multi_getBatch fetch multiple specific todos by their URLs. More efficient than fetching one by one when you have exact todo URLs.
todo_query⭐ PREFERRED: Search and filter todos efficiently. Use instead of list_todos to conserve tokens. Omit calendar_url to search across ALL calendars automatically.
update_calendarwrite actionUpdate an existing calendar's properties (display name, description, color, timezone). Use this when user asks to "rename calendar", "change calendar color", or "update calendar properties"
update_contactwrite actionPREFERRED: Update contact fields without vCard formatting. Supports: FN (full name), N (structured name), EMAIL, TEL (phone), ORG (organization), TITLE (job title), NOTE, URL, ADR (address), BDAY (birthday), and any RFC 6350 vCard property including custom X-* properties.
update_contact_rawwrite actionADVANCED: Update contact with raw vCard data. Requires manual vCard formatting - use update_contact instead for simple field updates (name, email, phone). Only use this if you have complete pre-formatted vCard data or need to update advanced vCard properties.
update_eventwrite actionPREFERRED: Update event fields without iCal formatting. Use start_date/end_date/all_day to move an event or convert it between all-day and timed. Use fields for everything else: SUMMARY (title), DESCRIPTION (details), LOCATION (place), STATUS (TENTATIVE/CONFIRMED/CANCELLED), and any other RFC 5545 property including custom X-* properties (e.g., X-ZOOM-LINK, X-MEETING-ROOM).
update_event_rawwrite actionADVANCED: Update event with raw iCal data. Requires manual iCal formatting - use update_event instead for simple field updates (summary, description). Only use this if you have complete pre-formatted iCal data or need to update advanced iCal properties.
update_todowrite actionPREFERRED: Update todo fields without iCal formatting. Supports: SUMMARY (title), DESCRIPTION (details), STATUS (NEEDS-ACTION/IN-PROCESS/COMPLETED/CANCELLED), PRIORITY (0-9), DUE (due date), PERCENT-COMPLETE (0-100), and any RFC 5545 VTODO property including custom X-* properties.
update_todo_rawwrite actionADVANCED: Update todo with raw VTODO iCal data. Requires manual iCal formatting - use update_todo instead for simple field updates (summary, description, status). Only use this if you have complete pre-formatted VTODO data or need to update advanced iCal properties.
Public scan report
scanner v0.1.5 · 2026-09-19 · same rubric, same numbers if you re-run it
- Code scan45 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 9 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Install directly
Runs npx -y dav-mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add dav-mcp -- npx -y dav-mcp
Dav: common questions
- Is Dav MCP server safe?
- Mostly: it is graded B (83/100). Read the Dav safety report
- How do I install Dav?
- It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
- Does Dav need an API key?
- Yes. The registry entry asks for
CALDAV_PASSWORD,GOOGLE_CLIENT_SECRET,GOOGLE_REFRESH_TOKEN. - Is Dav maintained?
- The last commit was 9 days ago (2026-09-10). The latest release is v4.0.1.