Information
DAV MCP 服务器
通过 MCP 访问您的日历、联系人和文件!
简介
该项目是一个 Model Context Protocol (MCP) 服务器,允许您与 CalDAV、CardDAV 和 WebDAV 服务进行交互。它支持 Fastmail 和 Apple iCloud 账户,并通过环境变量进行配置。
设置
先决条件:确保已安装 Node.js。
克隆仓库:将此仓库克隆到本地机器。
安装依赖项:导航到项目目录并运行:
bash
npm install
如果您打算发布或将其作为全局命令使用,可以在安装后运行 npm link,或者通过 npm install -g . 全局安装(如果需要,需在 package.json 中配置为全局安装)。
环境变量配置
要连接到您的 DAV 服务,在运行应用程序时需要设置以下环境变量:
DAV_PROVIDER:指定您的 DAV 服务提供商。设置为 fastmail 或 icloud(不区分大小写)。
DAV_USERNAME:服务的用户名(例如,Fastmail 电子邮件地址或 Apple ID)。
DAV_PASSWORD:服务的应用程序特定密码。强烈建议使用应用程序特定密码以提高安全性。
MCP 配置
要使用此服务器,您需要在 MCP 配置文件中将其配置为 mcpServer。以下是一个示例:
jsonc
\{
"mcpServers": \{
"myDavServices": \{
// 您可以随意命名
"command": "npx", // 如果在 PATH 中,则可以直接使用 "node"
"args": ["-y", "@jahfer/dav-mcp-server"], // 主脚本路径
"env": \{
"DAV_PROVIDER": "icloud", // 或 "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 客户端中使用命令或功能与服务器定义进行交互,以管理您的日历、联系人和文件。