MCP server for Readarr: manage your book library via the Readarr API
Readarr MCP has well-structured tool definitions with consistent naming (verb_noun pattern), clear descriptions (avg ~120 chars), and complete JSON schemas with type constraints. All 15 tools are explicitly registered with inputSchema. However, output schemas are entirely undocumented, LLMs cannot predict response structure for downstream chaining. Error handling is minimal; no recovery guidance or actionable error messages. Parameter descriptions lack format constraints (e.g., 'limit' has no min/max bounds). No tool annotations (readOnlyHint/destructiveHint) despite clear risk stratification. Missing idempotency guidance for write operations.
Add a new author to your library. You need the foreignAuthorId from readarr_search_authors (the Goodreads ID). Use this to start tracking a new author.
Delete an author from Readarr. Optionally delete files from disk. WARNING: This cannot be undone!
Get all authors in your Readarr library. Returns complete list with book counts and file status.
Get detailed information about a specific author by their Readarr ID, including all books and their file status.
Find an author in your library by name (case-insensitive partial match).
Get all books for a specific author by their author ID. Returns title, file status, and format info.
No output schemas documented. LLMs cannot predict response structure, field names, or types for downstream tool chaining. E.g., readarr_search_authors returns results but structure is invisible to the agent.
Numeric parameters (limit, id, authorId, qualityProfileId) lack min/max bounds. LLMs can pass absurd values (limit=999999, id=-1) that break API calls or cause timeouts.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Tools are risk-stratified (READ_ONLY, WRITE, DESTRUCTIVE) but this metadata is not exposed to the MCP protocol, limiting agent safety guardrails.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 69 | 2026-07-28+ | v2 |
Get system health status. Shows any warnings or errors with your Readarr instance.
Get all quality profiles. Shows available quality settings for assigning to authors.
Get current download queue. Shows active downloads, their progress, and status.
Get configured root folders. Shows paths, free space, and Calibre settings.
Get system status information. Shows version, build time, and other info.
Get all tags. Shows available tags for organizing authors.
Get missing/wanted books. Shows books that are monitored but don't have files yet.
Refresh author metadata and rescan for new books. Use when you've added books manually or want updated info.
Search for authors by name. Use this to find the author ID needed to add a new author, or to see if an author is already in your library.
No error recovery guidance. ReadarrClient.request() throws generic errors ('Readarr API 404 on /author/123: Not found') with no actionable next steps. LLM cannot self-correct or suggest alternatives.
readarr_delete_author lacks confirmation/dry-run pattern. Destructive operation with deleteFiles=true can permanently remove user data. No confirmation step or undo mechanism.