remove_multiple_files
Delete multiple files from an Obsidian vault stored in iCloud Drive by specifying their paths, enabling efficient file management within the Model Context Protocol framework.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| paths | Yes |
Implementation Reference
- src/file-system.ts:277-291 (handler)The main handler function that parses the input arguments using RemoveMultipleFilesArgsSchema, deletes the specified files using fs.unlink in parallel, and returns a standardized content response with the operation result.export async function removeMultipleFiles(args?: Record<string, unknown>) { const parsed = RemoveMultipleFilesArgsSchema.safeParse(args) if (!parsed.success) { throw new Error( `Invalid arguments for remove_multiple_files: ${parsed.error}` ) } const result = await Promise.all( parsed.data.paths.map((path) => fs.unlink(path)) ) return { content: [{ type: 'text', text: result }] } }
- src/schemas.ts:21-23 (schema)Zod schema defining the input for the tool: an object containing an array of file paths as strings.export const RemoveMultipleFilesArgsSchema = z.object({ paths: z.array(z.string()) })
- src/index.ts:126-129 (registration)Tool registration in the ListToolsRequestHandler: defines the tool name, description from prompt, and converts schema to JSON schema for input validation.name: 'remove_multiple_files', description: removeMultipleFilesPrompt(), inputSchema: zodToJsonSchema(RemoveMultipleFilesArgsSchema) as ToolInput },
- src/index.ts:191-193 (registration)Dispatch case in the CallToolRequestHandler switch statement that routes calls to the removeMultipleFiles handler function.case 'remove_multiple_files': { return removeMultipleFiles(args) }
- src/prompts.ts:29-29 (helper)Prompt generator for the tool's description (currently empty string).export const removeMultipleFilesPrompt = () => ''