agent-memory-v1
Provides local memory for GitHub Copilot CLI/app worktrees, storing events and enabling recall, retrieval, forgetting, and writing of memory entries.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@agent-memory-v1search my memories for the payment refactor notes"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Agent Mem
Local, self-learning memory shared by Claude Code, Codex, GitHub Copilot CLI and OpenCode.
Agent Mem records what your agents do through their hooks, learns from it, and gives every agent the relevant part of that history at the right moment. It makes no LLM calls of its own and has no daemon, no server and no open ports: one SQLite file on your machine.
What it does
Moment | What happens automatically |
Session start | A short briefing: commands that work in this project, decisions, dead ends, preferences, unresolved errors, the last session. |
You send a prompt | Up to three matching memories, only when the match is strong. |
Before a command or edit | A warning if it matches something you corrected before or a change that was reverted. Optionally a hard block (opt-in rules). |
A command fails | If this error was fixed before, the agent sees how. |
Turn ends | The turn (request, actions, result) is stored and indexed. |
Context compaction | The session goal, decisions and open problems are kept: re-injected after compaction (Claude Code, Codex) or added to the compaction prompt (OpenCode). |
All harnesses write into the same memory, so what Claude Code learned is available to Codex and vice versa. Notes that Claude Code and Codex write themselves (auto memory / memories) are read in as well.
How it learns (without an LLM)
Activation (ACT-R): memories that are used often and recently rank higher; unused ones fade but are never deleted.
Implicit feedback: a recalled memory counts as useful when the agent opens it, edits its files, or cites its id.
Error → fix recipes: a failing command, followed by edits and the same command passing, becomes a recipe.
Corrections → rules: "pnpm statt npm" / "use pnpm instead of npm" becomes a proposed rule; after enabling,
npmis blocked with the reason shown to the agent.Dead ends: reverted changes (
git checkout --,git restore,git reset --hard) become warnings for the same files.Association graph: files, commands, errors and packages that occur together are linked (Hebbian learning) and searched with Personalized PageRank.
Consolidation: once a day in the background, edges decay, repeated preferences become global, outdated facts are superseded and memories anchored to deleted files are invalidated.
Search combines SQLite FTS5, optional multilingual E5 embeddings, and the graph, fused with reciprocal rank fusion. Time words such as "gestern" or "last week" filter by date.
Related MCP server: CodeLedger
Install
Requirements: macOS, Linux or Windows and Python 3.11–3.14. uv installs a suitable Python automatically. On Intel Macs semantic search is not available (ONNX Runtime ships no wheels there); full-text and graph search work.
curl -LsSf https://raw.githubusercontent.com/Abuarchiv/agent-mem/main/install.sh | sh
# Windows: irm https://raw.githubusercontent.com/Abuarchiv/agent-mem/main/install.ps1 | iexor directly:
uv tool install "agent-mem[semantic] @ git+https://github.com/Abuarchiv/agent-mem"Then connect your harnesses:
agent-mem setup claude # Claude Code plugin (hooks + MCP)
agent-mem setup codex # Codex plugin or hooks.json + config.toml
agent-mem setup copilot # Copilot CLI plugin
agent-mem setup opencode # OpenCode plugin + MCP entry
agent-mem models install # optional: E5 model (~120 MB) for semantic search
agent-mem doctoragent-mem must be on your PATH because the hooks call it.
Harness notes:
Codex asks you to trust plugin hooks once (
/hooks).Copilot CLI currently ignores extra context returned after a successful tool call (github/copilot-cli#2980); session start, subagent start, pre-tool and failure hints work.
OpenCode: run sessions serially per repository (upstream snapshot lock).
Subagents (Claude Code, Codex, Copilot CLI) receive the same short briefing as a new session.
Bring in history from before the install:
agent-mem import claude # ~/.claude/projects/**/*.jsonl (subagent transcripts are skipped)
agent-mem import codex # ~/.codex/sessions/**/*.jsonl
agent-mem import claude-mem ~/.claude-mem/claude-mem.db
agent-mem import agentmemory export.jsonIf you used claude-mem or agentmemory, disable them afterwards; otherwise hooks run twice and context is injected twice.
Commands
agent-mem status [--json] | doctor [--fix] [--json] | paths
agent-mem view [--project DIR] [--output FILE] [--no-open] # read-only HTML page of your memory
agent-mem search "query" [--project DIR] [--all-projects] [--limit N] [--json]
agent-mem show T12 M3
agent-mem rules [list|enable|disable|delete] [ID]
agent-mem lessons # suggested lines for AGENTS.md / CLAUDE.md
agent-mem pause [--for 2h] | resume
agent-mem export [--project DIR] [--output FILE]
agent-mem purge --id ID | --project DIR | --before DATE | --all [--yes]
agent-mem backup | restore [FILE | --latest]
agent-mem consolidate | index [--no-download] | eval <longmemeval.json>
agent-mem setup <harness> [--write] | models [status|install] | import <source> [PATH] [--dry-run]MCP tools for agents: mem_search, mem_timeline, mem_get, mem_remember, mem_forget.
To browse the data, run agent-mem view. It writes one self-contained HTML page to the private data directory and opens it in your browser: timeline of turns with every action, memories with their activation, learned rules, error fixes and preferences, the association graph, and capture health. There is no server and no open port; the page blocks all network requests and shows a snapshot, so run the command again to refresh it. For raw SQL, open the database (agent-mem paths) with datasette or DB Browser for SQLite.
Configuration
config.json in the data directory (see agent-mem paths). Invalid values fall back to defaults and show up in agent-mem doctor. Main keys:
{
"capture": true,
"excluded_projects": ["/path/to/private/repo"],
"exclude_globs": [".env", ".env.*", "*.pem", "secrets/**"],
"budgets": {"session_start": 600, "prompt": 200, "failure": 120, "warning": 80, "compact": 400},
"rules": {"auto_enable": false, "min_corrections": 2},
"retention": {"payload_days": 30, "backup_keep": 7, "max_db_mb": 1024},
"semantic": {"enabled": true},
"summarize": {"enabled": false, "harness": "claude", "daily_limit": 5}
}exclude_globs replaces the default list (.env*, keys, certificates, secrets/**, …), so keep the defaults you still want. Per project, .agent-mem.json in the repository root can set {"capture": false} or extra "exclude" globs.
summarize.enabled is the only setting that causes generative model calls: once per finished session, in the background, through the harness you already use (claude -p or codex exec). It is off by default.
Privacy and security
Everything stays local. There is no telemetry. Agent Mem itself only goes online to download the optional embedding model; the optional session summaries run through your harness and its provider.
Secrets are redacted before storage (API keys, tokens, private keys, passwords in assignments and URLs).
<private>…</private>is never stored. Excluded files are recorded by path only.Recalled text is framed as data, not instructions. Content from web tools and third-party MCP servers is never injected automatically and never becomes a rule or preference.
The database is not encrypted at rest. The data directory is created with owner-only permissions on macOS and Linux.
purgedeletes the matching data from the database and the spool, replaces all backups with a fresh one and deletes the page written byagent-mem view.agent-mem viewwrites a copy of recent data toview/agent-mem.htmlin the data directory (owner-only permissions). With--outputyou choose another location and are responsible for it.
See SECURITY.md and ARCHITECTURE.md.
Development
uv sync --all-extras
uv run pytest
uv run ruff check src tests && uv run ruff format --check src tests && uv run pyrightLicense
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Private-by-default, local-first memory/context/task orchestrator for MCP apps and agents.
Shared memory for coding agents. Stop re-explaining your codebase every session.
Project memory, semantic code search, and grounded agent context.
Cross-tool persistent memory and context for AI assistants over MCP.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenancePersistent memory MCP server for AI coding agents. Stores, searches, and retrieves context across sessions using SQLite and FTS5.-
- AlicenseNot gradedqualityBmaintenanceGives coding agents a local, SQLite-backed memory of a codebase, enabling them to query symbol impact, change history, and task scope through MCP while recording what actually changed after edits.MIT
- AlicenseBqualityCmaintenanceProvides local, explicitly scoped memory for coding agents via MCP, storing durable project knowledge in a per-repository SQLite database with tools to record, search, and retrieve context.5MIT
- AlicenseAqualityBmaintenanceEnables fast, low-token code search for AI coding agents via a local BM25 engine built on SQLite FTS5, with support for camelCase, snake_case, and Japanese text. Provides a stateless MCP stdio server and a Hermes adapter for multi-agent environments.1MIT