MCP server for Grimmory book management via stdio transport
Server has 17 tools with consistent naming (verb_noun pattern) and Zod schemas present. However, descriptions are generic and parameter documentation is sparse. Most tools lack actionable error guidance, recovery hints, and output schema documentation. Schemas are defined but not visible in tool registration calls, inferred from separate schema file. No tool annotations (readOnlyHint/destructiveHint) despite risk labels in metadata. Response format parameter is present on all tools but adds noise without clear value. Average description length ~60 chars (below 194-char baseline); many lack context for LLM selection.
Automatically match all unmatched authors to metadata providers
Delete one or more authors (destructive)
Find an author by their name (searches local database)
Get detailed information about a specific author
Get detailed information about a specific book
Get all authors associated with a specific book
Tool descriptions are generic and lack LLM-selection context. E.g., 'Update details for a specific author (name, description)' does not explain WHEN to call this vs other author tools, what happens on success, or prerequisites. Baseline: 194 chars; observed: ~50-60 chars.
Destructive tools (grimmory_delete_authors, grimmory_unmatch_authors) lack confirmation/dry-run support and error recovery guidance. No tool annotations (destructiveHint) visible in registration despite risk labels in metadata.
Output schemas not documented. Tools return data but LLMs cannot plan downstream calls without knowing response structure. E.g., does grimmory_list_books return book_id, title, author_id? Required for tool chaining.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | <=2025-11-25 | v2 |
Get details for a specific library by its UUID.
List authors with pagination and optional search filter
List books with pagination and optional filters
List all libraries in the Grimmory instance with optional pagination.
Manually link an author to a specific metadata provider entry
Automatically find and apply the best metadata match for an author
Search external metadata sources for author information
Search for author photos from external metadata providers
Set the photo URL for an author
Remove metadata provider associations from authors (destructive)
Update details for a specific author (name, description)
response_format parameter (json/markdown) present on all 17 tools adds noise without clear value. If markdown is for display only, move to client-side formatting. If both are needed, document when each is appropriate.
No error handling guidance visible. Tools do not document what errors are retryable, user-fixable, or fatal. E.g., if grimmory_match_author fails because provider is unreachable, should the agent retry or ask the user?