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
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | Yes | SSH session ID | |
| path | Yes | Directory path to create | |
| mode | No | Directory permissions mode |
Implementation Reference
- src/fs-tools.ts:214-237 (handler)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) }] }; }