{"name":"dav-mcp","version":"2.6.0","description":"MCP SSE Server for tsdav - CalDAV/CardDAV integration","endpoints":{"sse":"/sse (GET)","messages":"/messages (POST)","health":"/health (GET)"},"tools":[{"name":"list_calendars","description":"List all available calendars from the CalDAV server. Use this to get calendar URLs needed for other operations"},{"name":"list_events","description":"List 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)."},{"name":"create_event","description":"Create a new calendar event with title, date, time, optional description and location"},{"name":"update_event","description":"PREFERRED: Update event fields without iCal formatting. Supports: SUMMARY (title), DESCRIPTION (details), LOCATION (place), DTSTART (start time), DTEND (end time), STATUS (TENTATIVE/CONFIRMED/CANCELLED), and any RFC 5545 property including custom X-* properties (e.g., X-ZOOM-LINK, X-MEETING-ROOM)."},{"name":"update_event_raw","description":"ADVANCED: 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."},{"name":"delete_event","description":"Delete a calendar event permanently. Requires event URL and etag"},{"name":"calendar_query","description":"⭐ 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."},{"name":"make_calendar","description":"Create a new calendar collection on the CalDAV server with optional color, description, timezone, and component types"},{"name":"update_calendar","description":"Update 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\""},{"name":"delete_calendar","description":"Permanently 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\""},{"name":"calendar_multi_get","description":"Batch fetch multiple specific calendar events by their URLs. Use when you have exact event URLs and want to retrieve their details"},{"name":"list_addressbooks","description":"List all available address books from the CardDAV server. Use this to get address book URLs needed for other contact operations"},{"name":"list_contacts","description":"List 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"},{"name":"create_contact","description":"Create a new contact (vCard) with name, email, phone, organization, and other details"},{"name":"update_contact","description":"PREFERRED: 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."},{"name":"update_contact_raw","description":"ADVANCED: 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."},{"name":"delete_contact","description":"Delete a contact (vCard) permanently. Requires contact URL and etag"},{"name":"addressbook_query","description":"⭐ 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."},{"name":"addressbook_multi_get","description":"Batch fetch multiple specific contacts by their URLs. Use when you have exact contact URLs and want to retrieve their details"},{"name":"list_todos","description":"List 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."},{"name":"create_todo","description":"Create 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."},{"name":"update_todo","description":"PREFERRED: 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."},{"name":"update_todo_raw","description":"ADVANCED: 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."},{"name":"delete_todo","description":"Delete a todo/task permanently from the calendar. Cannot be undone. Requires todo URL and etag."},{"name":"todo_query","description":"⭐ PREFERRED: Search and filter todos efficiently. Use instead of list_todos to conserve tokens. Omit calendar_url to search across ALL calendars automatically."},{"name":"todo_multi_get","description":"Batch fetch multiple specific todos by their URLs. More efficient than fetching one by one when you have exact todo URLs."}],"documentation":"See README.md for n8n integration instructions"}