A comprehensive MCP server demonstrating library management system with all MCP protocol features
Virtual Library MCP has two tools with explicit schemas and descriptions. browse_catalog_app is well-structured with clear enum constraints and parameter bounds; regenerate_catalog lacks input parameters (empty schema) but has a detailed description explaining multi-stage progress. Naming follows verb_noun convention appropriately. However, output schemas are not documented anywhere in the source, descriptions could be more precise about what data is returned, and error handling patterns are not visible. The server demonstrates good intent but falls short of production-grade definition quality due to missing output documentation and incomplete error guidance.
Use this when the user wants to browse or visually search the book catalog.
Perform full catalog maintenance with live progress reporting. Four stages, each reporting progress: data integrity (0-20%), search indexes (20-50%), circulation statistics (50-80%), and the recommendations cache (80-100%).
regenerate_catalog has empty input schema (no parameters defined), violates tool schema completeness.
Output schemas are not documented for either tool. LLMs cannot predict what fields to expect or how to chain calls downstream.
No error handling guidance in tool descriptions. If browse_catalog_app finds no results or regenerate_catalog fails, the LLM has no recovery hint.
browse_catalog_app description does not specify output format (e.g., 'Returns a list of books with title, author, ISBN, and availability status').
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 58 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 25 | - | v1 |
regenerate_catalog description mentions four stages and percentage ranges but does not document what the tool returns (success/failure status, new index stats, etc.).