DAV服务协议服务器

一个通过MCP协议访问CalDAV、CardDAV和WebDAV服务的服务器,支持Fastmail和Apple iCloud账户。

  • by jahfer
  • JavaScript
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 jahfer/dav-mcp-server

使用说明

DAV MCP服务器

通过MCP访问您的日历、联系人和文件!

引言

此项目是一个模型上下文协议(MCP)服务器,允许您与CalDAV、CardDAV和WebDAV服务进行交互。它支持通过环境变量配置的Fastmail和Apple iCloud帐户。

设置

  1. 先决条件:确保您已安装Node.js。

  2. 克隆存储库:将此存储库克隆到本地计算机。

  3. 安装依赖项:导航到项目目录并运行:

    npm install
    

    如果您打算发布或将其用作全局命令,您也可以运行 npm link 安装后,或通过全局安装 npm install -g . (一次 package.json 如果需要,配置为全局安装)。

环境变量配置

要连接到DAV服务,您需要在运行应用程序时设置以下环境变量:

  • DAV_PROVIDER:指定您的DAV服务提供商。吃起来 fastmail 或 icloud 不区分大小写
  • DAV_USERNAME:您的服务用户名(例如,您的Fastmail电子邮件地址或Apple ID)。
  • DAV_PASSWORD:服务的应用程序特定密码。强烈建议使用特定于应用程序的密码以确保安全。

MCP配置

要使用此服务器,您需要将其配置为 mcpServer 在MCP配置文件中。以下是一个示例:

{
  "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"
      }
    }
  }
}

可用工具

配置后,此MCP服务器提供以下工具:

日历(CalDAV)

  • get_my_calendars:列出所有可用日历。
  • get_calendar_events:从指定日历中获取事件。您可以选择提供开始和结束日期/时间,以筛选特定范围内的事件。

联系人(CardDAV)

  • get_my_contact_lists:列出您的所有联系地址簿。
  • get_contacts_from_list:从指定的通讯簿中获取联系人。

文件(WebDAV-主要用于Fastmail)

  • list_my_files_and_folders:列出WebDAV存储中指定路径内的文件和文件夹(默认为根目录)。
  • get_file_or_folder_details:获取给定文件或文件夹URL的元数据。

用法

在配置中设置MCP服务器后,您可以使用MCP客户端中与服务器定义交互的命令或功能来管理您的日历、联系人和文件。