A top-level instruction file is read once and forgotten by the time the agent is deep in a function. Putting the note at a mirror path means it is reachable from the file itself, with no search step to get wrong. The drift checking is what keeps that honest — a note whose source has moved on is flagged rather than trusted, which is the failure mode every hand-written memory system eventually hits. The cost is process: this expects worktrees, gates and a closeout step, so it fits teams willing to adopt a workflow rather than just install a server.
A Python server that keeps versioned Markdown notes beside your code at deterministic mirror paths, verifies them against source commits before use, and updates them only after approved work lands.
- Path-addressed notes: a source file's context lives at a predictable mirror path, so an agent holding the file reaches the right note without searching or ranking
- context_packet — the orienting read at the start of a task
- memory_quality_check and drift_check — notes tested against source commits and fingerprints before they are believed
- memory_init and memory_baseline_status — a repository brought under memory management, and its baseline state reported
- resolve_context, for pulling the notes relevant to what is being changed
- Isolated dual worktrees through worktree_start, worktree_status, worktree_cleanup and worktree_abandon, so memory and code land together or not at all
- gate_decide and gate_list, for the approval points in the lifecycle
- dispatch_agent and the parent/child messaging tools, for coordinating more than one agent
- Repo-owned behaviour in system files — path rules, tools, coding guidelines, branch policy, reporting shape — so the same rules load whichever harness you use
- Starter packages for Claude Code, Codex, Cursor, Antigravity, VS Code Copilot, Hermes, Pi.dev and OpenClaw
Uv for uvx, or pip, with Python 3.11 or higher, and Git configured with a user name and email. Memory lives in the repository under ar-memory by default; teams wanting separate memory repositories use the external layout instead. No account and no key — everything is files and Git.
One command — uvx agents-remember-mcp@latest --config /absolute/path/to/agents-remember-settings.json
