Skip to main content
Glama

fs_mkdirp

Create directories recursively on remote servers via SSH, ensuring parent directories exist automatically for reliable file system setup.

Instructions

Creates directories recursively

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sessionIdYesSSH session ID
pathYesDirectory path to create
modeNoDirectory permissions mode

Implementation Reference

  • Implementation of the 'fs_mkdirp' logic using SFTP.
    export async function makeDirectories(
      sessionId: string,
      path: string
    ): Promise<boolean> {
      logger.debug('Creating directories', { sessionId, path });
      
      const session = sessionManager.getSession(sessionId);
      if (!session) {
        throw new Error(`Session ${sessionId} not found or expired`);
      }
      
      try {
        await session.sftp.mkdir(path, true); // recursive = true
        logger.debug('Directories created successfully', { sessionId, path });
        return true;
      } catch (error) {
        logger.error('Failed to create directories', { sessionId, path, error });
        throw wrapError(
          error,
          ErrorCode.EFS,
          `Failed to create directories ${path}. Check parent directory permissions.`
        );
      }
    }
  • src/mcp.ts:454-459 (registration)
    Registration of 'fs_mkdirp' in the request handler switch statement.
    case 'fs_mkdirp': {
      const params = FSPathSchema.parse(args);
      const result = await makeDirectories(params.sessionId, params.path);
      logger.info('Directories created', { sessionId: params.sessionId, path: params.path });
      return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
    }

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/oaslananka/mcp-ssh-tool'

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