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