WebDAV MCP
Zero-dependency WebDAV MCP server — single static binary, no Node.js or Python. 8 tools via stdio.
ماذا يمكنك أن تفعل مع WebDAV MCP؟
path(required) — directory path relative to WebDAV rootrecursive(boolean, defaultfalse) — iftrue, lists recursively usingDepth: infinity. Note: some servers (IIS, some nginx configs) block recursive listing.path(required) — file path relative to WebDAV rootmax_bytes(integer, default1048576) — maximum file size to read in bytes. Returns an error if the file is larger. Increase this for large files.path(required) — file path relative to WebDAV rootcontent(required) — content to writecontent_type(string, defaultapplication/octet-stream) — MIME type for the file (e.g.text/plain,application/json)create_parents(boolean, defaultfalse) — iftrueand the parent directory does not exist, automatically creates all missing ancestor directories via MKCOL before writing
التثبيت
أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: .cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).
https://github.com/vernonstinebaker/webdav-mcp/releases/download/v1.1.1/webdav-mcp-macos-arm64متغيرات البيئة
WEBDAV_URLإلزامي Base URL of the WebDAV server (e.g. http://192.168.1.10:8080)WEBDAV_USERWebDAV usernameWEBDAV_PASSسري WebDAV password
https://github.com/vernonstinebaker/webdav-mcp/releases/download/v1.1.1/webdav-mcp-macos-x86_64متغيرات البيئة
WEBDAV_URLإلزامي Base URL of the WebDAV server (e.g. http://192.168.1.10:8080)WEBDAV_USERWebDAV usernameWEBDAV_PASSسري WebDAV password
https://github.com/vernonstinebaker/webdav-mcp/releases/download/v1.1.1/webdav-mcp-linux-x86_64متغيرات البيئة
WEBDAV_URLإلزامي Base URL of the WebDAV server (e.g. http://192.168.1.10:8080)WEBDAV_USERWebDAV usernameWEBDAV_PASSسري WebDAV password
https://github.com/vernonstinebaker/webdav-mcp/releases/download/v1.1.1/webdav-mcp-linux-arm64متغيرات البيئة
WEBDAV_URLإلزامي Base URL of the WebDAV server (e.g. http://192.168.1.10:8080)WEBDAV_USERWebDAV usernameWEBDAV_PASSسري WebDAV password
https://github.com/vernonstinebaker/webdav-mcp/releases/download/v1.1.1/webdav-mcp-linux-armv7متغيرات البيئة
WEBDAV_URLإلزامي Base URL of the WebDAV server (e.g. http://192.168.1.10:8080)WEBDAV_USERWebDAV usernameWEBDAV_PASSسري WebDAV password
https://github.com/vernonstinebaker/webdav-mcp/releases/download/v1.1.1/webdav-mcp-windows-x86_64.exeمتغيرات البيئة
WEBDAV_URLإلزامي Base URL of the WebDAV server (e.g. http://192.168.1.10:8080)WEBDAV_USERWebDAV usernameWEBDAV_PASSسري WebDAV password
التوثيق
مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.
المحتويات
webdav-mcp
A zero-dependency WebDAV MCP server — single static binary, no Node.js or Python required.
Implements the Model Context Protocol (MCP) over JSON-RPC 2.0 via stdio, exposing 8 WebDAV operations as tools that any MCP-compatible AI agent can call.
Why this exists
Every other WebDAV MCP server on GitHub requires a Node.js or Python runtime. This one is a single self-contained binary (~100–160 KB) compiled from Zig. It runs anywhere without installing a runtime, and it cross-compiles to all major platforms from one machine.
Tools
| Tool | Description |
|---|---|
list | List files and directories at a path |
read | Read file contents as text |
write | Write (create or overwrite) a file |
delete | Delete a file or directory |
mkdir | Create a directory |
move | Move or rename a file or directory |
copy | Copy a file or directory (sends Depth: infinity per RFC 4918 §9.8.2) |
stat | Get metadata for a single file or directory (PROPFIND Depth:0) |
Tool parameters
list
path(required) — directory path relative to WebDAV rootrecursive(boolean, defaultfalse) — iftrue, lists recursively usingDepth: infinity. Note: some servers (IIS, some nginx configs) block recursive listing.
read
path(required) — file path relative to WebDAV rootmax_bytes(integer, default1048576) — maximum file size to read in bytes. Returns an error if the file is larger. Increase this for large files.
write
path(required) — file path relative to WebDAV rootcontent(required) — content to writecontent_type(string, defaultapplication/octet-stream) — MIME type for the file (e.g.text/plain,application/json)create_parents(boolean, defaultfalse) — iftrueand the parent directory does not exist, automatically creates all missing ancestor directories via MKCOL before writing
stat
path(required) — path to stat relative to WebDAV root- Returns:
fileordirormissing, plussize=,modified=,etag=, andtype=when available
Configuration
Set these environment variables before launching the server:
| Variable | Description | Example |
|---|---|---|
WEBDAV_URL | Base URL of the WebDAV server | http://192.168.1.10:8080 |
WEBDAV_USER | Username | admin |
WEBDAV_PASS | Password | secret |
Credential security
Credentials are sent via native Zig HTTP networking using the Authorization: Basic ... header. No external curl process is spawned.
Building from source
Requires 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
Cross-compilation targets
| File | Platform |
|---|---|
webdav-mcp-macos-arm64 | macOS Apple Silicon |
webdav-mcp-macos-x86_64 | macOS Intel |
webdav-mcp-linux-arm64 | Linux ARM64 (static musl) |
webdav-mcp-linux-x86_64 | Linux x86-64 (static musl) |
webdav-mcp-linux-armv7 | Linux ARMv7 / Raspberry Pi (static musl) |
webdav-mcp-windows-x86_64.exe | Windows x86-64 |
Integration with nullclaw / *Claw bots
Add an mcp_servers entry to your bot's config.json:
{
"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"
}
}
}
}
The server speaks JSON-RPC 2.0 over stdio (newline-delimited), which is the standard MCP transport. Once registered, the agent can call all 8 tools as normal tool calls.
Running tests
zig build test --summary all
All unit tests cover XML parsing, JSON-RPC dispatch, argument extraction, URL construction, percent-encoding, entity decoding, and HTTP method routing.
License
MIT — see LICENSE.
الأسئلة الشائعة
ما هو WebDAV MCP؟
Zero-dependency WebDAV MCP server — single static binary, no Node.js or Python. 8 tools via stdio.
كيف أثبّت WebDAV MCP؟
اتبع خطوات التثبيت في توثيقه المعروض في هذه الصفحة وفي مستودعه.
هل يحتاج WebDAV MCP إلى مفتاح API؟
نعم. يتطلب WEBDAV_URL, WEBDAV_PASS، وتضبطها في إعداداته.
هل WebDAV MCP مفتوح المصدر؟
نعم. شيفرته متاحة على GitHub بترخيص MIT.
من يصون WebDAV MCP؟
ينشره vernonstinebaker. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.
من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.