DAV
- javascript
1
GitHub Stars
javascript
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"jahfer-dav-mcp-server": {
"command": "npx",
"args": [
"-y",
"@jahfer/dav-mcp-server"
],
"env": {
"DAV_PASSWORD": "your-app-specific-password",
"DAV_PROVIDER": "icloud",
"DAV_USERNAME": "your-username"
}
}
}
}This MCP server lets you access CalDAV calendars, CardDAV contacts, and WebDAV files through a single, extensible interface. It connects to Fastmail or Apple iCloud accounts and exposes common data operations to your MCP client, making it easy to manage calendars, contacts, and files from one place.
How to use
Set up your MCP client to connect to the DAV MCP server you configure. You will interact with three data domains: calendars (CalDAV), contacts (CardDAV), and files (WebDAV). You can list calendars, fetch calendar events within a date range, list your contact address books, retrieve contacts from a specific book, and explore your files and folders in WebDAV.
Before you start, ensure your environment is prepared with the required credentials for your DAV service. You will provide a provider, username, and an app-specific password when you run the server. Once the MCP server is running, your MCP client can call the available endpoints like get_my_calendars, get_calendar_events, get_my_contact_lists, get_contacts_from_list, list_my_files_and_folders, and get_file_or_folder_details to perform common tasks.
How to install
Prerequisites: ensure you have Node.js installed on your system.
Step 1: Install the dependencies for the project.
npm install
Step 2: If you intend to publish or use this as a global command, you may also link or install it globally after installation.
Optionally, link locally during development.
npm link
Step 3: Start or use the MCP server configuration in your MCP setup to run the server as described in the configuration example.
Configuration and usage notes
Environment variables you provide to connect to your DAV services are essential for the server to function. Set the following values when you run the server:
-
DAV_PROVIDER: Specifies your DAV service provider. Use fastmail or icloud (case-insensitive).
-
DAV_USERNAME: Your account username for the service (for example, your Fastmail email address or Apple ID).
-
DAV_PASSWORD: An app-specific password for the service. It is strongly recommended to use app-specific passwords for security.
MCP configuration 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"
}
}
}
}
Tools and endpoints available through the server
After configuring the MCP server, your client can access the following capabilities to manage calendars, contacts, and files.
Available tools
get_my_calendars
Lists all your available calendars in CalDAV.
get_calendar_events
Fetches events from a specified calendar, with optional start and end filtering.
get_my_contact_lists
Lists all your contact address books in CardDAV.
get_contacts_from_list
Fetches contacts from a specified address book.
list_my_files_and_folders
Lists files and folders in a given WebDAV path (defaults to root).
get_file_or_folder_details
Fetches metadata for a given WebDAV file or folder.