webdav_create_remote_fileLABSCO SUMMARY
A remote filesystem the agent can actually write to.
Most file servers stop at reading; this one creates, updates, moves and copies, which is what makes it useful for anything beyond lookup. The two-layer auth is worth understanding before you deploy: WebDAV passwords must be stored in plain text because the protocol demands it, so the bcrypt option protects the MCP server's own door, not the storage credential.
What it is
An MCP server that performs full CRUD against a WebDAV endpoint. It runs over stdio for desktop clients or over HTTP with SSE when you want it reachable on the network, and it can require its own basic auth on top of the WebDAV credentials.
What you get
- Files —
webdav_create_remote_file,webdav_get_remote_file,webdav_update_remote_file,webdav_delete_remote_item - Directories and moves —
webdav_create_remote_directory,webdav_list_remote_directory,webdav_move_remote_item,webdav_copy_remote_item - The same operations are also exposed as MCP prompts, and directory listings, file content and file info are readable as resources at
webdav://{path}/list,webdav://{path}/contentandwebdav://{path}/info - Connection pooling, Zod-validated configuration and structured logging
- Importable from your own code as
startWebDAVServer, so the same server can be embedded rather than launched
Requirements
Node.js 18 or later and a WebDAV server. Install with npm install -g webdav-mcp-server or run it through npx webdav-mcp-server; add --http for the HTTP/SSE transport, which listens on SERVER_PORT (3000 by default). Point it at the endpoint with WEBDAV_ROOT_URL and WEBDAV_ROOT_PATH, and if the endpoint needs credentials set WEBDAV_AUTH_ENABLED, WEBDAV_USERNAME and WEBDAV_PASSWORD — the WebDAV password has to be plain text, because the protocol sends the real password. The MCP server's own auth (AUTH_ENABLED, AUTH_USERNAME, AUTH_PASSWORD) does accept a bcrypt hash. A Docker Compose setup brings up a WebDAV server and the MCP server together. Package version 1.0.4. MIT.
Setup effort
One command plus credentials — npx webdav-mcp-server, then supply credentials
USE CASES
Filing a document the agent just wrote
Create the folder if it is missing and write the file straight to shared storage.
Editing a config that lives on a share
Read the current contents, apply the change, and write it back in place.
Tidying a shared folder
List what is there, rename or move the files that are misplaced, and delete what is stale.
Keeping a backup copy before a risky change
Copy the file to a backup location, then make the edit against the original.
8 tools
Listed in project docs. Your client may show a different list.
webdav_get_remote_filewebdav_update_remote_filewebdav_delete_remote_itemwebdav_create_remote_directorywebdav_move_remote_itemwebdav_copy_remote_itemwebdav_list_remote_directoryBEFORE YOU INSTALL
What to know first
Tools you get
8 tools named in the project's documentation.
Requires
- npx on PATH
- Node.js 18 or later
- WEBDAV_PASSWORD in your environment
- WEBDAV_ROOT_URL in your environment
- WEBDAV_ROOT_PATH in your environment
- WEBDAV_USERNAME in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
npx webdav-mcp-serverMCP Clients
Claude Desktop — npx
{
"mcpServers": {
"webdav": {
"command": "npx",
"args": [
"-y",
"webdav-mcp-server"
],
"env": {
"WEBDAV_ROOT_URL": "<YOUR_WEBDAV_ROOT_URL>",
"WEBDAV_ROOT_PATH": "<YOUR_WEBDAV_ROOT_PATH>",
"WEBDAV_USERNAME": "<YOUR_WEBDAV_USERNAME>",
"WEBDAV_PASSWORD": "<YOUR_WEBDAV_PASSWORD>",
"WEBDAV_AUTH_ENABLED": "true|false"
}
}
}
}