DAV MCP Server
The DAV MCP Server allows you to interact with CalDAV, CardDAV, and WebDAV services (such as Fastmail or iCloud) via the Model Context Protocol (MCP) to manage:
Calendars (CalDAV):
List available calendars with
get_my_calendarsFetch events from specific calendars with optional date/time filtering
Contacts (CardDAV):
List address books with
get_my_contact_listsRetrieve contacts from specific address books
Files (WebDAV):
List files and folders from specified paths with
list_my_files_and_foldersGet metadata for specific files or folders
Provides WebDAV file operations for services like Fastmail, allowing users to list files and folders, view file metadata, and navigate through their file storage hierarchy.
Enables access to Apple iCloud calendars (CalDAV), contacts (CardDAV), and potentially files, allowing users to list calendars, fetch events, manage contact address books, and retrieve contacts.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@DAV MCP Server show my calendar events for this week"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
DAV MCP Server
Access your calendars, contacts, and files via MCP!
Introduction
This project is a Model Context Protocol (MCP) server that allows you to interact with your CalDAV, CardDAV, and WebDAV services. It supports both Fastmail and Apple iCloud accounts, configured via environment variables.
Related MCP server: iCloud CalDAV MCP Connector
Setup
Prerequisites: Ensure you have Node.js installed.
Clone the repository: Clone this repository to your local machine.
Install dependencies: Navigate to the project directory and run:
npm installIf you intend to publish or use this as a global command, you might also run
npm linkafter installation, or install it globally vianpm install -g .(oncepackage.jsonis configured for global installation if desired).
Environment Variable Configuration
To connect to your DAV services, you need to set the following environment variables when running the application:
DAV_PROVIDER: Specifies your DAV service provider. Set tofastmailoricloud(case-insensitive).DAV_USERNAME: Your username for the service (e.g., your Fastmail email address or Apple ID).DAV_PASSWORD: An app-specific password for the service. It is highly recommended to use app-specific passwords for security.
MCP Configuration
To use this server, you need to configure it as an mcpServer in your MCP configuration file. Here is an example:
{
"mcpServers": {
"myDavServices": {
// You can name this anything you like
"command": "npx", // Or simply "node" if it's in your PATH
"args": ["-y", "@jahfer/dav-mcp-server"], // Path to the main script
"env": {
"DAV_PROVIDER": "icloud", // or "fastmail"
"DAV_USERNAME": "your-username",
"DAV_PASSWORD": "your-app-specific-password"
}
}
}
}Available Tools
Once configured, this MCP server provides the following tools:
Calendar (CalDAV)
get_my_calendars: Lists all your available calendars.get_calendar_events: Fetches events from a specified calendar. You can optionally provide a start and end date/time to filter events within a specific range.
Contacts (CardDAV)
get_my_contact_lists: Lists all your contact address books.get_contacts_from_list: Fetches contacts from a specified address book.
Files (WebDAV - primarily for Fastmail)
list_my_files_and_folders: Lists files and folders within a specified path in your WebDAV storage (defaults to the root).get_file_or_folder_details: Fetches metadata for a given file or folder URL.
Usage
After setting up the MCP server in your configuration, you can use commands or features within your MCP client that interact with the server definition to manage your calendars, contacts, and files.
Available Tools
6 toolsget_calendar_eventsD
Inputs: calendarUrl (required), timeRangeEnd, timeRangeStart.
get_contacts_from_listD
Inputs: addressBookUrl (required).
get_file_or_folder_detailsD
Inputs: fileUrl (required).
get_my_calendarsD
Inputs: no named parameters.
get_my_contact_listsD
Inputs: no named parameters.
list_my_files_and_foldersD
Inputs: path.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
Each tool has a clearly distinct purpose targeting different resources: calendar events, contacts, files/folders, calendars, contact lists, and file listings. There is no overlap in functionality, making it easy for an agent to select the correct tool.
All tool names follow a consistent verb_noun pattern with 'get_' or 'list_' prefixes, using snake_case throughout. This predictability enhances readability and usability for agents.
Six tools is reasonable for a DAV server covering calendars, contacts, and files, but it feels slightly thin as it lacks update/delete operations. The count is appropriate for basic read-only access, though not fully comprehensive.
The toolset is severely incomplete for a DAV server, covering only read operations (get/list) with no create, update, or delete tools. This will cause agent failures when full CRUD functionality is needed, as the surface lacks essential lifecycle coverage.
Related MCP Connectors
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
Hosted email MCP for your own Gmail, Outlook.com, Microsoft 365, iCloud or IMAP inbox: read, search, draft, reply in thread, forward and file mail. It moves or flags up to 500 messages in one call, and a send leaves exactly one copy in Sent. A calendar is a separate connection, and connecting one adds diary and scheduling tools.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
Related MCP Servers
- AlicenseBqualityCmaintenanceA Model Context Protocol (MCP) server that provides access to the Fastmail API, enabling AI assistants to interact with email, contacts, and calendar data.38MIT
- AlicenseNot gradedqualityCmaintenanceAn HTTP Model Context Protocol (MCP) server exposing iCloud Calendar (CalDAV) tools so MCP-aware clients can list calendars, read events, and create/update/delete events using an iCloud app-specific password.3MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for Apple Calendar, Mail, Reminders, and Files on macOS using native frameworks.24 npm22MIT
- AlicenseNot gradedqualityCmaintenanceUnified MCP server for Fastmail email (JMAP), calendar (CalDAV), and contacts (CardDAV). Enables sending emails, managing events, and syncing contacts through natural language.MIT