WebDAV MCP Server

WebDAV MCP Server

site icon
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

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。