Autonomous, self-improving AI agent memory server with hybrid RAG, wiki management, and git-backed vault synchronization
SecondBrain has 9 tools with clear verb-noun naming (remember, recall, get_RAG_response, search_wiki, get_page, edit_page, delete_page, get_graph, get_ingestion_logs). All tools have descriptions (avg ~80 chars, within baseline 34-392). Input schemas are present with type definitions and parameter descriptions. However, output schemas are not documented in the visible code, responses are formatted via helper functions but the LLM-facing schema is not declared. Error handling is minimal; no recovery guidance or actionable error messages visible. Parameter descriptions are adequate but lack constraint details (e.g., limit ranges, pagination bounds). No tool annotations (readOnlyHint, destructiveHint) despite clear risk levels (WRITE, DESTRUCTIVE). Composition is sound, tools are single-responsibility and chainable (search → get_page → edit_page). Missing: output schema documentation, error recovery patterns, parameter constraints, and tool annotations.
Hard-delete a wiki page (git keeps history)
Edit the raw markdown content of a wiki page
Retrieve context from the wiki using hybrid RAG (vector + graph search)
Retrieve the entire knowledge graph as nodes and edges
Retrieve ingestion operation logs with filtering and pagination
Retrieve the full content of a specific wiki page by ID
Search the wiki and retrieve matching pages with full content and neighbor relationships
Output schemas not documented. Tools return formatted responses via _format_search_results() and similar helpers, but the LLM-facing schema (fields, types, structure) is not declared. LLMs cannot plan downstream calls or extract data reliably without knowing response structure.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels. delete_page is DESTRUCTIVE, remember/edit_page are WRITE, others are READ_ONLY. Annotations guide agent safety and retry logic.
Parameter constraints missing. search_wiki and get_RAG_response accept 'limit' and 'offset' but no min/max bounds are documented. Unbounded numeric parameters let LLMs pass absurd values (limit=999999) that break performance.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
Store new information in the wiki as readable articles or article updates via LLM-driven ingestion
Search wiki pages with pagination support
Error handling lacks recovery guidance. No visible error responses that tell the LLM what to do next (e.g., 'Page not found. Try search_wiki() first.'). Raw errors or stack traces give agents nothing actionable.
delete_page is destructive but lacks confirmation/dry-run pattern. No visible pre-deletion validation or confirmation step. Agents can irreversibly delete pages without safeguards.