remove_multiple_directory
Delete multiple directories at once by specifying their paths. Simplify file management for Obsidian vaults stored in iCloud Drive, enhancing organization and efficiency.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"paths": "<paths>"
},
"name": "remove_multiple_directory"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| paths | Yes |
Implementation Reference
- src/file-system.ts:336-348 (handler)Core handler function that validates input args using the schema, removes multiple directories asynchronously using rimraf on each path in parallel, and returns the results in a standardized content format. Note: contains a bug in the error message referring to 'edit_file' instead of the correct tool name.
export async function removeMultipleDirectory(args?: Record<string, unknown>) { const parsed = RemoveMultipleDirectoryArgsSchema.safeParse(args) if (!parsed.success) { throw new Error(`Invalid arguments for edit_file: ${parsed.error}`) } const result = await Promise.all( parsed.data.paths.map((path) => rimraf(path)) ) return { content: [{ type: 'text', text: result }] } } - src/schemas.ts:46-48 (schema)Zod schema defining the input for the tool: an object containing an array of strings representing directory paths to remove.
export const RemoveMultipleDirectoryArgsSchema = z.object({ paths: z.array(z.string()) }) - src/index.ts:146-151 (registration)Registers the tool in the ListToolsRequest handler, specifying the tool name, a description generated from a prompt function, and the input schema converted to JSON schema.
name: 'remove_multiple_directory', description: removeMultipleDirectoryPrompt(), inputSchema: zodToJsonSchema( RemoveMultipleDirectoryArgsSchema ) as ToolInput }, - src/index.ts:207-209 (registration)In the CallToolRequest switch statement, dispatches execution to the removeMultipleDirectory handler function when the tool name matches.
case 'remove_multiple_directory': { return removeMultipleDirectory(args) }