radarr_search_movie
Search for and download a movie already in your Radarr library using its ID to initiate the download process.
Instructions
Trigger a search to download a movie that's already in your library
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| movieId | Yes | Movie ID to search for |
Implementation Reference
- src/index.ts:1263-1279 (handler)MCP tool handler for radarr_search_movie: validates Radarr client, extracts movieId from arguments, calls RadarrClient.searchMovie, and returns success response with command ID.case "radarr_search_movie": { if (!clients.radarr) throw new Error("Radarr not configured"); const movieId = (args as { movieId: number }).movieId; const result = await clients.radarr.searchMovie(movieId); return { content: [{ type: "text", text: JSON.stringify({ success: true, message: `Search triggered for movie`, commandId: result.id, }, null, 2), }], }; } // Lidarr handlers
- src/index.ts:329-341 (registration)Tool registration in TOOLS array: defines name, description, and input schema requiring movieId (number).name: "radarr_search_movie", description: "Trigger a search to download a movie that's already in your library", inputSchema: { type: "object" as const, properties: { movieId: { type: "number", description: "Movie ID to search for", }, }, required: ["movieId"], }, }
- src/index.ts:331-341 (schema)Input schema definition: object with required movieId property of type number.inputSchema: { type: "object" as const, properties: { movieId: { type: "number", description: "Movie ID to search for", }, }, required: ["movieId"], }, }
- src/arr-client.ts:718-726 (helper)RadarrClient helper method: sends POST request to /command endpoint with 'MoviesSearch' command and movieIds array containing the specified movieId, returns command ID.async searchMovie(movieId: number): Promise<{ id: number }> { return this['request']<{ id: number }>('/command', { method: 'POST', body: JSON.stringify({ name: 'MoviesSearch', movieIds: [movieId], }), }); }