Skip to main content
Glama

radarr_search

Search for movies to add to your Radarr media library using a search term. Find and add movies to your collection through the MCP *arr Server.

Instructions

Search for movies to add to Radarr

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
termYesSearch term (movie name)

Implementation Reference

  • src/index.ts:292-304 (registration)
    Tool registration and input schema definition for 'radarr_search'. Added to TOOLS array if Radarr client is configured.
    name: "radarr_search", description: "Search for movies to add to Radarr", inputSchema: { type: "object" as const, properties: { term: { type: "string", description: "Search term (movie name)", }, }, required: ["term"], }, },
  • Handler function that executes the radarr_search tool: extracts 'term' argument, calls clients.radarr.searchMovies(term), formats top 10 results as JSON response.
    case "radarr_search": { if (!clients.radarr) throw new Error("Radarr not configured"); const term = (args as { term: string }).term; const results = await clients.radarr.searchMovies(term); return { content: [{ type: "text", text: JSON.stringify({ count: results.length, results: results.slice(0, 10).map(r => ({ title: r.title, year: r.year, tmdbId: r.tmdbId, imdbId: r.imdbId, overview: r.overview?.substring(0, 200) + (r.overview && r.overview.length > 200 ? '...' : ''), })), }, null, 2), }], }; }
  • RadarrClient.searchMovies method: performs API request to /movie/lookup endpoint with search term, returns SearchResult[].
    async searchMovies(term: string): Promise<SearchResult[]> { return this['request']<SearchResult[]>(`/movie/lookup?term=${encodeURIComponent(term)}`); }
  • RadarrClient class definition, including searchMovies method that implements the core search functionality via Radarr API.
    export class RadarrClient extends ArrClient { constructor(config: ArrConfig) { super('radarr', config); } /** * Get all movies */ async getMovies(): Promise<Movie[]> { return this['request']<Movie[]>('/movie'); } /** * Get a specific movie */ async getMovieById(id: number): Promise<Movie> { return this['request']<Movie>(`/movie/${id}`); } /** * Search for movies */ async searchMovies(term: string): Promise<SearchResult[]> { return this['request']<SearchResult[]>(`/movie/lookup?term=${encodeURIComponent(term)}`); }
  • SearchResult interface used by searchMovies method, defines structure of search results including Radarr-specific fields like tmdbId and imdbId.
    export interface SearchResult { title: string; sortTitle: string; status: string; overview: string; year: number; images: Array<{ coverType: string; url: string }>; remotePoster?: string; // Sonarr specific tvdbId?: number; // Radarr specific tmdbId?: number; imdbId?: string; // Lidarr specific foreignArtistId?: string; // Readarr specific foreignAuthorId?: string; }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/aplaceforallmystuff/mcp-arr'

If you have feedback or need assistance with the MCP directory API, please join our Discord server