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
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/index.ts:760-791 (handler)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: [], }, }, ];
- src/index.ts:94-98 (schema)Input schema definition for 'arr_status' tool: empty object (no input parameters).inputSchema: { type: "object" as const, properties: {}, required: [], },
- src/arr-client.ts:484-488 (helper)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'); }
- src/arr-client.ts:15-30 (schema)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; }