Intelligence Begins with Memory - A memory management system for LLM agents with layered memory tiers (skills, traces/policies, world models), retrieval tools, and integration with OpenClaw, DeepSeek Harness, and Hermes frameworks
MemOS exposes 10 tools (with 5 duplicates across tool list), all read-only memory retrieval operations. Naming is consistent (memos_* prefix) and verb-driven (search, get, list, timeline). Descriptions are present and moderately detailed (avg ~120 chars), explaining WHAT each tool does and WHEN to use it. However, schemas are incomplete: parameters lack type definitions in several cases, and output schemas are entirely undocumented. No error handling guidance, no recovery paths, and no tool annotations. The duplicate tool definitions (memos_search appears twice, memos_get twice, memos_timeline twice, memos_environment twice) suggest either incomplete source visibility or schema registration issues. Per-tool scores average 42 due to missing output documentation and incomplete parameter typing.
Inspect learned world/environment knowledge, including repository structure, constraints, and recurring patterns.
Inspect learned world/environment knowledge, including repository structure, constraints, and recurring patterns.
Fetch the full body of a memory item by id. `kind` can be "trace" (default), "policy", or "world_model".
Fetch bounded details for one MemOS trace, learned policy, or world model by its id.
Search MemOS memory (local traces + policies + world models + skills, plus connected Team Hub memories). Returns a ranked list of grounded snippets. Prefer this before claiming prior context is unavailable.
Search long-term MemOS memory across prior traces, learned policies, world models, and skills. Use this before claiming that earlier user context is unavailable.
Fetch the full definition of one learned skill by id.
Output schemas completely undocumented. No tool returns a documented response structure. LLMs cannot plan downstream calls or extract required fields (e.g., does memos_search return 'id', 'snippet', 'score'? Is it paginated?). This violates pattern:tool and pattern:response-shaper.
Duplicate tool definitions (memos_search, memos_get, memos_timeline, memos_environment each appear twice with slightly different schemas). This creates ambiguity for LLM tool selection and suggests incomplete source visibility or schema registration errors.
Parameter type definitions incomplete. Several parameters (e.g., 'query' in memos_search v1, 'limit' in memos_skill_list) lack explicit 'type' field in schema.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 67 | 2026-07-28+ | v2 |
List learned skills (candidate, active, or archived) with summaries.
Fetch the ordered MemOS traces for one episode to reconstruct an earlier task.
Return the ordered MemOS traces for one episode to reconstruct an earlier task.
No error handling or recovery guidance. Tools provide no documentation of failure modes, retryability, or what the LLM should do if a search returns no results or a memory item is not found. Violates pattern:recovery-guide.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All tools are read-only, but this is not declared in the schema. Modern MCP clients use annotations to optimize caching and retry logic.