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 root
  • recursive (boolean, default false) — if true, lists recursively using Depth: infinity. Note: some servers (IIS, some nginx configs) block recursive listing.
  • path (required) — file path relative to WebDAV root
  • max_bytes (integer, default 1048576) — 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 root
  • content (required) — content to write
  • content_type (string, default application/octet-stream) — MIME type for the file (e.g. text/plain, application/json)
  • create_parents (boolean, default false) — if true and 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»).

MCPB package 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_USER WebDAV username
  • WEBDAV_PASS سري WebDAV password
MCPB package 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_USER WebDAV username
  • WEBDAV_PASS سري WebDAV password
MCPB package 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_USER WebDAV username
  • WEBDAV_PASS سري WebDAV password
MCPB package 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_USER WebDAV username
  • WEBDAV_PASS سري WebDAV password
MCPB package 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_USER WebDAV username
  • WEBDAV_PASS سري WebDAV password
MCPB package 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_USER WebDAV username
  • WEBDAV_PASS سري WebDAV password

التوثيق

مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.

المحتويات
  1. webdav-mcp
  2. Why this exists
  3. Tools
  4. Configuration
  5. Building from source
  6. Integration with nullclaw / *Claw bots
  7. Running tests
  8. License

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

ToolDescription
listList files and directories at a path
readRead file contents as text
writeWrite (create or overwrite) a file
deleteDelete a file or directory
mkdirCreate a directory
moveMove or rename a file or directory
copyCopy a file or directory (sends Depth: infinity per RFC 4918 §9.8.2)
statGet metadata for a single file or directory (PROPFIND Depth:0)
Tool parameters

list

  • path (required) — directory path relative to WebDAV root
  • recursive (boolean, default false) — if true, lists recursively using Depth: infinity. Note: some servers (IIS, some nginx configs) block recursive listing.

read

  • path (required) — file path relative to WebDAV root
  • max_bytes (integer, default 1048576) — 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 root
  • content (required) — content to write
  • content_type (string, default application/octet-stream) — MIME type for the file (e.g. text/plain, application/json)
  • create_parents (boolean, default false) — if true and 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: file or dir or missing, plus size=, modified=, etag=, and type= when available

Configuration

Set these environment variables before launching the server:

VariableDescriptionExample
WEBDAV_URLBase URL of the WebDAV serverhttp://192.168.1.10:8080
WEBDAV_USERUsernameadmin
WEBDAV_PASSPasswordsecret
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
FilePlatform
webdav-mcp-macos-arm64macOS Apple Silicon
webdav-mcp-macos-x86_64macOS Intel
webdav-mcp-linux-arm64Linux ARM64 (static musl)
webdav-mcp-linux-x86_64Linux x86-64 (static musl)
webdav-mcp-linux-armv7Linux ARMv7 / Raspberry Pi (static musl)
webdav-mcp-windows-x86_64.exeWindows 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 الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.