mcpField
W
WebDAV MCP

WebDAV MCP

本地服务
github.com/vernonstinebaker文件与存储322 周前更新

关于 WebDAV MCP

WebDAV MCP 是供需要操作 WebDAV 文件的 AI Agent 使用的零依赖服务端。它以单个静态二进制文件通过 stdio 提供 8 种文件与目录操作,无需 Node.js 或 Python。

主要功能

  1. 01列出文件和目录
  2. 02读取与写入文件内容
  3. 03删除、移动和复制项目
  4. 04创建目录并查看元数据
  5. 05无需运行时依赖的静态二进制文件

适用场景

  1. 01浏览 WebDAV 服务中的文件
  2. 02读取或更新远程文档
  3. 03整理文件与目录
  4. 04让兼容 MCP 的 Agent 执行 WebDAV 操作

MCP 相关

它通过 stdio 使用 JSON-RPC 2.0 实现 MCP,并向 MCP 客户端提供 8 种 WebDAV 操作工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbwebdav-mcp-macos-arm64
mcpbwebdav-mcp-macos-x86_64
mcpbwebdav-mcp-linux-x86_64
mcpbwebdav-mcp-linux-arm64
mcpbwebdav-mcp-linux-armv7
mcpbwebdav-mcp-windows-x86_64.exe

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

webdav-mcp

零依赖的 WebDAV MCP 服务——单个静态二进制文件,无需 Node.js 或 Python。

通过标准输入/输出使用 JSON-RPC 2.0 实现 Model Context Protocol(MCP),并将 8 种 WebDAV 操作作为工具公开,供任何兼容 MCP 的 AI Agent 调用。

为什么开发这个项目

GitHub 上其他所有 WebDAV MCP 服务都需要 Node.js 或 Python 运行时。这个服务是一个独立的二进制文件(约 100–160 KB),由 Zig 编译而成。它无需安装运行时即可在任何地方运行,并且可以在一台机器上交叉编译到所有主流平台。

工具

工具说明
list列出指定路径下的文件和目录
read以文本形式读取文件内容
write写入(创建或覆盖)文件
delete删除文件或目录
mkdir创建目录
move移动或重命名文件或目录
copy复制文件或目录(根据 RFC 4918 §9.8.2 发送 Depth: infinity)
stat获取单个文件或目录的元数据(PROPFIND Depth:0)
工具参数

list

  • path(必填)——相对于 WebDAV 根目录的目录路径
  • recursive(布尔值,默认 false)——若为 true,则使用 Depth: infinity 递归列出内容。注意:某些服务端(IIS、某些 nginx 配置)会阻止递归列出。

read

  • path(必填)——相对于 WebDAV 根目录的文件路径
  • max_bytes(整数,默认 1048576)——要读取的最大文件大小(字节)。若文件更大,则返回错误。读取大文件时请增大此值。

write

  • path(必填)——相对于 WebDAV 根目录的文件路径
  • content(必填)——要写入的内容
  • content_type(字符串,默认 application/octet-stream)——文件的 MIME 类型(例如 text/plain、application/json)
  • create_parents(布尔值,默认 false)——若为 true 且父目录不存在,则在写入前通过 MKCOL 自动创建所有缺失的上级目录

stat

  • path(必填)——相对于 WebDAV 根目录的待查询路径
  • 返回:file、dir 或 missing,以及可用时的 size=、modified=、etag= 和 type=

配置

启动服务前设置以下环境变量:

变量说明示例
WEBDAV_URLWebDAV 服务的基础 URLhttp://192.168.1.10:8080
WEBDAV_USER用户名admin
WEBDAV_PASS密码secret
凭据安全

凭据通过 Zig 原生 HTTP 网络功能使用 Authorization: Basic ... 标头发送。不会启动外部 curl 进程。

从源代码构建

需要 Zig 0.16.0。

# Development build
zig build

# Optimized release build (~100-160 KB)
zig build -Doptimize=ReleaseSmall

# Cross-compile for all platforms (outputs to zig-out/release/)
zig build cross
交叉编译目标
文件平台
webdav-mcp-macos-arm64macOS Apple Silicon
webdav-mcp-macos-x86_64macOS Intel
webdav-mcp-linux-arm64Linux ARM64(静态 musl)
webdav-mcp-linux-x86_64Linux x86-64(静态 musl)
webdav-mcp-linux-armv7Linux ARMv7 / Raspberry Pi(静态 musl)
webdav-mcp-windows-x86_64.exeWindows x86-64

与 nullclaw / *Claw 机器人集成

在机器人的 config.json 中添加一项 mcp_servers:

{
  "mcp_servers": {
    "webdav": {
      "command": "/path/to/webdav-mcp",
      "args": [],
      "env": {
        "WEBDAV_URL": "http://your-webdav-server:8080",
        "WEBDAV_USER": "your-username",
        "WEBDAV_PASS": "your-password"
      }
    }
  }
}

服务通过标准输入/输出使用 JSON-RPC 2.0 通信(以换行符分隔),这是标准的 MCP 传输方式。注册后,Agent 即可像调用普通工具一样调用全部 8 种工具。

运行测试

zig build test --summary all

所有单元测试涵盖 XML 解析、JSON-RPC 分发、参数提取、URL 构造、百分号编码、实体解码和 HTTP 方法路由。

许可证

MIT——参见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。