Local-first memory system with search, dashboard, and MCP server. AI can directly search, save, and connect memories.
O-Brain defines 7 tools with complete input schemas and descriptions in Korean. Naming follows verb_noun convention (search_memory, save_memory, get_memory, etc.). However, descriptions lack English translations and are optimized for Korean speakers, limiting LLM comprehension in multilingual contexts. Parameter descriptions are present but minimal (10-50 chars). Output schemas are not documented, LLMs cannot predict response structure. Error handling is absent from visible code. No parameter validation guidance (e.g., content max 1000 chars stated in description but not enforced in schema). Tool composition is sound (7 single-responsibility tools), but parameter relationships (e.g., detail enum in search_memory) lack explicit dependency documentation.
두 기억을 관계로 연결한다. 관계 종류는 호출자가 명시(자동판정 금지): SUPERSEDES(번복)·SUPPORTS(뒷받침)·INFLUENCES(영향)·CONTRADICTS(충돌). 사용자가 확정한 관계만 연결할 것.
기억 1건의 전체 내용을 가져온다.
특정 기억과 직접 연결된(관계가 있는) 기억들을 관계 유형·방향과 함께 가져온다. 결정의 근거(뒷받침)·대체(번복)·충돌을 따라갈 때 쓴다.
주제(키워드)에 해당하는 기억을 시간순(오래된→최신)으로 보여, 결정이 어떻게 바뀌어왔는지(대체·충돌 포함) 파악한다. query 생략 시 전체 시간순.
기억의 카테고리 목록과 각 카테고리의 기억 수를 반환한다. UI 필터·주제 파악에 쓴다.
대화에서 나온 결정·제약·선호·패턴·지식을 기억으로 저장한다. 사용자가 또렷이 정한 것만(잡담·추측·AI 발언 금지). 저장 전 시크릿은 자동으로 가려진다. project에는 현재 작업 폴더 절대경로를 준다. category를 생략하면 내용 기반 자동분류가 적용된다.
과거 기억을 의미+키워드 하이브리드로 검색한다. 기본은 brief(제목 일부 snippet)로 토큰 절약 — 전체 내용이 필요하면 detail:"full" 또는 get_memory(id). project(현재 작업 폴더 절대경로)를 주면 그 프로젝트+전역을 우선한다.
Output schemas not documented. LLMs cannot predict response structure (fields, types, pagination). Forces agents to guess what search_memory returns or whether get_related includes relation metadata.
Descriptions in Korean only. Non-Korean-speaking LLMs (English, multilingual models) cannot reliably interpret tool purpose or parameter semantics. Reduces cross-language agent compatibility.
Parameter descriptions are minimal (10-50 chars). 'Memory ID' and 'Search query' lack context on format, constraints, or when to use. Baseline for A+ tools is 72 chars average.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
No error handling guidance in visible code. If search_memory returns 0 results or save_memory fails due to invalid content, LLM has no recovery path. Missing pattern:recovery-guide.
Parameter constraints stated in descriptions but not enforced in schema. 'content max 1000 chars' and 'limit 1-50' are text hints, not JSON Schema maxLength/minimum/maximum. LLMs cannot parse text constraints reliably.