arr_status
Check the operational status of all configured *arr media services: Sonarr, Radarr, Lidarr, Prowlarr.
Instructions
Get status of all configured *arr services. Currently configured: Sonarr (TV), Radarr (Movies), Lidarr (Music), Prowlarr (Indexers)
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/index.ts:87-96 (schema)Schema/definition of the arr_status tool - no input parameters required, dynamic description based on configured services.
{ name: "arr_status", description: configuredServices.length > 0 ? `Get status of all configured *arr services. Currently configured: ${configuredServices.map(s => s.displayName).join(', ')}` : "Get status of all supported *arr services. No local *arr services are currently configured, but TRaSH reference tools remain available.", inputSchema: { type: "object" as const, properties: {}, required: [], }, - src/index.ts:1153-1182 (handler)Handler for arr_status tool - queries each configured *arr service via getStatus(), returns version/appName for connected services, or error/configured:false for 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 jsonText(statuses); } - src/arr-client.ts:422-424 (helper)Base ArrClient.getStatus() helper that calls the /api/v3/system/status endpoint on the *arr service.
async getStatus(): Promise<SystemStatus> { return this.request<SystemStatus>('/system/status'); }