MCP server that bridges Legado Web HTTP and WebSocket APIs.
Server has 31 tools with basic naming and descriptions, but significant gaps in parameter documentation and output schema clarity. Most tools lack detailed parameter descriptions (e.g., 'source' params described only as 'BookSource object or dict' with no field guidance). No visible error handling guidance or recovery patterns. Output schemas are not documented, callers must infer structure from model_dump() calls. Tool descriptions are present but generic (avg ~80 chars, below 194-char baseline). No tool annotations (readOnlyHint/destructiveHint) despite clear risk stratification. Naming follows verb_noun convention well (get_, list_, save_, delete_, search_, debug_), but parameter names lack type suffixes (e.g., 'url' should clarify if it's a string identifier or full URI).
Add a local book file to the library.
Delete a book.
Get the chapter list for a book.
Get the content of a specific chapter.
Get the cover image for a book.
Get an image from a book.
Refresh the table of contents for a book.
Object parameters lack field documentation. 'source' param described only as 'BookSource object or dict' with no guidance on required/optional fields, constraints, or examples. LLMs cannot infer valid structure.
No output schema documentation. Tools return model_dump() dicts with no documented field structure. Callers must reverse-engineer response format from Legado API docs or trial-and-error.
No tool annotations despite clear risk stratification. 9 DESTRUCTIVE tools (delete_many, delete) and 8 WRITE tools lack readOnlyHint/destructiveHint annotations. Agents cannot distinguish safe from dangerous operations.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
Save a book.
Save reading progress for a book.
Search for books across all enabled sources and return sorted results. This tool waits for the search to complete or timeout.
Debug a book source and return all logs in one go. This is the recommended tool for book source debugging.
Delete multiple book sources.
Get a book source by URL.
List all book sources.
Save a book source.
Save multiple book sources.
List all books in the bookshelf.
Return the normalized summary of supported Legado HTTP and WS endpoints.
Check whether the Legado Web service is reachable.
Delete a replace rule.
List all replace rules.
Save a replace rule.
Test a replace rule against text.
Debug an RSS source and return logs in one go.
Delete multiple RSS sources.
Get an RSS source by URL.
List all RSS sources.
Save an RSS source.
Save multiple RSS sources.
Get web read configuration.
Save web read configuration.
No error handling guidance. Tools return raw API responses with no recovery hints. If a book_source_save fails, LLM has no guidance on whether to retry, validate input, or ask user.
Parameter descriptions too generic. 'url' params lack clarity on format (full URI vs. identifier). 'text' param in replace_rule_test has no length/encoding constraints. 'timeout_seconds' in debug/search tools lacks min/max bounds.