lidarr_get_quality_profiles
Retrieve available quality profiles from Lidarr to get valid qualityProfileId values when adding an artist.
Instructions
Get available quality profiles for Lidarr. Use this to find valid qualityProfileId values when adding an artist.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/index.ts:1930-1939 (handler)Handler for lidarr_get_quality_profiles tool. Calls clients.lidarr.getQualityProfiles() and returns profiles with just id and name fields.
case "lidarr_get_quality_profiles": { if (!clients.lidarr) throw new Error("Lidarr not configured"); const profiles = await clients.lidarr.getQualityProfiles(); return { content: [{ type: "text", text: JSON.stringify(profiles.map(p => ({ id: p.id, name: p.name })), null, 2), }], }; } - src/index.ts:669-677 (schema)Tool registration/schema for lidarr_get_quality_profiles. Defines the tool name, description, and input schema (empty object, no parameters).
{ name: "lidarr_get_quality_profiles", description: "Get available quality profiles for Lidarr. Use this to find valid qualityProfileId values when adding an artist.", inputSchema: { type: "object" as const, properties: {}, required: [], }, }, - src/index.ts:132-197 (registration)Dynamic tool registration via addConfigTools function. lidarr_get_quality_profiles is created by addConfigTools('lidarr', 'Lidarr (Music)') which is called at line 203 when clients.lidarr is configured.
function addConfigTools(serviceName: string, displayName: string) { TOOLS.push( { 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: [], }, }, { name: `${serviceName}_get_health`, description: `Get health check warnings and issues from ${displayName}. Shows any problems detected by the application.`, inputSchema: { type: "object" as const, properties: {}, required: [], }, }, { name: `${serviceName}_get_root_folders`, description: `Get root folders and storage info from ${displayName}. Shows paths, free space, and unmapped folders.`, inputSchema: { type: "object" as const, properties: {}, required: [], }, }, { 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: [], }, }, { name: `${serviceName}_get_naming`, description: `Get file naming configuration from ${displayName}. Shows naming patterns for files and folders.`, inputSchema: { type: "object" as const, properties: {}, required: [], }, }, { name: `${serviceName}_get_tags`, description: `Get all tags defined in ${displayName}. Tags can be used to organize and filter content.`, inputSchema: { type: "object" as const, properties: {}, required: [], }, }, { name: `${serviceName}_review_setup`, description: `Get comprehensive configuration review for ${displayName}. Returns all settings for analysis: quality profiles, download clients, naming, storage, indexers, health warnings, and more. Use this to analyze the setup and suggest improvements.`, inputSchema: { type: "object" as const, properties: {}, required: [], }, } ); - src/arr-client.ts:472-474 (helper)getQualityProfiles() method on the base ArrClient class. Makes an API GET request to /api/v1/qualityprofile (Lidarr uses v1). Returns QualityProfile[] data.
async getQualityProfiles(): Promise<QualityProfile[]> { return this.request<QualityProfile[]>('/qualityprofile'); }