agentmemory

OpenClaw  agentmemory for OpenClaw

Your OpenClaw agents remember everything. No more re-explaining.
Persistent cross-session memory via agentmemory — 95.2% retrieval accuracy on LongMemEval-S.

43 MCP tools OpenClaw memory plugin 95.2% R@5 Self-hosted Apache 2.0

--- ## Install it in 30 seconds **Paste this prompt into OpenClaw** and it does the whole setup for you: ```text Install agentmemory for OpenClaw. Run `npx @agentmemory/agentmemory` in a separate terminal to start the memory server on localhost:3111. For zero-code setup, add this MCP server so OpenClaw gets all 43 memory tools: { "mcpServers": { "agentmemory": { "command": "npx", "args": ["-y", "@agentmemory/mcp"] } } } For deeper memory integration, copy `integrations/openclaw` from the agentmemory repo to `~/.openclaw/extensions/agentmemory`, then enable it in `~/.openclaw/openclaw.json`: { "plugins": { "slots": { "memory": "agentmemory" }, "entries": { "agentmemory": { "enabled": true, "config": { "base_url": "http://localhost:3111", "token_budget": 2000, "min_confidence": 0.5, "fallback_on_error": true, "timeout_ms": 5000 } } } } } Restart OpenClaw. Verify with `curl http://localhost:3111/agentmemory/health`. Open http://localhost:3113 for the real-time viewer. ``` That's it. OpenClaw handles the rest. ## Option 1: MCP server (zero code) Start the agentmemory server in a separate terminal: ```bash npx @agentmemory/agentmemory ``` Then add to your OpenClaw MCP config: ```json { "mcpServers": { "agentmemory": { "command": "npx", "args": ["-y", "@agentmemory/mcp"] } } } ``` OpenClaw now has access to all 43 MCP tools including `memory_recall`, `memory_save`, `memory_smart_search`, `memory_timeline`, `memory_profile`, and more. ## Option 2: OpenClaw memory plugin (deeper integration) Copy this folder into OpenClaw's extension directory: ```bash mkdir -p ~/.openclaw/extensions cp -r integrations/openclaw ~/.openclaw/extensions/agentmemory ``` Then enable it in `~/.openclaw/openclaw.json`: ```json { "plugins": { "slots": { "memory": "agentmemory" }, "entries": { "agentmemory": { "enabled": true, "config": { "base_url": "http://localhost:3111", "token_budget": 2000, "min_confidence": 0.5, "fallback_on_error": true, "timeout_ms": 5000 } } } } } ``` What the plugin does: - claims the `plugins.slots.memory = "agentmemory"` slot via `api.registerMemoryCapability({ promptBuilder })` so OpenClaw recognises it as the active memory plugin - recalls relevant long-term memory before the agent starts (via the `before_agent_start` hook) - captures completed conversation turns after the agent finishes (via the `agent_end` hook) - shares the same backend with Claude Code, Codex CLI, Gemini CLI, Hermes, pi, and other agents ### Memory runtime (current scope) The plugin currently registers a `promptBuilder` only — not a full `MemoryPluginRuntime` adapter. OpenClaw's `MemoryRuntimeBackendConfig` type today is `{ backend: "builtin" }` or `{ backend: "qmd" }`; both are openclaw-internal backends that don't fit agentmemory's external REST shape. The hook-driven recall + capture flow above is the working integration path. If you need OpenClaw's in-process memory-runtime APIs (e.g. `getMemorySearchManager`) backed by agentmemory, file an upstream request against `openclaw` for an `"external"` backend type and we'll wire `runtime` here once the contract supports it. ## Troubleshooting **Plugin validates but does not load** — make sure the folder contains `package.json`, `openclaw.plugin.json`, and `plugin.mjs`, and that `plugins.slots.memory` is set to `agentmemory`. **`plugins.slots.memory = "agentmemory"` reports `unavailable`** — upgrade to v0.9.11+. Older versions of this plugin registered hooks but never called `api.registerMemoryCapability(...)`, so the memory-slot machinery did not consider the slot claimed. The current plugin registers a memory capability (prompt builder) at startup, which is the documented OpenClaw API for occupying the slot. **Connection refused on port 3111** — the agentmemory server is not running. Start it with `npx @agentmemory/agentmemory`. **No memories returned** — open `http://localhost:3113` and verify observations are being captured. ## See also - [agentmemory main README](../../README.md) - [Hermes integration](../hermes/README.md) - [pi integration](../pi/README.md) ## License Apache-2.0 (same as agentmemory)