sonarr_get_download_clients
Retrieve configured download client settings from Sonarr to manage TV show downloads and monitor download status.
Instructions
Get download client configurations from Sonarr (TV). Shows configured clients and their settings.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/index.ts:883-910 (handler)MCP tool handler for sonarr_get_download_clients (shared with other services). Fetches download clients via the service client and returns formatted JSON list.case "sonarr_get_download_clients": case "radarr_get_download_clients": case "lidarr_get_download_clients": case "readarr_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/index.ts:136-143 (registration)Tool registration in addConfigTools function, dynamically adds 'sonarr_get_download_clients' to TOOLS array if Sonarr is configured. Includes input schema (empty object). Called at line 175.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/arr-client.ts:543-545 (helper)Core implementation in ArrClient base class (inherited by SonarrClient). Makes API request to /downloadclient endpoint.async getDownloadClients(): Promise<DownloadClient[]> { return this.request<DownloadClient[]>('/downloadclient'); }
- src/arr-client.ts:326-342 (schema)Type definition for DownloadClient, used in getDownloadClients response typing and formatting.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[]; }
- src/index.ts:175-175 (registration)Conditional registration trigger: calls addConfigTools for Sonarr, adding sonarr_get_download_clients to available tools.if (clients.sonarr) addConfigTools('sonarr', 'Sonarr (TV)');