Open-source personal second brain. Capture anywhere, query through your own Claude / ChatGPT via MCP. Exposes saved articles, links, notes, and social posts through MCP tools.
Four tools with clear verb-noun naming (search_memory, get_item, list_recent, add_note). All have descriptions (194 - 250 chars, within baseline 34 - 392). Input schemas present with typed parameters. search_memory and add_note have good parameter descriptions; get_item and list_recent lack depth. Output schemas not documented. Error handling present but generic. No tool annotations (readOnlyHint/destructiveHint). Composition is sound: tools chain logically (search → get_item). Risk classification (READ_ONLY vs WRITE) is explicit.
Write a new note into the user's Second Brain. Use when the user explicitly asks to remember, save, or note something during the conversation. The note is stored with source='mcp_client' and may be marked for review depending on the `review` flag (default: auto-approved). Do not use for routine chat; only when the user asks you to persist something for later.
Fetch the full saved content of a specific item by id. Use after search_memory when you need the full text of a result to quote or summarize.
List items the user saved most recently, newest first. Use when the user asks about 'what I saved today', 'lately', 'this week', or wants a chronological catch-up of their captures.
Search the user's Second Brain (saved articles, links, notes, social posts). Use this whenever the user asks about something they've saved, read, or bookmarked, or when the user mentions 'remember', 'earlier', 'that article', 'saved', or similar. Returns a list of matching items with titles, URLs, and text excerpts. Prefer short query strings of key nouns; the backend uses FTS5 full-text search.
Output schemas not documented. LLMs cannot infer what fields search_memory, get_item, list_recent, and add_note return, forcing them to guess downstream field names and risk broken tool chains.
get_item and list_recent descriptions are sparse (60 - 65 chars). get_item lacks guidance on when to call it vs search_memory; list_recent omits what 'recent' means (hours? days?).
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Risk field is present in metadata but not exposed as structured tool hints per MCP spec.
add_note 'review' parameter defaults to false (auto-approve). Default should not cause unintended side effects; auto-approval without user confirmation may violate intent.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
search_memory 'limit' parameter lacks explicit bounds in description. Rubric baseline: numeric params need min/max (e.g. 1 - 50). Current: 'cap 50' is mentioned but not as a formal constraint.