lidarr_get_download_clients
Retrieve configured download client settings from Lidarr to manage music downloads and monitor client status.
Instructions
Get download client configurations from Lidarr (Music). Shows configured clients and their settings.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/index.ts:883-910 (handler)Handler for lidarr_get_download_clients (and similar tools): extracts service name, fetches LidarrClient instance, calls getDownloadClients(), formats and returns the list of download clients as JSON.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-142 (registration)Tool registration in addConfigTools function: defines the 'lidarr_get_download_clients' tool schema (empty input) and description, added to TOOLS array when Lidarr is configured.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:541-545 (helper)Core helper method in ArrClient (inherited by LidarrClient): makes API request to /downloadclient endpoint to fetch download clients.* Get download clients */ async getDownloadClients(): Promise<DownloadClient[]> { return this.request<DownloadClient[]>('/downloadclient'); }
- src/index.ts:175-178 (registration)Conditional registration call: adds lidarr_get_download_clients (and other config tools) to TOOLS if Lidarr client is configured.if (clients.sonarr) addConfigTools('sonarr', 'Sonarr (TV)'); if (clients.radarr) addConfigTools('radarr', 'Radarr (Movies)'); if (clients.lidarr) addConfigTools('lidarr', 'Lidarr (Music)'); if (clients.readarr) addConfigTools('readarr', 'Readarr (Books)');
- src/arr-client.ts:326-342 (schema)Type definition for DownloadClient interface used in getDownloadClients response.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[]; }