radarr_get_quality_profiles
Retrieve quality profiles from Radarr to view allowed formats, upgrade settings, and custom format scores for movie management.
Instructions
Get detailed quality profiles from Radarr (Movies). Shows allowed qualities, upgrade settings, and custom format scores.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/index.ts:795-827 (handler)Handler for the 'radarr_get_quality_profiles' tool (shared logic for multiple services). Extracts the service name from the tool name, retrieves the corresponding client (RadarrClient), calls getQualityProfiles(), and returns a formatted JSON response with profile count, IDs, names, upgrade settings, allowed qualities, and custom format scores.case "sonarr_get_quality_profiles": case "radarr_get_quality_profiles": case "lidarr_get_quality_profiles": case "readarr_get_quality_profiles": { const serviceName = name.split('_')[0] as keyof typeof clients; const client = clients[serviceName]; if (!client) throw new Error(`${serviceName} not configured`); const profiles = await client.getQualityProfiles(); return { content: [{ type: "text", text: JSON.stringify({ count: profiles.length, profiles: profiles.map(p => ({ id: p.id, name: p.name, upgradeAllowed: p.upgradeAllowed, cutoff: p.cutoff, allowedQualities: p.items .filter(i => i.allowed) .map(i => i.quality?.name || i.name || (i.items?.map(q => q.quality.name).join(', '))) .filter(Boolean), customFormats: p.formatItems?.filter(f => f.score !== 0).map(f => ({ name: f.name, score: f.score, })) || [], minFormatScore: p.minFormatScore, cutoffFormatScore: p.cutoffFormatScore, })), }, null, 2), }], }; }
- src/index.ts:176-176 (registration)Conditional registration call that adds the 'radarr_get_quality_profiles' tool to the TOOLS array if Radarr client is configured.if (clients.radarr) addConfigTools('radarr', 'Radarr (Movies)');
- src/index.ts:109-116 (registration)Dynamic tool registration code within addConfigTools function that creates the tool definition for '*_get_quality_profiles' (instantiated as 'radarr_get_quality_profiles' when serviceName='radarr'), including name, description, and empty input schema.name: `${serviceName}_get_quality_profiles`, description: `Get detailed quality profiles from ${displayName}. Shows allowed qualities, upgrade settings, and custom format scores.`, inputSchema: { type: "object" as const, properties: {}, required: [], }, },
- src/index.ts:112-116 (schema)Input schema for the tool: empty object (no parameters required).type: "object" as const, properties: {}, required: [], }, },
- src/arr-client.ts:529-531 (helper)Core helper method called by the handler: makes API request to '/qualityprofile' endpoint to fetch raw quality profiles data from Radarr server.async getQualityProfiles(): Promise<QualityProfile[]> { return this.request<QualityProfile[]>('/qualityprofile'); }
- src/arr-client.ts:290-309 (schema)TypeScript interface defining the structure of quality profile data returned from Radarr API, used for type safety in client.getQualityProfiles() and response formatting.export interface QualityProfile { id: number; name: string; upgradeAllowed: boolean; cutoff: number; items: Array<{ id?: number; name?: string; quality?: { id: number; name: string; source: string; resolution: number }; items?: Array<{ quality: { id: number; name: string } }>; allowed: boolean; }>; minFormatScore: number; cutoffFormatScore: number; formatItems: Array<{ format: number; name: string; score: number; }>; }