crystal_remember
Store a memory manually. Use this when you’ve made a decision, learned something important, or want to ensure a fact is preserved — without waiting for automatic extraction. Every memory you store is embedded and added to the knowledge graph, making it immediately available for future recall.Parameters
A short, descriptive title. Must be between 5 and 80 characters. Good titles are specific and searchable:
"Chose PostgreSQL over SQLite — needs concurrent write support" not "database decision".The full memory content. Include enough context to be useful when recalled months from now — what was decided, why, what alternatives were rejected, what the outcome was.
The memory store to write to. Each store has different retention rules and search weights. Leave blank to let Memory Crystal infer the store from the content.
sensory— raw observations and signals; fades fastestepisodic— events and experiencessemantic— facts and knowledge (use for most decisions, facts, and lessons)procedural— how-to memory, runbooks, and repeated workflowsprospective— plans and future intentions
The memory category. Affects how the memory is weighted during recall. Leave blank to let Memory Crystal infer from the content.
decision— architectural or technical decisionslesson— things learned from mistakes or experienceperson— information about a personrule— constraints, policies, or standing instructionsevent— something that happenedfact— a stable factgoal— a target or intentionworkflow— a repeatable processconversation— a session summary or notable exchange
Tags for filtering and organization. Use 3–6 tags mixing specific (
convex, embedding) and general (architecture, decision). Pick consistent terms — deploy vs deployment, choose one.Confidence in the memory’s accuracy, from 0 to 1. Defaults to 0.7. Use higher values for well-established facts, lower for uncertain or tentative information.
Store this memory in a specific channel scope instead of the default scope.
Example
crystal_wake
Callcrystal_wake at the start of every session. It returns a briefing with active goals, recent decisions, and any standing guardrails — giving your AI immediate context before you start working.
In the OpenClaw plugin,
crystal_wake is called automatically at session start via the before_agent_start hook. If you’re using the MCP server, call it yourself at the beginning of each session.Parameters
Load the briefing for a specific channel scope. Useful when working across multiple projects or clients.
Example
crystal_checkpoint
Save a labeled snapshot of the current memory state. Use checkpoints at project milestones, before risky changes, or whenever you want a named restore point. You can also usemode: "list" to view existing checkpoints.
Parameters
A descriptive label for the checkpoint. Required when
mode is create. Describe what just happened or what state you’re capturing: "Finished auth refactor — all tests passing".create (default) to create a new checkpoint, or list to view existing checkpoints.An optional longer description of the checkpoint.
Tags for the checkpoint.
Specific memory IDs to include in the snapshot. Omit to include all current memories automatically.
When listing checkpoints: maximum number to return (1–100). When creating: maximum memories to include in the snapshot.
Scope the checkpoint to a specific channel.
Example
crystal_edit
Update an existing memory. Use this to correct errors, add new information, recategorize a memory, or update its status. Provide thememoryId and only the fields you want to change.
Parameters
The ID of the memory to update. Get this from
crystal_recall or crystal_stats results.New title for the memory.
New content for the memory.
New tags for the memory. Replaces the existing tag list.
New store for the memory. Valid values:
sensory, episodic, semantic, procedural, prospective.New category for the memory. Valid values:
decision, lesson, person, rule, event, fact, goal, workflow, conversation.Example
crystal_forget
Archive or permanently delete a memory. The default is a soft archive — the memory is hidden from recall but recoverable. Usepermanent: true only when you are certain the memory should be irretrievably deleted.
Parameters
The ID of the memory to archive or delete.
If
true, permanently and irretrievably deletes the memory. Defaults to false (soft archive).Optional reason for archiving or deleting. Stored in the audit log.
Example
crystal_trace
Trace a memory back to the source conversation that created it. Returns the conversation snapshot — the raw messages from the turn where the memory was extracted. Use this to verify a memory’s provenance or understand the context in which it was captured.Parameters
The ID of the memory to trace.
Example
crystal_stats
Returns health metrics and store statistics for your Memory Crystal account. Use it to understand memory usage, how memories are distributed across stores, capture activity, and which memories are strongest. No parameters required.Example
crystal_set_scope
Override the channel scope for the current session. By default, Memory Crystal uses thechannelScope set in plugin configuration. Use crystal_set_scope to temporarily switch to a different namespace — for example, to work on a different client project without changing the plugin config.
crystal_set_scope is only available in the OpenClaw plugin. The MCP server uses channel parameters on individual tool calls instead.Parameters
The scope string to apply for the remainder of the session. Use the same format as
channelScope in plugin config (e.g. "project:alpha", "client:acme").Example
crystal_ideas
Lists recent discoveries made by Memory Crystal’s Organic system — cross-memory connections, patterns, contradictions resolved, and insights found between sessions.Parameters
Filter by idea status.
pending— unread discoveries (default)starred— ideas you’ve saved as valuableall— everything
Maximum number of ideas to return. Must be between 1 and 20. Defaults to 5.
Example
crystal_idea_action
Take action on an Organic idea — star it as valuable, dismiss it, or mark it as read.Parameters
The ID of the idea to act on. Get this from
crystal_ideas results.The action to take.
star— save as valuable; surfaces incrystal_ideas({ status: "starred" })dismiss— hide from future resultsread— mark as acknowledged without starring or dismissing
