Anubis MCP Server exposing tools over stdio with SQLite FTS5 + vector search.
Server exposes 7 tools with basic descriptions and input schemas. Tool names follow verb_noun convention (search_*, list_*, remember, recall, get_*). Descriptions are present but brief (avg ~60 chars, below the 194-char baseline). Input schemas are visible and typed, but parameter descriptions are minimal or missing context. No output schemas documented. Error handling and recovery guidance absent. The 'remember' tool is WRITE-capable but lacks confirmation/dry-run pattern. Overall: functional definitions with gaps in LLM-optimization and error guidance.
Retrieve token usage statistics for embedding and chat API calls.
Lists the packages and versions currently indexed in this database. Every version decision search_docs makes is otherwise invisible: which version is stored, whether its embeddings are complete, and whether anything local is pinning it.
Retrieve facts and observations from the knowledge base using semantic search.
Store a fact or observation in the knowledge base for later retrieval and deduplication.
Search indexed package documentation using FTS5 and vector search with optional semantic ranking.
Search GitHub issues across repositories.
Search Hex packages by name, description, or keyword.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields without knowing response structure.
Descriptions are too brief (avg ~60 chars vs 194-char baseline). Missing WHEN to use, prerequisites, and return value hints. E.g., 'search_docs' lacks explanation of FTS5 vs vector ranking tradeoffs.
'remember' tool (WRITE) lacks confirmation/dry-run pattern. Agents can accidentally store incorrect facts without review. No guidance on deduplication strategy.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | <=2025-11-25 | v2 |
Parameter descriptions are minimal or absent. E.g., 'refresh' in search_docs lacks explanation of cost/timing. 'limit' in search_docs has no min/max bounds stated.
No error handling or recovery guidance. Tools do not document what happens on invalid query, missing package, or API failure. LLMs cannot self-correct.