WebDAV MCP Server

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

Local serverstdioGo

What is the WebDAV MCP server?

If you already use WebDAV, the webdav mcp server is the piece that lets your assistant work with it directly. Model Context Protocol (MCP) server that enables CRUD operations on a WebDAV endpoint with basic authentication.

What the server does

  • Connect to any WebDAV server with optional authentication
  • Perform CRUD operations on files and directories
  • Expose file operations as MCP resources and tools
  • Run via stdio transport (for Claude Desktop integration) or HTTP/SSE transport
  • Secure access with optional basic authentication
  • Support for bcrypt-encrypted passwords for MCP server authentication (WebDAV passwords must be plain text due to protocol limitations)

Available tools

The toolset is worth reading before you wire it up, because it tells you what the integration is really for:

  • webdav_create_remote_file — Create a new file on a remote WebDAV server
  • webdav_get_remote_file — Retrieve content from a file stored on a remote WebDAV server
  • webdav_update_remote_file — Update an existing file on a remote WebDAV server
  • webdav_delete_remote_item — Delete a file or directory from a remote WebDAV server
  • webdav_create_remote_directory — Create a new directory on a remote WebDAV server
  • webdav_move_remote_item — Move or rename a file/directory on a remote WebDAV server
  • webdav_copy_remote_item — Copy a file/directory to a new location on a remote WebDAV server
  • webdav_list_remote_directory — List files and directories on a remote WebDAV server

Installation

npx on npm is all you need. Most clients run it directly, so configuration is a few lines and a restart.

Credentials and setup notes

Configuration is passed through the environment: WEBDAV_ROOT_URL, WEBDAV_ROOT_PATH, WEBDAV_USERNAME, WEBDAV_PASSWORD, WEBDAV_AUTH_ENABLED. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.

  • Node.js 18 or later - npm or yarn - WebDAV server (for actual file operations)

Where it fits

Plenty of file and storage access servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. WebDAV's toolset — webdav_create_remote_file, webdav_get_remote_file, webdav_update_remote_file and 5 more — is a fair guide to whether it matches your workflow. It is maintained by LaubPlusCo; worth a glance at recent repository activity before you build anything load-bearing on it.

We check each listing at SyncDev against the project's documentation before it goes live — if something here drifts out of date, it is a bug worth reporting.

Worth knowing first

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

Available tools

ToolWhat it does
webdav_create_remote_fileCreate a new file on a remote WebDAV server
webdav_get_remote_fileRetrieve content from a file stored on a remote WebDAV server
webdav_update_remote_fileUpdate an existing file on a remote WebDAV server
webdav_delete_remote_itemDelete a file or directory from a remote WebDAV server
webdav_create_remote_directoryCreate a new directory on a remote WebDAV server
webdav_move_remote_itemMove or rename a file/directory on a remote WebDAV server
webdav_copy_remote_itemCopy a file/directory to a new location on a remote WebDAV server
webdav_list_remote_directoryList files and directories on a remote WebDAV server

How to install the WebDAV MCP server

{
  "mcpServers": {
    "mpc-webdav-server": {
      "command": "npx",
      "args": ["-y", "npx"],
      "env": {
        "WEBDAV_ROOT_URL": "your-value",
        "WEBDAV_ROOT_PATH": "your-value",
        "WEBDAV_USERNAME": "your-value",
        "WEBDAV_PASSWORD": "your-value",
        "WEBDAV_AUTH_ENABLED": "your-value"
      }
    }
  }
}

Add to claude_desktop_config.json, then restart Claude Desktop.

Configuration

  • Node.js 18 or later - npm or yarn - WebDAV server (for actual file operations)
VariableDescriptionRequired
WEBDAV_ROOT_URLEndpoint or connection string the server talks to.Yes
WEBDAV_ROOT_PATHFilesystem location the server is allowed to use.Optional
WEBDAV_USERNAMEConfiguration value read at startup.Optional
WEBDAV_PASSWORDConfiguration value read at startup.Optional
WEBDAV_AUTH_ENABLEDConfiguration value read at startup.Optional

Example prompts to try

  • Use WebDAV to webdav create remote file.
  • Use WebDAV to webdav get remote file.
  • Use WebDAV to webdav update remote file.

Frequently asked questions

WebDAV passwords must be plain text because the WebDAV protocol requires sending the actual password to the server. MCP server passwords can be stored as bcrypt-encrypted hashes with a `{bcrypt}` prefix for enhanced security.