OpenMem
Memory interface for coding agents — stable memory_* tools over Hindsight, mem0, or Cognee.
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
@bcmyguest/openmemclaude mcp add openmem -e 'MEMORY_PROVIDER=<MEMORY_PROVIDER>' -e 'PM_STACK_ROOT=<PM_STACK_ROOT>' -- npx -y @bcmyguest/openmem@0.6.3
{
"mcpServers": {
"openmem": {
"command": "npx",
"args": [
"-y",
"@bcmyguest/openmem@0.6.3"
],
"env": {
"MEMORY_PROVIDER": "<MEMORY_PROVIDER>",
"PM_STACK_ROOT": "<PM_STACK_ROOT>"
}
}
}
}
Variables d'environnement
MEMORY_PROVIDERActive backend: hindsight (default), mem0, or cogneePM_STACK_ROOTOpenMem stack directory (compose project, .env)
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
Sommaire
OpenMem
[!CAUTION] Context management is leaving OpenMem. Smart compaction, the LiteLLM context proxy, and the OpenCode trim plugin in this repo are deprecated here and moving to Smarter Compact (docs,
npm install -g smarter-compact). Use OpenMem for memory (providers, indexer,memory_*MCP). Existing OpenMem stacks can still enable the composecontext-proxyprofile; new context work belongs in Smarter Compact.
OpenMem. Pluggable memory providers (Hindsight, mem0, Cognee) and one setup wizard for coding-agent memory — retain, recall, and index your sources.
A. Memory: your sources become memory any agent can query.
B. Context management (deprecated in OpenMem — use Smarter Compact instead): long sessions stay under the limit; nothing is summarized away.
Benchmarks (context — deprecated here): In seed-matched ContextBench log tasks on Haiku 5.5, smart compaction scored 0.469 higher than keep-everything (95% bootstrap interval 0.339–0.578; eight pairs). Methods and charts still live in this repo (redirect · evidence plan); ongoing product docs and install are on Smarter Compact.
Docs: bcmyguest.github.io/openmem/
MCP: npx -y -p @bcmyguest/openmem openmem-mcp (after the wizard — it needs a running provider)
Start here: Concepts · Quickstart · Compatibility · Development (clone, tests, prek)
Quickstart
| Step | Command |
|---|---|
| 1. Wizard | npx @bcmyguest/openmem setup |
| 2. Check | npx @bcmyguest/openmem doctor |
| 3. Coding agents | npx @bcmyguest/openmem install-coding-agent --yes |
From a git clone: Development guide (npm install, npm run setup, tests, prek).
Needs (wizard): Docker Compose v2, Node ≥ 24, and an LLM route for Hindsight — see Quickstart.
Later: npx @bcmyguest/openmem up / down / switch <provider> --yes / doctor.
Wizard dry-run (what first setup plans — no writes):
Full guide: Quickstart · Concepts · Architecture
Architecture
The two diagrams at the top show memory (A) and context management (B; deprecated in OpenMem, see Smarter Compact).
Same diagrams as Mermaid
flowchart LR
S["<b>Sources</b><br/>Git repos: docs, code outlines<br/>Obsidian vaults · notes · papers · bookmarks<br/>RSS · OpenAlex feeds"] -->|index| I["<b>OpenMem indexer</b><br/>polls repos, watches folders"]
I -->|retain| P[("<b>Memory provider</b><br/>one active, swappable<br/>Hindsight (default) · mem0 · Cognee · …")]
P <--> M["<b>OpenMem MCP</b><br/>memory_recall · memory_add<br/>memory_search · memory_reflect<br/>memory_pages_* + export/import, status…"]
M <-->|tools| A["<b>Coding agents</b><br/>Claude Code · Codex · Cursor · OpenCode"]
A -.->|"session hooks: recall at start · retain at stop"| M
classDef om fill:#e8eaf9,stroke:#4651a6,color:#1b1d2a
class I,M om
flowchart LR
A["<b>Coding agent</b><br/>Claude Code · Codex · OpenCode 1"] -->|requests| X["<b>Context proxy</b><br/>LiteLLM pre-call hook<br/>trims at 125k tokens (Haiku 95k) · no LLM call"]
X -->|trimmed request| API["<b>Model API</b><br/>Anthropic · ChatGPT (Codex)"]
X -->|every turn| S[("<b>Session store</b><br/>SQLite · every turn, verbatim")]
S -->|"MCP: smart_compact_search · smart_compact_sql"| A
O["<b>OpenCode 2</b><br/>native plugin, no proxy"] -.->|same store| S
classDef om fill:#e8eaf9,stroke:#4651a6,color:#1b1d2a
class X,S om
Native compaction replaces history with an LLM summary, so exact values can be lost; smart compaction keeps every turn verbatim and searchable. Context trimming in OpenMem is deprecated — use Smarter Compact (smarter-compact enable). Legacy stack path: context proxy redirect. See architecture for memory runtime paths and provider-specific behavior.
Providers and portability
- Providers — Provider status lists every provider and its support level from the manifests. Contributor details: adding a provider.
- MCP — unified
memory_*plus optional native/NotebookLM servers: MCP setup. - Context management (deprecated in OpenMem) — moved to Smarter Compact; OpenMem page is a redirect.
- Portable memory —
memory_export/memory_importspeak PMM: Portable memory. - Switch —
npx @bcmyguest/openmem switch <provider>does not migrate data by itself; export/import (or re-index) moves content.
Compose runs the shared indexer and the services required by the selected provider. Hindsight uses litellm and hindsight (127.0.0.1:8888); mem0 and Cognee use their own APIs and do not include LiteLLM by default. LiteLLM can also be added for memory_reflect synthesis on mem0/Cognee, or to host the optional context proxy's pre-call hook. See Architecture for runtime paths.
Inspiration and related
OpenMem is not affiliated with these projects; they shape the problem or the pattern.
| OpenFeature | Inspiration for a vendor-agnostic interface + pluggable providers (there: feature flags; here: coding-agent memory). |
| mise / asdf | One CLI over many backends; declarative config and tasks without replacing each tool’s own settings. |
| LiteLLM | Model proxy used on Hindsight stacks; its pre-call hook hosts the context proxy. |
| Hindsight coding agents | Reference implementation for knowledge pages, initiative capture and ingest status; OpenMem's hooks replace it in openmem mode. |
| Mainplane | Inspiration for smart compaction: continue in a fresh context with a pointer to the saved transcript and retrieve as you go, instead of an LLM summary. |
| Letta / MemGPT | Inspiration for smart compaction: evicted turns kept verbatim in searchable recall storage the agent pages back with tools, and file-style search over the transcript (74.0% on LoCoMo). OpenMem does this in a proxy and an MCP server, so no Letta server is needed. |
| rtk | Compresses shell command output before the agent sees it; install-coding-agent runs rtk init when it is installed. Inspired the context proxy's compression of large tool results (reimplemented, not bundled). |
| opencode-clm | OpenCode plugin for Context Language Models: the model edits a file mirror of its own context. Same goal as smart compaction, with the model doing the trimming (comparison). |
| Meridian | Bridges a Claude subscription to an Anthropic-compatible API; optional Hindsight model backend (guide). |
| OpenCode / Claude Code hooks / Codex hooks | The agent hook and plugin APIs OpenMem translates between (compatibility). |
Research notes and benchmark results for the context proxy: Context research.
More setup analogues: Pluggable memory providers.
Formerly personal-memory. Use the
openmemCLI and MCP server name; installers drop the oldpersonal-memoryMCP entry.
References
Papers and preprints cited in our context-management work (full list):
| Reference | Link |
|---|---|
| MemGPT (Packer et al., 2023) | arXiv:2310.08560 |
| LoCoMo (An et al., 2024) | arXiv:2402.17753 |
| LongMemEval (Wu et al., 2024) | arXiv:2410.10813 |
| MemoryAgentBench (2025) | arXiv:2507.05257 |
| The Complexity Trap (Lindenbauer et al., 2025) | arXiv:2508.21433 |
| Context Language Models / ContextBench (Shao et al., 2025) | arXiv:2609.37725 |
| Compact-Bench (2026) | arXiv:2610.31710 |
Reports and blogs (Context Rot, Letta LoCoMo, Anthropic context engineering): references.md.
License
Apache License 2.0 — see LICENSE (Copyright 2026 B Guest).
Contributing
Contributions are welcome. See CONTRIBUTING.md and the development guide for tests and CI.
Questions fréquentes
Qu'est-ce que OpenMem ?
Memory interface for coding agents — stable memory_* tools over Hindsight, mem0, or Cognee.
Comment installer OpenMem ?
Il s'exécute sur votre machine. Dans Claude Code : claude mcp add openmem -e 'MEMORY_PROVIDER=<MEMORY_PROVIDER>' -e 'PM_STACK_ROOT=<PM_STACK_ROOT>' -- npx -y @bcmyguest/openmem@0.6.3. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour OpenMem ?
Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.
OpenMem est-il open source ?
Oui. Son code est sur GitHub sous licence Apache-2.0.
Qui maintient OpenMem ?
Il est publié par bcmyguest. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.