Skip to main content
Glama

arr_search_all

Search for media content across all configured *arr services using a single query to find TV shows, movies, music, and books.

Instructions

Search across all configured *arr services for any media

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
termYesSearch term

Implementation Reference

  • Handler for 'arr_search_all' tool that orchestrates searches across all configured *arr services (Sonarr, Radarr, Lidarr, Readarr) using their respective client search methods and aggregates results.
    case "arr_search_all": {
      const term = (args as { term: string }).term;
      const results: Record<string, unknown> = {};
    
      if (clients.sonarr) {
        try {
          const sonarrResults = await clients.sonarr.searchSeries(term);
          results.sonarr = { count: sonarrResults.length, results: sonarrResults.slice(0, 5) };
        } catch (e) {
          results.sonarr = { error: e instanceof Error ? e.message : String(e) };
        }
      }
    
      if (clients.radarr) {
        try {
          const radarrResults = await clients.radarr.searchMovies(term);
          results.radarr = { count: radarrResults.length, results: radarrResults.slice(0, 5) };
        } catch (e) {
          results.radarr = { error: e instanceof Error ? e.message : String(e) };
        }
      }
    
      if (clients.lidarr) {
        try {
          const lidarrResults = await clients.lidarr.searchArtists(term);
          results.lidarr = { count: lidarrResults.length, results: lidarrResults.slice(0, 5) };
        } catch (e) {
          results.lidarr = { error: e instanceof Error ? e.message : String(e) };
        }
      }
    
      if (clients.readarr) {
        try {
          const readarrResults = await clients.readarr.searchAuthors(term);
          results.readarr = { count: readarrResults.length, results: readarrResults.slice(0, 5) };
        } catch (e) {
          results.readarr = { error: e instanceof Error ? e.message : String(e) };
        }
      }
    
      return {
        content: [{ type: "text", text: JSON.stringify(results, null, 2) }],
      };
    }
  • src/index.ts:582-595 (registration)
    Registration of the 'arr_search_all' tool in the TOOLS array used for listing available tools, including its schema definition.
    TOOLS.push({
      name: "arr_search_all",
      description: "Search across all configured *arr services for any media",
      inputSchema: {
        type: "object" as const,
        properties: {
          term: {
            type: "string",
            description: "Search term",
          },
        },
        required: ["term"],
      },
    });
  • Input schema for the 'arr_search_all' tool requiring a 'term' string parameter.
    inputSchema: {
      type: "object" as const,
      properties: {
        term: {
          type: "string",
          description: "Search term",
        },
      },
      required: ["term"],
    },

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