readarr_search_missing
Search for missing books by author ID to complete your digital library collection through the MCP *arr Server's media management system.
Instructions
Trigger a search for all missing books for an author
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| authorId | Yes | Author ID to search missing books for |
Implementation Reference
- src/index.ts:503-516 (registration)Registers the 'readarr_search_missing' tool in the TOOLS array if Readarr client is configured. Defines the input schema requiring 'authorId'.{ name: "readarr_search_missing", description: "Trigger a search for all missing books for an author", inputSchema: { type: "object" as const, properties: { authorId: { type: "number", description: "Author ID to search missing books for", }, }, required: ["authorId"], }, },
- src/index.ts:503-516 (schema)Input schema for the tool: object with required 'authorId' number.{ name: "readarr_search_missing", description: "Trigger a search for all missing books for an author", inputSchema: { type: "object" as const, properties: { authorId: { type: "number", description: "Author ID to search missing books for", }, }, required: ["authorId"], }, },
- src/index.ts:1523-1537 (handler)MCP server tool handler: validates Readarr config, extracts authorId from args, calls ReadarrClient.searchMissingBooks, returns success response with command ID.case "readarr_search_missing": { if (!clients.readarr) throw new Error("Readarr not configured"); const authorId = (args as { authorId: number }).authorId; const result = await clients.readarr.searchMissingBooks(authorId); return { content: [{ type: "text", text: JSON.stringify({ success: true, message: `Search triggered for missing books`, commandId: result.id, }, null, 2), }], }; }
- src/arr-client.ts:893-901 (handler)ReadarrClient method: POST to /command with 'AuthorSearch' and authorId to trigger search for missing books in Readarr API.async searchMissingBooks(authorId: number): Promise<{ id: number }> { return this['request']<{ id: number }>('/command', { method: 'POST', body: JSON.stringify({ name: 'AuthorSearch', authorId, }), }); }