readarr_get_naming
Retrieve file and folder naming patterns for book organization in Readarr to maintain consistent library structure.
Instructions
Get file naming configuration from Readarr (Books). Shows naming patterns for files and folders.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/index.ts:913-927 (handler)Handler for readarr_get_naming tool: extracts service name, retrieves ReadarrClient instance, fetches naming config via API and returns as JSON.case "sonarr_get_naming": case "radarr_get_naming": case "lidarr_get_naming": case "readarr_get_naming": { const serviceName = name.split('_')[0] as keyof typeof clients; const client = clients[serviceName]; if (!client) throw new Error(`${serviceName} not configured`); const naming = await client.getNamingConfig(); return { content: [{ type: "text", text: JSON.stringify(naming, null, 2), }], }; }
- src/index.ts:145-152 (registration)Registers the readarr_get_naming tool dynamically via template when addConfigTools('readarr') is called.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: [], }, },
- src/index.ts:147-151 (schema)Input schema for readarr_get_naming: empty object (no parameters required).inputSchema: { type: "object" as const, properties: {}, required: [], },
- src/arr-client.ts:550-552 (helper)Core implementation in ArrClient (inherited by ReadarrClient): makes API request to /config/naming endpoint.async getNamingConfig(): Promise<NamingConfig> { return this.request<NamingConfig>('/config/naming'); }
- src/arr-client.ts:344-369 (schema)Type definition for naming configuration response, including Readarr-specific fields.export interface NamingConfig { renameEpisodes?: boolean; replaceIllegalCharacters: boolean; colonReplacementFormat?: string; standardEpisodeFormat?: string; dailyEpisodeFormat?: string; animeEpisodeFormat?: string; seriesFolderFormat?: string; seasonFolderFormat?: string; specialsFolderFormat?: string; multiEpisodeStyle?: number; // Radarr renameMovies?: boolean; movieFolderFormat?: string; standardMovieFormat?: string; // Lidarr renameTracks?: boolean; artistFolderFormat?: string; albumFolderFormat?: string; trackFormat?: string; // Readarr renameBooks?: boolean; authorFolderFormat?: string; bookFolderFormat?: string; standardBookFormat?: string; }