Komga comics/manga/BD/eBook server bridge — libraries, series, books, read progress, OPDS
komga-mcp exhibits significant definition quality gaps. Tool names lack action verbs (komga_library_tool, komga_series_tool instead of list_libraries, get_series). Descriptions are present but inconsistent: some include rationale and return format (library, series, books tools), others are minimal (users, system tools). Parameter descriptions are sparse or missing entirely (komga_series lacks descriptions for series_id, query, library_id; komga_books lacks descriptions for book_id, series_id, progress). No documented output schemas beyond inline comments. Error handling returns structured errors but lacks recovery guidance. The portmanteau pattern (consolidating multiple operations into single tools with operation enums) violates single-responsibility principle and forces LLMs to reason about operation selection.
[RATIONALE] Books and read progress. ## Return Format {"success": bool, "message": str, "result": dict}
[RATIONALE] Industrial portmanteau consolidates Komga library ops to avoid tool explosion. ## Return Format {"success": bool, "message": str, "result": {"items": list, "has_more": bool, "total": int}} ## Examples komga_library(operation="list", limit=20) komga_library(operation="get", library_id="lib-mock-1")
[RATIONALE] Portmanteau for series browsing/search. ## Return Format {"success": bool, "message": str, "result": {"items": list, "has_more": bool}}
Get Komga system status information
List or get user information from Komga
Display Komga status in a prefab UI card with badge
Tool names lack action verbs. 'komga_library_tool', 'komga_series_tool' do not convey intent. Should be 'list_libraries', 'get_library', 'search_series', 'get_series', 'list_books', 'get_book', 'mark_book_progress', 'list_users', 'get_user', 'get_system_status'.
Portmanteau pattern (operation enum consolidating list/get/search into single tools) violates single-responsibility principle. LLMs must reason about which operation to invoke. Split into separate tools: list_libraries, get_library, search_series, get_series, list_books, get_book, mark_book_progress.
Parameter descriptions missing or incomplete. komga_series: series_id, query, library_id lack descriptions. komga_books: book_id, series_id, progress lack descriptions. komga_users: user_id lacks description. komga_system: operation description is just 'Op'.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2025-06-18+ | v2 |
Output schemas documented only in docstring comments, not in structured form. No explicit return type declarations. Baseline: 100% of A+ tools have documented return types.
Error handling returns structured errors with suggestions but lacks recovery guidance. Errors like 'not_found' should suggest next steps: 'Library not found. Try list_libraries() to see available libraries.'