Skip to main content
Glama

arr_status

Check the operational status of all configured *arr media management services including Sonarr, Radarr, Lidarr, Readarr, and Prowlarr to monitor their availability and functionality.

Instructions

Get status of all configured *arr services. Currently configured: Sonarr (TV), Radarr (Movies), Lidarr (Music), Readarr (Books), Prowlarr (Indexers)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • Main handler logic for the 'arr_status' tool. Loops through configured *arr services, calls getStatus() on each client, collects connection status, versions, and errors, and returns a JSON summary of all services including unconfigured ones.
    case "arr_status": {
      const statuses: Record<string, unknown> = {};
      for (const service of configuredServices) {
        try {
          const client = clients[service.name];
          if (client) {
            const status = await client.getStatus();
            statuses[service.name] = {
              configured: true,
              connected: true,
              version: status.version,
              appName: status.appName,
            };
          }
        } catch (error) {
          statuses[service.name] = {
            configured: true,
            connected: false,
            error: error instanceof Error ? error.message : String(error),
          };
        }
      }
      // Add unconfigured services
      for (const service of services) {
        if (!statuses[service.name]) {
          statuses[service.name] = { configured: false };
        }
      }
      return {
        content: [{ type: "text", text: JSON.stringify(statuses, null, 2) }],
      };
    }
  • src/index.ts:92-100 (registration)
    Registration of the 'arr_status' tool in the TOOLS array, including name, description, and empty input schema (no parameters required).
        name: "arr_status",
        description: `Get status of all configured *arr services. Currently configured: ${configuredServices.map(s => s.displayName).join(', ')}`,
        inputSchema: {
          type: "object" as const,
          properties: {},
          required: [],
        },
      },
    ];
  • Input schema definition for 'arr_status' tool: empty object (no input parameters).
    inputSchema: {
      type: "object" as const,
      properties: {},
      required: [],
    },
  • Helper method 'getStatus()' in ArrClient base class, used by the arr_status handler to fetch individual service status via API call to '/system/status'.
     */
    async getStatus(): Promise<SystemStatus> {
      return this.request<SystemStatus>('/system/status');
    }
  • TypeScript interface defining the structure of SystemStatus returned by getStatus(), which includes app details used in arr_status output.
    export interface SystemStatus {
      appName: string;
      version: string;
      buildTime: string;
      isDebug: boolean;
      isProduction: boolean;
      isAdmin: boolean;
      isUserInteractive: boolean;
      startupPath: string;
      appData: string;
      osName: string;
      isDocker: boolean;
      isLinux: boolean;
      isOsx: boolean;
      isWindows: boolean;
    }

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