
WebDAV MCP Server

2025.03.20
1
TypeScriptWebDAV 文件管理MCP 服务文件管理
mcp-webdav-server 是一个基于 Model Context Protocol (MCP) 的服务,旨在通过自然语言命令实现对 WebDAV 文件系统的 CRUD 操作。该服务支持与 Claude Desktop 及其他 MCP 客户端的集成,提供文件管理功能,包括文件创建、读取、更新和删除等操作。
View on GitHub
Overview
基本能力
产品定位
mcp-webdav-server 是一个用于文件管理的 MCP 服务,通过自然语言命令实现对 WebDAV 文件系统的操作。
核心功能
- 连接任何支持 WebDAV 的服务器(可选认证)
- 对文件和目录执行 CRUD 操作
- 将文件操作暴露为 MCP 资源和工具
- 支持 stdio 传输(用于 Claude Desktop 集成)或 HTTP/SSE 传输
- 可选的基本认证安全访问
- 支持 bcrypt 加密密码用于 MCP 服务器认证
- 连接池以提高性能
- 使用 Zod 进行配置验证
- 结构化日志便于故障排查
适用场景
- 通过自然语言管理远程 WebDAV 文件系统
- 与 Claude Desktop 集成实现文件操作
- 需要安全访问 WebDAV 服务器的场景
工具列表
webdav_create_remote_file
: 在远程 WebDAV 服务器上创建新文件webdav_get_remote_file
: 从远程 WebDAV 服务器获取文件内容webdav_update_remote_file
: 更新远程 WebDAV 服务器上的文件webdav_delete_remote_item
: 删除远程 WebDAV 服务器上的文件或目录webdav_create_remote_directory
: 在远程 WebDAV 服务器上创建新目录webdav_move_remote_item
: 移动或重命名远程 WebDAV 服务器上的文件/目录webdav_copy_remote_item
: 复制远程 WebDAV 服务器上的文件/目录webdav_list_remote_directory
: 列出远程 WebDAV 服务器上的文件和目录
常见问题解答
- WebDAV 密码必须为明文,因为协议限制
- MCP 服务器密码可以使用 bcrypt 加密
- 支持 Docker 快速部署
使用教程
使用依赖
- Node.js 18 或更高版本
- npm 或 yarn
- WebDAV 服务器(用于实际文件操作)
安装教程
选项1: 从 npm 包安装
# 全局安装
npm install -g webdav-mcp-server
# 或使用 npx
npx webdav-mcp-server
选项2: 从源码构建
git clone https://github.com/yourusername/webdav-mcp-server.git
cd webdav-mcp-server
npm install
npm run build
选项3: Docker
docker build -t webdav-mcp-server .
docker run -p 3000:3000 \
-e WEBDAV_ROOT_URL=http://your-webdav-server \
-e WEBDAV_ROOT_PATH=/webdav \
webdav-mcp-server
调试方式
使用 stdio 传输运行
webdav-mcp-server
使用 HTTP/SSE 传输运行
webdav-mcp-server --http