remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Integrations
Supports configuration through .env files to set WebDAV connection parameters, authentication credentials, and server options.
Provides containerized deployment of the MCP server with configurable environment variables for WebDAV connectivity and authentication.
Offers programmatic usage within Node.js applications through an importable API for custom MCP server implementations.
Servidor MCP WebDAV
Un servidor de Protocolo de Contexto de Modelo (MCP) que permite operaciones CRUD en un endpoint WebDAV con autenticación básica. Este servidor permite a Claude Desktop y a otros clientes MCP interactuar con sistemas de archivos WebDAV mediante comandos de lenguaje natural.
Características
- Conéctese a cualquier servidor WebDAV con autenticación opcional
- Realizar operaciones CRUD en archivos y directorios
- Exponer operaciones de archivos como recursos y herramientas de MCP
- Ejecutar a través del transporte stdio (para la integración de Claude Desktop) o el transporte HTTP/SSE
- Acceso seguro con autenticación básica opcional
- Compatibilidad con contraseñas cifradas con bcrypt para la autenticación del servidor MCP (las contraseñas WebDAV deben ser texto sin formato debido a las limitaciones del protocolo)
- Agrupación de conexiones para un mejor rendimiento con servidores WebDAV
- Validación de configuración usando Zod
- Registro estructurado para una mejor resolución de problemas
Prerrequisitos
- Node.js 18 o posterior
- npm o hilo
- Servidor WebDAV (para operaciones de archivos reales)
Instalación
Opción 1: Instalar desde el paquete npm
Opción 2: Clonar y compilar desde la fuente
Opción 3: Docker
Configuración
Cree un archivo .env
en el directorio raíz con las siguientes variables:
Contraseñas cifradas para la autenticación del servidor MCP
Para una mayor seguridad del servidor MCP (no de las conexiones WebDAV), puede utilizar contraseñas cifradas con bcrypt en lugar de almacenarlas en texto sin formato:
- Generar un hash bcrypt:Copy
- Agregue el hash a su archivo .env con el prefijo {bcrypt}:Copy
De esta forma, la contraseña de su servidor MCP se almacena de forma segura. Tenga en cuenta que, debido a los requisitos del protocolo, las contraseñas WebDAV deben estar siempre en texto plano.
Uso
Ejecutando con el transporte stdio
Este modo es ideal para la integración directa con Claude Desktop.
Ejecución con transporte HTTP/SSE
Este modo permite acceder al servidor a través de HTTP con eventos enviados por el servidor para comunicación en tiempo real.
Inicio rápido con Docker Compose
La forma más sencilla de comenzar con el servidor WebDAV y el servidor MCP es usar Docker Compose:
Esta configuración utiliza hacdias/webdav , un servidor WebDAV simple e independiente escrito en Go. La configuración del servidor WebDAV se almacena en webdav_config.yml
, que puede modificar para ajustar permisos, agregar usuarios o cambiar otras configuraciones.
El servidor WebDAV almacena todos los archivos en un volumen Docker llamado webdav_data
, que persiste después de los reinicios del contenedor.
Configuración del servidor WebDAV
El archivo webdav_config.yml
configura el servidor hacdias/webdav utilizado en la configuración de Docker Compose. Puedes personalizar lo siguiente:
Para obtener opciones de configuración más avanzadas, consulte la documentación de hacdias/webdav .
Pruebas
Para ejecutar las pruebas:
Integración con Claude Desktop
- Asegúrese de que la función MCP esté habilitada en Claude Desktop
Recursos MCP disponibles
webdav://{path}/list
- Lista los archivos en un directoriowebdav://{path}/content
- Obtener el contenido del archivowebdav://{path}/info
- Obtener información del archivo o directorio
Herramientas MCP disponibles
webdav_create_remote_file
: crea un nuevo archivo en un servidor WebDAV remotowebdav_get_remote_file
: recupera contenido de un archivo almacenado en un servidor WebDAV remotowebdav_update_remote_file
: actualiza un archivo existente en un servidor WebDAV remotowebdav_delete_remote_item
: elimina un archivo o directorio de un servidor WebDAV remotowebdav_create_remote_directory
: crea un nuevo directorio en un servidor WebDAV remotowebdav_move_remote_item
: mueve o renombra un archivo/directorio en un servidor WebDAV remotowebdav_copy_remote_item
: copia un archivo/directorio a una nueva ubicación en un servidor WebDAV remotowebdav_list_remote_directory
: enumera archivos y directorios en un servidor WebDAV remoto
Indicaciones de MCP disponibles
webdav_create_remote_file
: solicitud para crear un nuevo archivo en un servidor WebDAV remotowebdav_get_remote_file
: solicitud para recuperar contenido de un archivo WebDAV remotowebdav_update_remote_file
: solicitud para actualizar un archivo en un servidor WebDAV remotowebdav_delete_remote_item
: solicitud para eliminar un archivo o directorio de un servidor WebDAV remotowebdav_list_remote_directory
: solicitud para listar el contenido del directorio en un servidor WebDAV remotowebdav_create_remote_directory
: solicitud para crear un directorio en un servidor WebDAV remotowebdav_move_remote_item
: solicitud para mover o renombrar un archivo o directorio en un servidor WebDAV remotowebdav_copy_remote_item
: solicitud para copiar un archivo o directorio en un servidor WebDAV remoto
Consultas de ejemplo en Claude
A continuación se muestran algunas consultas de ejemplo que puede utilizar en Claude Desktop una vez que el servidor WebDAV MCP esté conectado:
- "Enumerar archivos en mi servidor WebDAV remoto"
- "Crear un nuevo archivo de texto llamado notes.txt en mi servidor WebDAV remoto con el siguiente contenido: Hola mundo"
- Obtener el contenido de document.txt desde mi servidor WebDAV remoto
- "Actualizar config.json en mi servidor WebDAV remoto con esta nueva configuración"
- "Crear un directorio llamado proyectos en mi servidor WebDAV remoto"
- Copiar el informe.docx a una ubicación de respaldo en mi servidor WebDAV remoto
- "Mover el archivo old_name.txt a new_name.txt en mi servidor WebDAV remoto"
- "Eliminar temp.txt de mi servidor WebDAV remoto"
Uso programático
También puedes utilizar este paquete programáticamente en tus propios proyectos:
Licencia
Instituto Tecnológico de Massachusetts (MIT)
This server cannot be installed
Un servidor de protocolo de contexto de modelo que permite a Claude Desktop y otros clientes MCP interactuar con sistemas de archivos WebDAV a través de comandos de lenguaje natural para operaciones CRUD.