One local service remembers work across coding agents
agentmemory captures coding sessions, turns selected material into persistent records, and lets later sessions search or receive that context. MCP gives compatible clients a shared interface, while hooks and skills add deeper behavior for tools such as Claude Code, Codex, and Cursor. The service can run without an LLM key using keyword search. Local embeddings add semantic retrieval after a model download, and hosted providers can supply embeddings or summarization. A viewer exposes the stored sessions and records.
This is a larger installation than the words "local memory" suggest. Our checkout at commit 2d38daf contained 656 files, about 89,246 source lines, and 35.6 MB. The npm install added 299 packages and ended at 1,235 MB on disk. The repository has a tests directory, 2 CI workflow files, and a compose file, but no Dockerfile. The runtime also starts a pinned iii engine rather than storing everything inside the Node process alone.
Four ports and one data directory define the local service
The README assigns REST and MCP HTTP, streams, the viewer, and the iii worker WebSocket to 4 local ports. State lives in a platform-specific directory outside the current repository unless a flag or environment variable overrides it. That separation is helpful because memories survive project cleanup. It also makes backup, deletion, access control, and multi-instance naming explicit operator jobs. Reusing the same data directory on restart is required for persistence.
Fresh setup needs Node.js 20 or newer. On macOS and Linux, automatic engine installation also expects curl, a POSIX shell, and tar. Native Windows uses a manually installed pinned iii binary, WSL2, or Docker Desktop. Our build completed in 17 seconds after the 115-second install. That result did not exercise the first local embedding model download, a hosted provider, agent hook registration, or recovery from a damaged state directory.
What happened when we ran it
We ran commit 2d38daf in an unprivileged Debian container with 3 CPUs, 8 GB of RAM, Node 22, and no secrets. Installation succeeded in 115 seconds. The build passed in 17 seconds, and the available tests passed in 31 seconds. The clean result covers the repository commands we ran, not retrieval quality or memory usefulness across real coding sessions.
Npm audit reported 14 known vulnerabilities in the installed dependency tree: 6 high and 8 moderate, with 0 critical and 0 low. The final dependency footprint was 1,235 MB for 299 packages. Those findings should block an automatic rollout into sensitive repositories. Review the affected dependency paths, decide which are reachable in the deployed configuration, and record an upgrade or mitigation before enabling hooks that observe private code and prompts.
Capture can preserve noise as well as decisions
The useful promise is continuity: an agent can recall project decisions without loading a huge static instruction file. That depends on project identity and capture hygiene. Issue 515 reports that Codex worktree paths can be treated as separate projects, fragmenting context that belongs to one repository. Issue 993 describes Claude Code hooks recording agentmemory's own MCP searches as observations, creating records that can appear in later recall. Both faults can make missing or noisy context look like a retrieval-quality problem.
A passing 31-second test run does not tell you what the store contains after a month. Inspect the viewer, query for known decisions, and check whether deleted or corrected facts still surface. Start with a disposable repository and a separate data directory. Enable only the adapters and hooks you need. If an agent will receive recalled content automatically, treat that content as untrusted project data rather than instructions with authority.
Background processing and graph storage need limits
Issue 1244 reports that v0.9.29 repeatedly summarized sessions that already had summaries, generating far more model calls than new material justified. Issue 1238 says setting GRAPH_EXTRACTION_ENABLED=false still allowed structural graph writes, contrary to what the reporter expected from the flag. These reports are configuration-specific, but they identify costs that are easy to miss because the agent can keep working while memory processing happens in the background.
GitHub recorded the last repository push on August 24, 2026, and release v0.9.29 on August 16. The project had 27,493 stars and 505 combined issues and pull requests when fetched. Active work continued on August 26, including fixes around state, providers, and graph statistics. The 17-second build and 31-second tests make a sandbox trial reasonable. The 14 audit findings, four-port service, and open state-management reports make a cautious, observable rollout the right next step.

