mcp-webdav
Model Context Protocol (MCP) server that enables CRUD operations on a WebDAV endpoint with basic authentication.
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
iterm
A Model Context Protocol server that executes commands in the current iTerm session - useful for REPL and CLI assistance
mcp
Octopus Deploy Official MCP Server
furi
CLI & API for MCP management
editor
MCP Server for Phaser Editor
DoorDash
MCP server from JordanDalton/DoorDash-MCP-Server
mcp
MCP сервер для автоматического создания и развертывания приложений в Timeweb Cloud