로컬 second-brain — 내 노트(.md)가 정본인 개인 기억 계층: capture·검색·백업·동기화 + MCP
Four tools with mixed quality. All have descriptions and basic schemas, but several critical gaps: (1) capture_note has Korean-language parameter descriptions ('결정 캡처') that are opaque to English-speaking LLMs and violate the chat-data-model principle; (2) parameter descriptions lack actionable constraints (no enums, ranges, or format specs); (3) no output schemas documented; (4) error handling absent, no guidance on what to do if a note fails to save or search returns nothing; (5) brief tool description is vague ('세션 시작 브리핑') and doesn't explain when/why to call it vs search_notes. Naming is reasonable (verb_noun pattern), but parameter design is weak.
세션 시작 브리핑 — 힌트(프로젝트·주제)로 관련 결정 노트를 찾아 선택·이유·전제 상태를 요약해 반환한다. 새 세션이 과거 결정을 가지고 시작하게 하는 도구. CLAUDE.md류 지침에 '세션 시작 시 brief 호출' 한 줄을 넣어 연결한다(런타임 중립).
Save a markdown note into a second-brain notes folder (canonical) and index it. Use to persist knowledge, decisions, snippets, resource info. folder picks which notes folder (label) to write to; default is the first. See whoami for labels.
Semantically search second-brain notes. Returns matching snippets with [label/path]. folder limits the search to one notes folder (label); default searches all. See whoami for labels.
Report which brain this is — the public-safe deployment id and note folder labels in use. Use before capture/search to confirm you're on the right notes.
capture_note uses Korean-language parameter descriptions ('결정 캡처: 무엇을 골랐나', '결정 캡처: 왜 골랐나') that are opaque to English-speaking LLMs. This violates the chat-data-model principle and forces LLMs to guess parameter intent.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract structured data without knowing what fields to expect (e.g., does search_notes return [snippets] or {results: [], total: 0}?).
capture_note parameters lack actionable constraints. 'folder' has no enum of valid labels; 'tags' has no format guidance; 'volatility' in assumptions has no enum (high|low). Free-form strings invite hallucinated values.
brief tool description is vague ('세션 시작 브리핑') and doesn't explain when to call it vs search_notes, or what 'hint' should contain. LLMs cannot determine tool selection without clear differentiation.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
No error handling guidance. What happens if a note fails to save? If search returns no results? If folder label is invalid? LLMs need recovery paths, not silent failures.