lidarr_get_root_folders
Retrieve root folder paths, storage capacity, and unmapped directories from Lidarr for music library management and organization.
Instructions
Get root folders and storage info from Lidarr (Music). Shows paths, free space, and unmapped folders.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/index.ts:127-135 (registration)Tool registration definition for lidarr_get_root_folders (template used when lidarr is configured). Includes name, description, and input schema (empty object).name: `${serviceName}_get_root_folders`, description: `Get root folders and storage info from ${displayName}. Shows paths, free space, and unmapped folders.`, inputSchema: { type: "object" as const, properties: {}, required: [], }, }, {
- src/index.ts:177-177 (registration)Call to addConfigTools for Lidarr, which registers the lidarr_get_root_folders tool.if (clients.lidarr) addConfigTools('lidarr', 'Lidarr (Music)');
- src/index.ts:855-880 (handler)MCP tool call handler for lidarr_get_root_folders. Dispatches to LidarrClient.getRootFoldersDetailed(), formats response with folder details including free space and unmapped folders count.// Root folders case "sonarr_get_root_folders": case "radarr_get_root_folders": case "lidarr_get_root_folders": case "readarr_get_root_folders": { const serviceName = name.split('_')[0] as keyof typeof clients; const client = clients[serviceName]; if (!client) throw new Error(`${serviceName} not configured`); const folders = await client.getRootFoldersDetailed(); return { content: [{ type: "text", text: JSON.stringify({ count: folders.length, folders: folders.map(f => ({ id: f.id, path: f.path, accessible: f.accessible, freeSpace: formatBytes(f.freeSpace), freeSpaceBytes: f.freeSpace, unmappedFolders: f.unmappedFolders?.length || 0, })), }, null, 2), }], }; }
- src/arr-client.ts:578-580 (handler)Core implementation: LidarrClient.getRootFoldersDetailed() fetches root folders from Lidarr API endpoint /rootfolder (uses v1 API).async getRootFoldersDetailed(): Promise<RootFolder[]> { return this.request<RootFolder[]>('/rootfolder'); }
- src/arr-client.ts:406-412 (schema)Type definition for RootFolder used in getRootFoldersDetailed() response.export interface RootFolder { id: number; path: string; accessible: boolean; freeSpace: number; unmappedFolders?: Array<{ name: string; path: string }>; }