rememberLABSCO SUMMARY
Saving is the easy part; the pipeline is the product.
Everything written goes through secret detection, policy filtering, deduplication and conflict detection, and candidates that come from transcript extraction wait in a queue for approval instead of landing in storage. Two things to set up on day one: the global instruction file that tells your assistant to load context at session start and call remember when it learns something durable, and a decision about export_static_memory_files, which writes memory into files that may end up committed.
What it is
A local memory server for AI coding tools. It stores project knowledge — rules, gotchas, architecture decisions — and runs everything through a pipeline that detects secrets, applies policy, deduplicates, and flags conflicts before anything is saved.
What you get
- Structured memory saved directly, single or batch, with content, type and optional scope and tags —
remember - Retrieval shaped for the start of a session: project rules, relevant context for a natural-language query, and a search across scope, type and tags —
get_project_rules,get_relevant_context,search_memory - An approval queue rather than silent writes: list, approve, reject, and bulk versions of both —
list_memory_candidates,approve_memory_candidate,approve_all_candidates,reject_memory_candidate,reject_all_candidates - Maintenance on what is already stored: update, supersede with a link to the replacement, and review memories older than a threshold that defaults to 6 months —
update_memory,supersede_memory,review_stale_memories - Static fallback files generated for tools that cannot read memory over MCP —
AGENTS.md,CLAUDE.md,.github/copilot-instructions.md,.cursor/rules/openmembrane.mdc— viaexport_static_memory_files, with confidential memories omitted by default - A session transcript submitted for server-side extraction when you have an extractor configured —
propose_memory_from_session - Operational visibility separated from history:
get_diagnosticsfor problems,list_audit_logfor normal memory activity
Requirements
Node.js >= 18 and npx openmembrane, or a global npm install -g openmembrane. No cloud account: memory is stored locally, by default in .openmembrane under the working directory, moved with OPENMEMBRANE_HOME, with OPENMEMBRANE_PROJECT_ID setting the default project when a call omits it. Setup blocks are documented for Claude Desktop, Claude Code, VS Code and Copilot, Cursor and OpenCode. Only propose_memory_from_session needs an LLM — it requires a configured extractor, OpenAI or a compatible endpoint.
Setup effort
One command — npx openmembrane
USE CASES
Keeping project conventions across sessions
Load the project rules at the start of a session instead of re-explaining them to the assistant.
Recording a gotcha the moment it is found
Save it with a type and scope while the context is still in the conversation.
Reviewing what an agent wants to remember
Read the pending candidates and approve or reject them one at a time.
Retiring a decision that has been replaced
Mark the old memory superseded and link the one that replaces it, rather than deleting the history.
Working in a tool that cannot read MCP memory
Export the stored memories into instruction files that tool already reads.
Clearing out stale knowledge
List memories past the age threshold and decide which still hold.
16 tools
Listed in project docs. Your client may show a different list.
propose_memory_from_sessionget_project_rulesget_relevant_contextsearch_memorylist_memory_candidatesapprove_memory_candidateapprove_all_candidatesreject_memory_candidatereject_all_candidatesupdate_memorysupersede_memoryreview_stale_memoriesexport_static_memory_filesget_diagnosticslist_audit_logBEFORE YOU INSTALL
What to know first
Tools you get
16 tools named in the project's documentation.
Requires
npx on PATH
Where it runs
All 5 documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
npx openmembraneMCP Clients
Claude Desktop, Cursor
{
"mcpServers": {
"openmembrane": {
"command": "npx",
"args": [
"openmembrane"
]
}
}
}Claude Code
{
"mcpServers": {
"openmembrane": {
"command": "openmembrane",
"args": [
"serve"
],
"env": {
"OPENMEMBRANE_PROJECT_ID": "my-project"
}
}
}
}VS Code
{
"servers": {
"openmembrane": {
"command": "npx",
"args": [
"openmembrane"
]
}
}
}OpenCode
{
"mcp": {
"openmembrane": {
"type": "local",
"command": [
"npx",
"-y",
"openmembrane"
]
}
}
}