Get the FREE Ultimate OpenClaw Setup Guide →

mcp-webdav

Model Context Protocol (MCP) server that enables CRUD operations on a WebDAV endpoint with basic authentication.

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio laubplusco-mcp-webdav-server npx -y webdav-mcp-server \
  --env AUTH_REALM="<AUTH_REALM>" \
  --env AUTH_ENABLED="true|false" \
  --env AUTH_PASSWORD="<AUTH_PASSWORD>" \
  --env AUTH_USERNAME="<AUTH_USERNAME>" \
  --env WEBDAV_PASSWORD="<WEBDAV_PASSWORD>" \
  --env WEBDAV_ROOT_URL="<WEBDAV_ROOT_URL>" \
  --env WEBDAV_USERNAME="<WEBDAV_USERNAME>" \
  --env WEBDAV_ROOT_PATH="<WEBDAV_ROOT_PATH>" \
  --env WEBDAV_AUTH_ENABLED="true|false"

How to use

This MCP server exposes a WebDAV-backed file system as a set of MCP resources and tools. It connects to a real WebDAV endpoint (with optional WebDAV authentication) and presents operations such as listing, reading, creating, updating, and deleting files and directories through MCP resources (endpoints) and helper tools. You can access the server via Claude Desktop or any MCP client that supports the WebDAV MCP integration. The server supports HTTP/SSE transport for real-time communication and stdio transport for Claude Desktop integration. To use it, configure the MCP client with the provided WebDAV connection details and authentication settings, then invoke resources like webdav://path/list or tools like webdav_get_remote_file to retrieve content or webdav_create_remote_file to upload content.

How to install

Prerequisites:\n- Node.js 18 or later installed on your system\n- npm or yarn available\n- Optional: Docker if you prefer containerized usage\n\nInstallation steps:\n1) Install the package globally (or use npx):\nbash\nnpm install -g webdav-mcp-server\n# or using npx without global install\nnpx webdav-mcp-server\n\n2) If you prefer building from source, clone the repo and install dependencies:\nbash\ngit clone https://github.com/yourusername/webdav-mcp-server.git\ncd webdav-mcp-server\nnpm install\nnpm run build\n\n3) (Optional) Run with Docker:\nbash\ndocker build -t webdav-mcp-server .\ndocker run -p 3000:3000 \\n -e WEBDAV_ROOT_URL=http://your-webdav-server \\n -e WEBDAV_ROOT_PATH=/webdav \\n webdav-mcp-server\n\n4) Prepare environment variables for runtime (examples):\nbash\nWEBDAV_ROOT_URL=http://localhost:4080\nWEBDAV_ROOT_PATH=/webdav\nWEBDAV_AUTH_ENABLED=true\nWEBDAV_USERNAME=admin\nWEBDAV_PASSWORD=password\nAUTH_ENABLED=true\nAUTH_USERNAME=user\nAUTH_PASSWORD=pass\nAUTH_REALM=MCP WebDAV Server\n

Additional notes

Notes and tips:\n- WebDAV passwords must be plain text due to WebDAV protocol requirements, while MCP server authentication can use a bcrypt hash via the AUTH_PASSWORD variable with the {bcrypt} prefix.\n- If you enable authentication for MCP, ensure AUTH_PASSWORD is set accordingly (plain text password or bcrypt hash).\n- The MCP server can be run with stdio transport forClaude Desktop integration or via HTTP/SSE transport for web-based clients.\n- When using Docker Compose, you can pair this server with a WebDAV server (e.g., hacdias/webdav) and define credentials in the .env or docker-compose.yml.\n- For production, consider using TLS termination and secure handling of credentials.\n- The available MCP resources include list, content, and info, while the tools cover CRUD operations for remote WebDAV files and directories.

Related MCP Servers

Sponsor this space

Reach thousands of developers