lidarr_search_missing
Search for missing albums by artist ID to complete music collections in Lidarr media management.
Instructions
Trigger a search for all missing albums for an artist
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| artistId | Yes | Artist ID to search missing albums for |
Implementation Reference
- src/arr-client.ts:790-798 (handler)Core handler in LidarrClient that executes the tool by POSTing to Lidarr /command endpoint with 'ArtistSearch' command for the given artistId.async searchMissingAlbums(artistId: number): Promise<{ id: number }> { return this['request']<{ id: number }>('/command', { method: 'POST', body: JSON.stringify({ name: 'ArtistSearch', artistId, }), }); }
- src/index.ts:1382-1396 (handler)MCP server request handler that validates Lidarr configuration, extracts artistId from arguments, calls LidarrClient.searchMissingAlbums, and formats the response.case "lidarr_search_missing": { if (!clients.lidarr) throw new Error("Lidarr not configured"); const artistId = (args as { artistId: number }).artistId; const result = await clients.lidarr.searchMissingAlbums(artistId); return { content: [{ type: "text", text: JSON.stringify({ success: true, message: `Search triggered for missing albums`, commandId: result.id, }, null, 2), }], }; }
- src/index.ts:408-421 (schema)Tool schema definition including name, description, and input schema requiring artistId.{ name: "lidarr_search_missing", description: "Trigger a search for all missing albums for an artist", inputSchema: { type: "object" as const, properties: { artistId: { type: "number", description: "Artist ID to search missing albums for", }, }, required: ["artistId"], }, },
- src/index.ts:346-437 (registration)Conditional registration of Lidarr tools (including lidarr_search_missing) to the TOOLS array if Lidarr client is configured.if (clients.lidarr) { TOOLS.push( { name: "lidarr_get_artists", description: "Get all artists in Lidarr library", inputSchema: { type: "object" as const, properties: {}, required: [], }, }, { name: "lidarr_search", description: "Search for artists to add to Lidarr", inputSchema: { type: "object" as const, properties: { term: { type: "string", description: "Search term (artist name)", }, }, required: ["term"], }, }, { name: "lidarr_get_queue", description: "Get Lidarr download queue", inputSchema: { type: "object" as const, properties: {}, required: [], }, }, { name: "lidarr_get_albums", description: "Get albums for an artist in Lidarr. Shows which albums are available and which are missing.", inputSchema: { type: "object" as const, properties: { artistId: { type: "number", description: "Artist ID to get albums for", }, }, required: ["artistId"], }, }, { name: "lidarr_search_album", description: "Trigger a search for a specific album to download", inputSchema: { type: "object" as const, properties: { albumId: { type: "number", description: "Album ID to search for", }, }, required: ["albumId"], }, }, { name: "lidarr_search_missing", description: "Trigger a search for all missing albums for an artist", inputSchema: { type: "object" as const, properties: { artistId: { type: "number", description: "Artist ID to search missing albums for", }, }, required: ["artistId"], }, }, { name: "lidarr_get_calendar", description: "Get upcoming album releases from Lidarr", inputSchema: { type: "object" as const, properties: { days: { type: "number", description: "Number of days to look ahead (default: 30)", }, }, required: [], }, } ); }