radarr_get_download_clients
Retrieve download client configurations from Radarr to view settings and status of all configured clients for movie downloads.
Instructions
Get download client configurations from Radarr (Movies). Shows configured clients and their settings.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/index.ts:161-169 (registration)Tool registration: `radarr_get_download_clients` is registered via the `addConfigTools('radarr', 'Radarr (Movies)')` call at line 202, which generates the tool name `radarr_get_download_clients`.
{ name: `${serviceName}_get_download_clients`, description: `Get download client configurations from ${displayName}. Shows configured clients and their settings.`, inputSchema: { type: "object" as const, properties: {}, required: [], }, }, - src/index.ts:1271-1297 (handler)Handler: The tool handler for `radarr_get_download_clients` (lines 1271-1297) extracts the service name from the tool name, calls `client.getDownloadClients()`, and returns formatted JSON with client details (id, name, implementation, protocol, enabled, priority, etc.).
case "sonarr_get_download_clients": case "radarr_get_download_clients": case "lidarr_get_download_clients": { const serviceName = name.split('_')[0] as keyof typeof clients; const client = clients[serviceName]; if (!client) throw new Error(`${serviceName} not configured`); const downloadClients = await client.getDownloadClients(); return { content: [{ type: "text", text: JSON.stringify({ count: downloadClients.length, clients: downloadClients.map(c => ({ id: c.id, name: c.name, implementation: c.implementationName, protocol: c.protocol, enabled: c.enable, priority: c.priority, removeCompletedDownloads: c.removeCompletedDownloads, removeFailedDownloads: c.removeFailedDownloads, tags: c.tags, })), }, null, 2), }], }; } - src/arr-client.ts:486-488 (helper)Helper API method: `getDownloadClients()` on `ArrClient` class makes a GET request to `/api/v3/downloadclient` endpoint and returns typed `DownloadClient[]` data.
async getDownloadClients(): Promise<DownloadClient[]> { return this.request<DownloadClient[]>('/downloadclient'); } - src/arr-client.ts:268-284 (schema)Schema/type definition: `DownloadClient` interface defines the shape of download client data returned by the API.
export interface DownloadClient { id: number; name: string; implementation: string; implementationName: string; configContract: string; enable: boolean; protocol: string; priority: number; removeCompletedDownloads: boolean; removeFailedDownloads: boolean; fields: Array<{ name: string; value: unknown; }>; tags: number[]; }