get_file_info
Retrieve file metadata like size, permissions, and timestamps within allowed directories on Desktop Commander MCP for detailed file analysis and management.
Instructions
Retrieve detailed metadata about a file or directory including size, creation time, last modified time, permissions, and type. Only works within allowed directories.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes |
Implementation Reference
- src/tools/filesystem.ts:137-150 (handler)Core handler function that validates the path security and retrieves comprehensive file metadata using fs.stat.export async function getFileInfo(filePath: string): Promise<Record<string, any>> { const validPath = await validatePath(filePath); const stats = await fs.stat(validPath); return { size: stats.size, created: stats.birthtime, modified: stats.mtime, accessed: stats.atime, isDirectory: stats.isDirectory(), isFile: stats.isFile(), permissions: stats.mode.toString(8).slice(-3), }; }
- src/tools/schemas.ts:63-65 (schema)Zod schema defining the input as a single 'path' string parameter.export const GetFileInfoArgsSchema = z.object({ path: z.string(), });
- src/server.ts:180-187 (registration)Tool registration in the ListTools response, specifying name, description, and input schema.{ name: "get_file_info", description: "Retrieve detailed metadata about a file or directory including size, " + "creation time, last modified time, permissions, and type. " + "Only works within allowed directories.", inputSchema: zodToJsonSchema(GetFileInfoArgsSchema), },
- src/server.ts:315-326 (helper)Dispatch logic in CallTool handler that parses arguments, invokes the getFileInfo function, and formats the response.case "get_file_info": { const parsed = GetFileInfoArgsSchema.parse(args); const info = await getFileInfo(parsed.path); return { content: [{ type: "text", text: Object.entries(info) .map(([key, value]) => `${key}: ${value}`) .join('\n') }], }; }