Skip to main content
Glama

OpenClaw Memory

Your AI conversations disappear after every session. OpenClaw Memory fixes that.

Every time you chat with an AI coding assistant, valuable context — decisions, solutions, debugging steps — vanishes when the session ends. The next session starts from zero.

OpenClaw Memory automatically records every conversation turn to local Markdown files, making your entire AI chat history searchable and browsable. No cloud, no database — just plain text files in your project.

How It Works

You chat with AI  →  Every turn auto-saved to .openclaw_memory/journal/2026-02-24.md
                  →  Search past conversations via MCP tool or web viewer

Each journal entry captures the complete conversation: timestamps, model used, your input, the AI's full response, and any code changes made.

Related MCP server: Amber

Quick Start

1. Install

pip install claw-memory

2. Initialize in your project

cd your-project
claw-memory init

This creates:

  • .openclaw_memory/journal/ — where chat history lives

  • .cursor/mcp.json — connects the MCP server to Cursor

  • .cursor/rules/memory.mdc — tells the AI agent to auto-record

3. Restart Cursor — that's it. Every conversation is now being recorded.

Searching Past Conversations

The AI agent can search your history automatically. Just ask naturally:

"We discussed this before, what was the solution?"

"Last time we fixed a similar bug, how did we do it?"

The agent will call memory_search() behind the scenes and find matching conversations.

Search via Web Viewer

# Single project (current directory)
claw-memory web

# Multiple projects — scan a parent directory
claw-memory web --scan-dir ~/projects

Opens a browser-based viewer where you can:

  • Browse journal files by date

  • Full-text search across all conversations

  • Dark/light mode

  • Multi-project view: use --scan-dir to scan a parent directory and browse all projects in one place, with sidebar grouped by project

What Gets Recorded

Each conversation turn is saved as Markdown:

## 14:32 | claude-4-opus

### User

How do I fix the N+1 query problem in the user list endpoint?

### Agent

The issue is in `api/users.py` where each user triggers a separate query for their roles...

### Code Changes

- `api/users.py` (modified)
- `tests/test_users.py` (modified)

MCP Tools

Tool

Purpose

memory_log_conversation

Record a complete conversation turn

memory_log_conversation_append

Append to the last turn (for long responses)

memory_search

Search chat history by keyword

Storage

All data is stored locally in .openclaw_memory/journal/ as plain Markdown files — one file per day. No database, no cloud sync. You own your data.

The .openclaw_memory/ directory is auto-gitignored to prevent accidental commits of chat history.

Project Isolation

Each project gets its own .openclaw_memory/ directory. MCP tools always operate on the current project only.

To view multiple projects together, use the web viewer with --scan-dir.

License

Apache 2.0

Available Tools

3 tools
memory_log_conversationA

Record one full conversation turn to today's journal.

You MUST pass the complete user message and your entire reply — no truncation, no summary, no "..." or "see above". If your reply is very long, pass the first part here then use memory_log_conversation_append() for the rest.

Args: user_message: The user's full message in this turn. agent_response: Your full reply (complete text, every paragraph). model: The model used for this response (e.g. "claude-4-opus"). code_changes: Optional. Files created/modified, e.g. "- src/foo.py (created)". title: Optional. One-line summary for this turn; if empty, derived from first line of user_message.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_messageYes
agent_responseNo
modelNo
code_changesNo
titleNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Explains temporal scoping ('today's journal'), integrity requirements ('complete' messages), and default title derivation logic. However, lacks disclosure on error handling, idempotency, or size limits before requiring the append sibling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with clear progression: purpose → constraints → workflow guidance → parameter docs. The Args section is necessary given 0% schema coverage. Slightly verbose format but every sentence earns its place by conveying required usage constraints.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given output schema exists (per context signals), description appropriately omits return value details. Covers primary workflow and sibling coordination. Minor gap: does not specify maximum length thresholds before requiring append tool, which would be useful for 'complete' message handling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% (only titles, no descriptions), but the Args section compensates fully by providing semantic meaning for all 5 parameters, including format examples like 'claude-4-opus' for model and '- `src/foo.py` (created)' for code_changes.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description opens with specific verb+resource ('Record one full conversation turn to today's journal') and distinguishes from siblings by explicitly naming memory_log_conversation_append() for handling long replies, clearly differentiating initial logging vs continuation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit conditional guidance: 'If your reply is very long, pass the first part here then use memory_log_conversation_append() for the rest.' Also states mandatory constraints ('You MUST pass the **complete** user message... no truncation').

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

memory_log_conversation_appendA

Append more text to the last Agent section in today's journal.

Use after memory_log_conversation() when your full reply did not fit in one call. Can be called multiple times; each chunk is appended to the same turn.

Args: agent_response_chunk: Next part of your reply to append (no truncation).

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_response_chunkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It effectively discloses key behaviors: it appends to 'today's journal', maintains 'the same turn' across multiple calls, and guarantees 'no truncation'. Missing minor details like error cases if no previous section exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three efficient sentences/stanzas: first defines the action, second explains the workflow timing and multi-call behavior, third documents the parameter. No wasted words; information is front-loaded with the core action in the first sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has only one parameter and an output schema exists (so return values need not be described), the description is complete. It adequately explains the journaling workflow, chunking mechanism, and parameter semantics. Could be improved by mentioning error states or auth requirements.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% (no property descriptions in the JSON schema). The description compensates by documenting the parameter in the Args section, explaining it is the 'Next part of your reply' and adding the 'no truncation' constraint which is not inferable from the schema type alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states a specific action ('Append more text') on a specific resource ('the last Agent section in today's journal'). It clearly distinguishes this tool from sibling 'memory_log_conversation' by explaining this is for continuation/appending when a reply doesn't fit in one call.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use ('Use after memory_log_conversation() when your full reply did not fit in one call') and includes repetition guidance ('Can be called multiple times'). It clearly references the sibling tool as the prerequisite/primary alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 3 tool updatesv1.2.1
    • First observedmemory_log_conversation
    • First observedmemory_log_conversation_append
    • First observedmemory_search

TDQS

A4/5.0
Disambiguation5/5

The three tools have clearly distinct purposes with no overlap: memory_log_conversation records a complete conversation turn, memory_log_conversation_append extends that recording when needed, and memory_search retrieves past conversations. Each tool serves a unique function in the conversation logging workflow.

Naming Consistency4/5

The naming follows a consistent memory_verb_noun pattern with minor deviations: memory_log_conversation and memory_search fit perfectly, while memory_log_conversation_append is slightly longer but maintains the same prefix structure. All use snake_case consistently.

Tool Count5/5

Three tools is ideal for this server's purpose of conversation memory management. It covers the core workflow of logging, appending when responses are long, and searching history without being overly complex or insufficient for the domain.

Completeness4/5

The toolset provides solid coverage for basic conversation memory operations: logging, extending logs, and searching. A minor gap exists in lacking update/delete capabilities for recorded conversations, but agents can work effectively with the provided CRD (create, read, delete via omission) functionality.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Gives your AI persistent memory across conversations. Stores facts automatically, finds them by meaning using hybrid search with query expansion, and organizes everything into topics without manual tagging.
    18
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides a persistent, local-first memory for coding agents over MCP, enabling automatic recall and recording of past work, failures, and decisions to reduce repetition and token usage.
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Process memory for AI agents and humans that remembers the evolution of a project. Provides MCP tools to create timeline events, search history, explain files, and visualize the evolution graph.
    4
    1
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/liuhao6741/openclaw-memory'

If you have feedback or need assistance with the MCP directory API, please join our Discord server