aimemo is a zero-dependency MCP memory server for AI agents, with the goal of providing persistent, searchable, local-first memory capabilities and distributing it as a single Go binary. It does not require Docker, a Node.js runtime, a cloud account, or an API key; installation is via brew, and it is officially said to be completed in about 30 seconds.
In terms of use, aimemo lets agents retain context between sessions: Claude automatically calls memory_context at the start of each session, so it can see what it was doing before, what blockers it encountered, and what decisions it made, reducing repeated explanations.
Main capabilities include: memory is stored with the project, with data kept in the .aimemo/ directory next to the code, which can be committed to git or added to .gitignore; when switching branches, the memory follows the directory; full-text search uses FTS5 and BM25 scoring, weighted by recency and access frequency, so relevant memories surface first; concurrent sessions are supported through SQLite WAL mode, allowing multiple Claude windows to write simultaneously without locking each other out; users can inspect, edit, retract, and export the same data in the terminal, and memories are saved as readable Markdown or JSON, not locked into a proprietary format.
In terms of usage, it runs as a stdio MCP server, with the command aimemo serve, and Claude Code manages the process lifecycle, so there is no need to keep the process alive yourself. When Claude starts a session, it calls memory_context to load relevant prior context, and during work it calls memory_store and memory_link to record decisions and relationships. Users can call aimemo search, aimemo list, or aimemo get in the terminal at any time to read or edit the same data. All data is located in a SQLite database inside .aimemo/, discovered by searching upward from the current directory, similar to how Git finds .git/.
The official description states that the total schema size of all tools is less than 2,000 tokens; each call has a hard 5-second timeout, and the server will not block the session; empty-state queries return within 5 milliseconds. CLI commands all support --context <name> to point to a named context (a separate .db file in .aimemo/). Global configuration is located at ~/.aimemo/config.toml, with all items optional; project-level overrides are located in .aimemo/config.toml at the project root, and when keys are the same, the project value takes precedence.
In terms of client support, aimemo can work with any MCP-compatible AI coding client, and the server command is always aimemo serve. Official documentation provides configuration location instructions for clients such as Claude Code, Cursor, Windsurf, OpenAI Codex CLI, Cline (VS Code), Continue (VS Code / JetBrains), and Zed. For macOS/Homebrew, GUI applications may not inherit the shell PATH; if the client cannot find aimemo, you can use the absolute path /opt/homebrew/bin/aimemo, or commit .mcp.json to the project root.
Regarding OpenClaw integration, aimemo addresses the problems of OpenClaw's native Markdown memory degrading with use, skills sharing memory causing cross-contamination, and context compression losing important context through per-skill memory isolation and zero infrastructure. Each skill can obtain independently isolated memory through the context parameter, for example in SKILL.md calling memory_context({context: "my-skill"}) and memory_store({ context: "my-skill", entities: [{ name: "preferences", entityType: "config", observations: ["User prefers snake_case"] }] }). Official materials also provide a complete example skill at examples/openclaw-github-pr-reviewer/, including reviewing GitHub PRs, learning code style preferences, remembering patterns across sessions, and storing feedback for improvement.
Limitations and notes: the above information comes from official materials; facts not provided, such as fees, pricing, platforms, effects, or specific usage steps, are not yet available. Problem feedback and feature requests can be submitted through GitHub Issues, and for non-trivial changes it is recommended to open an issue first to align on direction.