Skip to main content
Glama
LaubPlusCo

WebDAV MCP Server

by LaubPlusCo

webdav_create_remote_directory

Create a new directory on a remote WebDAV server by specifying the path, enabling organized file storage and management.

Instructions

Create a new directory on a remote WebDAV server

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathYes

Implementation Reference

  • MCP server.tool registration for 'webdav_create_remote_directory', including description, input schema, and inline async handler function that executes the logic.
    server.tool( 'webdav_create_remote_directory', 'Create a new directory on a remote WebDAV server', { path: z.string().min(1, 'Path must not be empty') }, async ({ path }) => { try { await webdavService.createDirectory(path); return { content: [{ type: 'text', text: `Directory created successfully at ${path}` }] }; } catch (error) { return { content: [{ type: 'text', text: `Error creating directory: ${(error as Error).message}` }], isError: true }; } } );
  • Zod input schema validation for the tool parameters.
    { path: z.string().min(1, 'Path must not be empty') },
  • Inline handler function that performs input destructuring, calls the service, handles errors, and formats MCP response.
    async ({ path }) => { try { await webdavService.createDirectory(path); return { content: [{ type: 'text', text: `Directory created successfully at ${path}` }] }; } catch (error) { return { content: [{ type: 'text', text: `Error creating directory: ${(error as Error).message}` }], isError: true }; } }
  • Supporting WebDAVService method implementing directory creation using the underlying WebDAV client, with path normalization, logging, error handling, and result validation.
    async createDirectory(path: string): Promise<void> { const fullPath = this.getFullPath(path); logger.debug(`Creating directory: ${fullPath}`); try { // createDirectory in v5.x returns a boolean indicating success const result = await this.client.createDirectory(fullPath); // Check result based on type if (typeof result === 'boolean' && !result) { throw new Error("Failed to create directory: server returned failure status"); } else if (this.isResponseData(result) && result.status !== undefined && result.status !== 201 && result.status !== 204) { throw new Error(`Failed to create directory: server returned status ${result.status}`); } logger.debug(`Successfully created directory: ${fullPath}`); } catch (error) { logger.error(`Error creating directory ${fullPath}:`, error); throw new Error(`Failed to create directory: ${(error as Error).message}`); } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/LaubPlusCo/mcp-webdav-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server