readarr_get_authors
Retrieve all authors from your Readarr library to manage book collections and track literary content across your media server.
Instructions
Get all authors in Readarr library
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/index.ts:1423-1442 (handler)Handler for the readarr_get_authors tool. Fetches authors from ReadarrClient.getAuthors(), formats a summary with count, author details (ID, name, status, book counts, size on disk, monitored status), and returns as formatted JSON text.case "readarr_get_authors": { if (!clients.readarr) throw new Error("Readarr not configured"); const authors = await clients.readarr.getAuthors(); return { content: [{ type: "text", text: JSON.stringify({ count: authors.length, authors: authors.map(a => ({ id: a.id, authorName: a.authorName, status: a.status, books: a.statistics?.bookFileCount + '/' + a.statistics?.totalBookCount, sizeOnDisk: formatBytes(a.statistics?.sizeOnDisk || 0), monitored: a.monitored, })), }, null, 2), }], }; }
- src/index.ts:443-450 (registration)Registration of the readarr_get_authors tool in the TOOLS array. Defines name, description, and empty input schema (no parameters). Conditionally added if Readarr is configured.name: "readarr_get_authors", description: "Get all authors in Readarr library", inputSchema: { type: "object" as const, properties: {}, required: [], }, },
- src/arr-client.ts:838-843 (helper)ReadarrClient.getAuthors() helper method. Performs authenticated API GET request to the Readarr /author endpoint and returns array of Author objects./** * Get all authors */ async getAuthors(): Promise<Author[]> { return this['request']<Author[]>('/author'); }
- src/arr-client.ts:250-276 (schema)TypeScript interface Author defining the structure of author data returned from Readarr API, used in getAuthors() and tool output.export interface Author { id: number; authorName: string; sortName: string; status: string; overview: string; links: Array<{ url: string; name: string }>; images: Array<{ coverType: string; url: string }>; path: string; qualityProfileId: number; metadataProfileId: number; monitored: boolean; monitorNewItems: string; genres: string[]; cleanName: string; foreignAuthorId: string; tags: number[]; added: string; ratings: { votes: number; value: number; popularity: number }; statistics: { bookFileCount: number; bookCount: number; totalBookCount: number; sizeOnDisk: number; percentOfBooks: number; }; }