move_file
Move or rename files and directories in a single operation, ensuring both source and destination paths are within permitted locations for organized file management.
Instructions
Move or rename files and directories. Can move files between directories and rename them in a single operation. Both source and destination must be within allowed directories.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| destination | Yes | ||
| source | Yes |
Implementation Reference
- src/tools/filesystem.ts:101-105 (handler)The core handler function for the move_file tool. Validates both source and destination paths using validatePath and performs the move using fs.rename.export async function moveFile(sourcePath: string, destinationPath: string): Promise<void> { const validSourcePath = await validatePath(sourcePath); const validDestPath = await validatePath(destinationPath); await fs.rename(validSourcePath, validDestPath); }
- src/tools/schemas.ts:53-56 (schema)Zod schema defining the input arguments for the move_file tool: source and destination paths as strings.export const MoveFileArgsSchema = z.object({ source: z.string(), destination: z.string(), });
- src/server.ts:164-171 (registration)Registration of the move_file tool in the server's tool list, providing name, description, and input schema.{ name: "move_file", description: "Move or rename files and directories. Can move files between directories " + "and rename them in a single operation. Both source and destination must be " + "within allowed directories.", inputSchema: zodToJsonSchema(MoveFileArgsSchema), },
- src/server.ts:301-307 (registration)Dispatch case in the CallToolRequest handler that parses arguments using the schema and invokes the moveFile handler.case "move_file": { const parsed = MoveFileArgsSchema.parse(args); await moveFile(parsed.source, parsed.destination); return { content: [{ type: "text", text: `Successfully moved ${parsed.source} to ${parsed.destination}` }], }; }