Kavita eBook/comics/manga server bridge — libraries, series, volumes, reading lists, progress, OPDS
Server has 6 tools with basic schemas and descriptions, but significant gaps limit production readiness. Tool names lack clear action verbs (e.g., 'kavita_library_tool' vs 'list_libraries'). Descriptions are present but generic or incomplete, many lack context on WHEN to use the tool or what it returns. Parameter descriptions are minimal ('Op', 'Library ID'). No documented output schemas despite returning structured JSON. Error handling returns suggestions but lacks recovery guidance. Mock-only implementation with no real API integration visible.
[RATIONALE] Portmanteau for Kavita libraries. ## Return Format {"success": bool, "message": str, "result": {"items": list, "has_more": bool}}
Manage reading progress, bookmarks, and reading state for Kavita volumes
Manage Kavita series with list, search, get, and get_chapters operations
Get Kavita system status and version information
List and retrieve Kavita user information
Display Kavita status in a prefab UI card with badge
Tool names lack action verbs. 'kavita_library_tool' should be 'list_libraries', 'get_library', or 'scan_library' to signal intent. LLMs cannot infer what the tool does from the name alone.
Parameter descriptions are trivial ('Op', 'Library ID', 'Result limit'). No guidance on valid ranges, formats, or dependencies. E.g., 'operation' enum values are listed in schema but not explained in description.
No documented output schemas. Tools return JSON with 'success', 'message', 'result' fields, but LLMs cannot plan downstream calls without knowing the structure of 'result'. E.g., does kavita_library_tool return {items: [], has_more: bool} or {libraries: []}?
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2025-06-18+ | v2 |
Error handling returns generic suggestions ('Set KAVITA_URL and KAVITA_API_KEY') without recovery guidance. Errors should tell the LLM what to do next or whether to retry.
All tools return mock data only. No real API integration visible. 'mock': True flag in responses indicates this is a stub implementation, not production-ready.