Self-hosted document search and answers, with citations that resolve. MCP server providing 45 tools for document indexing, searching, and question-answering over a self-hosted corpus.
Manicule has 5 tools with basic verb-noun naming (collection_list, search, ask, document_create). All tools have descriptions (10-100 chars), but most are terse and lack actionable context for LLM selection. Input schemas are present for 4/5 tools but lack parameter descriptions entirely, the 'search' tool schema is inferred from pyproject.toml rather than visible in source code. Output schemas are undocumented. No error handling guidance, no pagination support despite search returning potentially large result sets, and no indication of which tools are idempotent or safe to retry. The 'ask' tool conflates search + synthesis into one operation, violating single-responsibility. Tool composition is weak: no chaining IDs documented, no recovery paths for failures.
Ask a question and get an answer with citations from the corpus
Get document and chunk counts for a collection
List all collections in the workspace
Create a new document in an authoring collection
Search for passages in collections by query
Parameter descriptions missing entirely. Input schemas exist but lack descriptions for 'query', 'collections', 'limit', 'profile', 'path', 'content' parameters. LLMs cannot infer parameter meaning from names alone (e.g., 'profile' could mean user profile, retrieval profile, or execution profile).
Output schemas undocumented. No specification of what fields search(), ask(), collection_list(), or collection_counts() return. LLMs cannot plan downstream tool calls or extract required chaining IDs without knowing response structure.
No pagination support visible. 'search' tool accepts 'limit' but no offset/cursor or total_count documented. Large result sets will blow context window; no guidance on result capping or pagination strategy.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
'ask' tool conflates search + synthesis. Combines two concerns (retrieval + generation) into one tool, preventing agent composition. Should split into separate search and generate tools.
No error handling guidance. No indication of retryable vs. fatal errors, no recovery paths (e.g., 'collection not found, try collection_list() first'), no actionable error messages documented.