OpenMem

Registre officiel Outils de développement

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 »).

NPM package @bcmyguest/openmem
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
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "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_PROVIDER Active backend: hindsight (default), mem0, or cognee
  • PM_STACK_ROOT OpenMem stack directory (compose project, .env)

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. OpenMem
  2. Quickstart
  3. Architecture
  4. Providers and portability
  5. Inspiration and related
  6. References
  7. License
  8. Contributing

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 compose context-proxy profile; 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

StepCommand
1. Wizardnpx @bcmyguest/openmem setup
2. Checknpx @bcmyguest/openmem doctor
3. Coding agentsnpx @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_import speak 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.

OpenMem is not affiliated with these projects; they shape the problem or the pattern.

OpenFeatureInspiration for a vendor-agnostic interface + pluggable providers (there: feature flags; here: coding-agent memory).
mise / asdfOne CLI over many backends; declarative config and tasks without replacing each tool’s own settings.
LiteLLMModel proxy used on Hindsight stacks; its pre-call hook hosts the context proxy.
Hindsight coding agentsReference implementation for knowledge pages, initiative capture and ingest status; OpenMem's hooks replace it in openmem mode.
MainplaneInspiration 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 / MemGPTInspiration 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.
rtkCompresses 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-clmOpenCode 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).
MeridianBridges a Claude subscription to an Anthropic-compatible API; optional Hindsight model backend (guide).
OpenCode / Claude Code hooks / Codex hooksThe 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 openmem CLI and MCP server name; installers drop the old personal-memory MCP entry.

References

Papers and preprints cited in our context-management work (full list):

ReferenceLink
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.