Skip to main content
Glama
PhilflowIO

dav-mcp

by PhilflowIO

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
AUTH_METHODNoAuthentication method, set to 'OAuth' for Google Calendar integration
GOOGLE_USERNoYour Google email address for OAuth authentication
BEARER_TOKENNoBearer token for HTTP authentication (used when running in HTTP mode)
CALDAV_PASSWORDNoYour CalDAV/CardDAV password
CALDAV_USERNAMENoYour CalDAV/CardDAV username
GOOGLE_CLIENT_IDNoYour Google OAuth client ID
CALDAV_SERVER_URLNoThe URL of the CalDAV/CardDAV server
GOOGLE_CLIENT_SECRETNoYour Google OAuth client secret
GOOGLE_REFRESH_TOKENNoYour Google OAuth refresh token

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_calendarsA

List all available calendars from the CalDAV server. Use this to get calendar URLs needed for other operations

list_eventsA

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).

create_eventB

Create a new calendar event with title, date, time, optional description and location

update_eventA

PREFERRED: 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_rawA

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.

delete_eventA

Permanently 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.

calendar_queryA

⭐ 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.

freebusy_queryA

Find 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.

make_calendarA

Create a new calendar collection on the CalDAV server with optional color, description, timezone, and component types

update_calendarA

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"

delete_calendarA

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"

calendar_multi_getA

Batch fetch multiple specific calendar events by their URLs. Use when you have exact event URLs and want to retrieve their details

list_addressbooksA

List all available address books from the CardDAV server. Use this to get address book URLs needed for other contact operations

list_contactsA

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

create_contactA

Create a new contact (vCard) with name, email, phone, organization, and other details

update_contactB

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.

update_contact_rawA

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.

delete_contactA

Permanently 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.

addressbook_queryA

⭐ 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.

addressbook_multi_getA

Batch fetch multiple specific contacts by their URLs. Use when you have exact contact URLs and want to retrieve their details

list_todosA

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.

create_todoA

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.

update_todoA

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.

update_todo_rawA

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.

delete_todoA

Permanently 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.

todo_queryA

⭐ PREFERRED: Search and filter todos efficiently. Use instead of list_todos to conserve tokens. Omit calendar_url to search across ALL calendars automatically.

todo_multi_getA

Batch fetch multiple specific todos by their URLs. More efficient than fetching one by one when you have exact todo URLs.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/PhilflowIO/dav-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server