Rememb
This server provides local-first long-term memory management for AI agents, including reading/searching entries, writing/updating/deleting memory, stats, consolidation, initialization, and bundled skills access.
Read all memory entries or filter by section, with truncation and summary options.
Read paginated slices with tag/section filters and sorting for large stores.
Search memory by content/tags (schema describes semantic similarity; README describes keyword/token matching) and return top results.
Create new memory entries with content, section, tags, and duplicate-guard scope.
Edit existing entries by ID (content, section, tags) non-destructively.
Delete a single entry permanently or clear all entries with confirmation.
View memory statistics (totals, size, date range, section counts).
Consolidate duplicate entries in exact or semantic mode.
Initialize storage idempotently, optionally with project name.
List bundled skills and load a skill's instructions by identifier/name.

Operate AI agents without losing context between sessions. rememb is local-first long-term memory: structured entries, keyword search, versioning, diff, restore, and audit trail — no cloud, no API keys.
Related MCP server: engram-mcp
The problem
Teams using agents at real velocity rarely fail because they lack generation. They fail because operating agents every day creates context debt:
too much re-explaining project facts every session
too little durable memory outside the chat window
too little audit trail for why something changed
too much noise when recalling the right context
Every team or solo developer operating agents professionally hits this wall:
Session 1: "We're using PostgreSQL, auth at src/auth/, prefer async patterns."
Session 2: Agent starts from zero. You explain everything again.
Session 3: Same thing.Existing solutions often center on hosted memory layers, API keys, or opaque context pipelines. What you actually need is to resume the next session with the minimum correct context and a trail you can inspect.
rememb is built around four memory problems:
durable facts and decisions instead of session-only chat memory
keyword search instead of rereading everything (agents judge relevance)
non-destructive versioning instead of silent overwrites
local-first audit trail for AI work, not opaque cloud logs
Install
pip install remembQuick Start
With MCP (recommended)
1. Install the door, or add the MCP block by hand:
rememb install --apply --projectThat writes the MCP server, Memory Rules, and SessionStart / PostToolUse / Stop hooks when the host has them (Cursor and Claude today). Without --apply it only prints the plan. --host limits the target; omit it to write every host rememb install knows (cursor, claude, codex, vscode, copilot, windsurf, continue, gemini, opencode, zed, cline).
Or add this to your IDE's MCP config and paste the rules from MCP_TOOLS.md:
{
"mcpServers": {
"rememb": {
"command": "rememb",
"args": ["mcp"]
}
}
}Add repeatable --project /path/to/repo args for per-project stores alongside global ~/.rememb. Details: MCP_TOOLS.md.
2. Restart your IDE.
SessionStart injects recent entries, tags, and a short stats block. The agent writes durable memory when something changes, and searches only when targeted recall is needed.
No extra storage setup is required. In MCP mode, rememb auto-initializes ~/.rememb and optional --project stores on first use. Public tools: MCP_TOOLS.md (18 tools).
If you want multiple MCP clients on the same machine to reuse one already-running rememb process, start a persistent local SSE transport:
rememb mcp --transport sse --host 127.0.0.1 --port 8765This keeps one MCP process alive, so repeated clients can connect through http://127.0.0.1:8765/sse and http://127.0.0.1:8765/messages/.
Do not put --transport sse inside a stdio MCP client config. stdio clients expect JSON-RPC on stdin/stdout; the SSE mode exposes an HTTP endpoint and must be started separately.
Local usage without MCP
rememb # Open the web UI (http://localhost:18181)
rememb --port 9000 # Custom portHow it works
~/.rememb/ ← default store location (MCP and Web UI)
entries.json ← default JSON backend (or entries.db with SQLite)
meta.json ← project metadata
config.json ← limits, sections, storage backend, UI pagingA local store on disk. Your agent can read prior decisions, search by keywords and tokens, update entries without losing history, and restore previous versions without depending on a cloud memory service. Copy ~/.rememb/ anywhere to move the store.
User: "We're using PostgreSQL, auth at src/auth/, async patterns"
Agent: [rememb_write] → Saved
[New session]
SessionStart injects recent + tags + stats (handoff first)
Agent: "I see you're using PostgreSQL with auth at src/auth/..."Writes, edits, and deletes go through rememb_write, rememb_edit, and rememb_delete. Host hooks also write into actions via rememb hook post-tool / stop. For the full MCP surface, see MCP_TOOLS.md.
Search uses keyword and token matching over entry content and tags. rememb_search returns id, score, tags, date, and a short excerpt (search_excerpt_chars, default 160). Full body is rememb_get / rememb_read on the ids the agent picked, or max_chars=0 on search. The agent applies semantic relevance judgment. No API keys, no cloud, no embedding model download at runtime.
config.json is written during initialization with all supported knobs:
{
"max_content_length": 1000000,
"max_tag_length": 500,
"max_tags_per_entry": 100,
"max_entries": 100000,
"sections": ["project", "actions", "systems", "requests", "user", "context"],
"section_colors": {
"project": "#d84848",
"actions": "#d08020",
"systems": "#d4c430",
"requests": "#40c040",
"user": "#20d4c4",
"context": "#c060f0"
},
"entry_batch_size": 24,
"entry_load_threshold": 6,
"search_excerpt_chars": 160,
"storage_backend": "json"
}Set storage_backend to sqlite for larger stores. The Web UI and MCP migrate existing JSON entries automatically when you switch backends.
entry_batch_size and entry_load_threshold control pagination in the web UI — how many cards load at once and when to trigger "load more".
Section names are normalized to lowercase, duplicates are ignored after normalization, and removing a section with existing entries automatically migrates those entries to uncategorized. meta.json is kept in sync with the current effective section list.
Older stores may still contain legacy embedding-related config keys; they are dropped the next time configuration is loaded or saved.
Memory sections
Section | What to store |
| Tech stack, architecture, goals |
| What was done, decisions made |
| Services, modules, integrations |
| User preferences, recurring asks |
| Name, style, expertise, preferences |
| Anything else relevant |
Web UI
rememb includes a local web interface for supervision — browse memory, inspect history, and tune runtime settings. The SPA has no create/edit/delete controls. The HTTP API still has write, delete, and restore routes.
rememb # Open the web UI (http://localhost:18181)
rememb --host 0.0.0.0 # Bind to all interfaces
rememb --port 9000 # Custom port
rememb --no-browser # Start server without opening the browser
Overview with entry totals and recent memory activity.

Stats with totals, section breakdown, date range, and recent entries.

Settings for limits, storage backend, section colors, and maintenance actions.

Skills browser for bundled agent skills included with rememb.
Views:
Overview — entry totals, deleted count, store size, and recent memory
Memory — browse, keyword search, filter by section, sort, and include deleted entries
Stats — totals, backend, section bars, oldest/newest timestamps, and recent entries
Settings — edit limits, storage backend, section colors, consolidate duplicates, and save runtime config
Skills — browse bundled agent skills (61 skills shipped in the package)
Entry inspection from the UI includes version history and side-by-side diff. Entry mutations and restore are MCP (rememb_write, rememb_edit, rememb_delete, rememb_restore) or the HTTP API, not SPA controls.
CLI
rememb # Open the web UI (http://localhost:18181)
rememb --host 0.0.0.0 --port 18181 --no-browser # Custom bind, no auto-open
rememb mcp # Start MCP server over stdio
rememb mcp --transport sse --host 127.0.0.1 --port 8765 # One persistent local MCP process
rememb hook session-start # Inject recent + tags + stats
rememb hook post-tool # Write a PostToolUse event from stdin
rememb hook stop # Write a Stop/handoff entry from stdin
rememb install # Show MCP + rules + hooks plan
rememb install --apply --project # Write them for the current directory
rememb --version, -v # Show version
rememb --help, -h # Show helpCompatibility
The current compatibility surface is tracked explicitly in COMPATIBILITY.md.
Short version:
Python 3.11 to 3.14 are covered by CI
CLI contract and MCP tool schema (18 tools) have automated test coverage
stdio MCP is the primary documented integration path
SSE MCP is documented and partially tested at the route level
release automation and Trusted Publishing are documented in RELEASE.md
Design
Local first — plain JSON or SQLite on disk
Portable — copy
~/.rememb/anywhere, it worksAgnostic — any agent, any IDE (MCP or CLI)
No lock-in — no servers, no API keys, no accounts
Core capabilities:
structured memory with sections and tags
keyword search with agent-side relevance judgment (
rememb_searchis an index: id, score, excerpt; full body via get/read)host door: SessionStart injects recent + tags + stats; PostToolUse / Stop write into
actions; Stop tagshandoffso the next host sees it firstrememb installwrites MCP, Memory Rules, and hooks (hooks for Cursor and Claude)non-destructive versioning, diff, restore, and soft delete
duplicate consolidation (exact content) and store stats
config and maintenance via Web UI (settings and consolidate; entry mutations via MCP or HTTP API)
61 bundled agent skills via Web UI and MCP
Contributing
git clone https://github.com/LuizEduPP/Rememb
cd Rememb
pip install -e ".[dev]"PRs welcome. Issues welcome. Stars welcome. 🌟
License
MIT
Available Tools
18 toolsrememb_clearA
Permanently delete ALL memory entries at once. Irreversible — no recovery is possible after this operation. Requires confirm=true as a safety guard. Use rememb_delete to remove a single entry by ID instead. Only use this to fully reset the memory store.
Inputs: confirm (required), store.
rememb_consolidateA
Consolidate literal duplicate entries and merge metadata (tags and access data). Exact normalized-content match only; review near-duplicates with the agent before consolidating.
Inputs: store, section.
rememb_deleteA
Soft-delete one memory entry by its ID or multiple entries via entry_ids[]. Deleted entries are hidden by default from reads and search, but can be restored later. Use rememb_restore to undo a deletion. Use rememb_clear to permanently delete all entries at once.
Inputs: store, entry_id, entry_ids.
rememb_diffA
Show a unified diff between two revisions of the same entry. Safe, read-only operation.
Inputs: entry_id (required), to_version (required), from_version (required), store.
rememb_editA
Update one existing memory entry by ID or multiple entries in one call via updates[]. Modifies only the fields provided (content, section, or tags) — omitted fields are unchanged. Non-destructive: entries are updated, not deleted and recreated. Use rememb_write to create new entries, rememb_delete to permanently remove them.
Inputs: tags, store, content, section, +2 more.
rememb_getA
Fetch one memory entry by ID with full content. Safe, read-only. Use after rememb_search or rememb_recent when you already know the entry ID.
Inputs: entry_id (required), store, max_chars, include_deleted.
rememb_list_skillsA
List bundled rememb skills discovered from the installed package contents. Safe, read-only operation.
Inputs: no named parameters.
rememb_list_storesA
List configured memory stores for this MCP process: global (~/.rememb) plus any project stores passed via --project. Safe, read-only.
Inputs: no named parameters.
rememb_list_tagsA
List tags used in the store with usage counts. Safe, read-only. Use to discover filters before rememb_search or rememb_read_page.
Inputs: limit, store, include_deleted.
rememb_readA
Read all memory entries or filter by section. Safe, read-only operation with no side effects. Returns full entry content; summarize task-relevant facts in your working context after large reads.
Inputs: store, section, max_chars, include_deleted.
rememb_read_pageB
Read a paginated slice of entries with optional section or tag filtering. Returns full entry content; summarize task-relevant facts in your working context after each page.
Inputs: tag, limit, store, offset, +5 more.
rememb_recentA
Return recently updated entries, newest first. Safe, read-only. Useful for catching up on what changed since the last session.
Inputs: limit, store, section, max_chars, +1 more.
rememb_restoreA
Restore a soft-deleted entry, or restore a specific prior version as the new current head. Restores are non-destructive: they append a new head revision rather than rewriting history.
Inputs: entry_id (required), store, version.
rememb_searchA
Keyword and token search over memory entries. Safe, read-only. Returns id, score, tags, date, and a short excerpt. Use rememb_get for full body.
Inputs: query (required), tag, store, top_k, +3 more.
rememb_statsA
Return memory usage statistics: total entries, size in KB, oldest and newest entry dates, and count per section. Safe, read-only operation with no side effects. Use to give the user an overview of their memory store or to decide if cleanup is needed.
Inputs: store.
rememb_use_skillA
Load one bundled rememb skill by identifier or exact declared name and return its instructions. Safe, read-only operation. Use rememb_list_skills first to inspect available skills.
Inputs: skill (required).
rememb_versionsB
List all revisions known for an entry, including prior content snapshots and deleted states when requested. Safe, read-only operation.
Inputs: entry_id (required), store, include_deleted.
rememb_writeA
Save a new memory entry or multiple entries in one call. Existing entries are never overwritten. Use rememb_edit to update an existing entry by ID.
Inputs: tags, store, content, entries, +1 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 18 tools
Core entry operations are clearly separated: write/create, edit/update, delete/soft-delete, restore, clear, get, search, recent, and versions/diff each target distinct intents. The main overlap is between rememb_read and rememb_read_page, which both return full entry content and differ only by pagination/filtering; search/recent/get are distinguishable by description.
All tools consistently use the rememb_ prefix and mostly follow a verb or verb_noun pattern such as list_stores, get, search, write, edit, delete, restore, and read_page. A few names are noun/adjective-based (versions, recent, stats) rather than strict verbs, but the overall convention remains readable and predictable.
At 18 tools the surface is borderline heavy for a memory store, with several overlapping read/list variants (read, read_page, recent, search, get) plus auxiliary skill and store-management tools. Each tool has a plausible purpose, but some read variants could likely be consolidated to reduce selection burden.
The memory lifecycle is well covered: create, read, search, update, soft-delete, restore, permanent clear, revisions, diffing, tagging, statistics, store listing, consolidation, and skill discovery/loading. No obvious CRUD or lifecycle gaps remain for the stated domain.
Maintenance
Related MCP Connectors
Persistent memory for AI agents. Search, store, and recall across sessions.
Persistent memory for AI agents. Semantic search, memory graph, W3C DID identity.
Universal memory for AI agents and tools. Save, organize and search context anywhere.
Persistent memory for AI agents. Search and store durable facts, preferences and decisions.
Related MCP Servers
AlicenseAqualityFmaintenanceAn MCP server that integrates with mem0.ai to help users store, retrieve, and search coding preferences for more consistent programming practices.9662Apache 2.0- AlicenseAqualityCmaintenancePersistent semantic memory for AI agents. SQLite-backed, local-first, zero config. Semantic search via Ollama embeddings with keyword fallback. Tools: remember, recall, history, forget, stats.1737 npm1MIT
- AlicenseAqualityDmaintenanceProvides AI agents with persistent, searchable memory using semantic search, auto-linking, and categorization, with zero-config local setup or production-ready external providers.711 npmMIT
- AlicenseNot gradedqualityDmaintenanceLightweight persistent memory for AI agents using a single SQLite file with hybrid search (keywords + semantics). Zero to 12MB install, no cloud or server required.7MIT
