← Back to directory
R

Remem MCP Server

Community
Local-first persistent memory for coding agents: automatic capture, distillation, and recall.
Category
Dev Tools #38 of 438
Stars
★ 34 Popular
Transport
stdio (local process)
Runtime
Node.js · Rust · Prebuilt binary
Credentials
No credential needed
License
MIT
Last commit
Tools
6
66FMRS · C

A mature, audit-oriented local memory system for coding agents: one Rust binary spanning hooks, MCP, CLI, and REST. Strengths are auditable recall, project scoping, and governance. Cursor support remains partial, and performance claims are labeled directional rather than public. Best for heavy agent users who value data locality and traceability.

Strongest · Documentation 18/20 Weakest · Reliability 9/20

Reliability
9/20
Security and permissions
12/20
Maintenance
14/20
Documentation
18/20
Setup experience
13/20
Why each score
Reliability 9/20
server.json declares only a single npm package (@remem-ai/remem, stdio transport, positional arg 'mcp') with no input/output schema for any MCP tool; the tool list (search, get_observations, save_memory, workstreams, timeline, etc.) is only described in README prose, so declared behavior cannot be statically checked against real handlers. The README references a CI badge and several cargo test / eval-e2e commands, but no actual CI workflow file or test file contents are present in the material reviewed — text references alone do not count as verifiable execution evidence per the static calibration rule, so no elevated score is warranted. The very fine-grained version history (0.5.109 through 0.6.90) suggests the codebase is still changing rapidly, further reducing confidence in current behavioral stability.
Security and permissions 12/20
Local-first storage, optional SQLCipher encryption, 0700/0600 permission bits, and a localhost-only REST API requiring a Bearer token are positive signals. Dangerous-operation handling (PreToolUse Bash rule 'block' mode) defaults to warn, requires explicit per-rule opt-in for block, and fails open (rather than blocking) when the compiled rule artifact is missing or corrupt — a visible but incompletely mitigated gap. The automatic capture pipeline forwards session/terminal content through background summarization to a configured model executor (e.g. codex-cli, Anthropic), and the README does not clearly state that the automatic capture path itself enforces secret redaction (redaction scanning is explicitly described only for export/import packs and parts of the user-context auto-promotion flow), leaving a data-boundary gap. No red-line issue was found (no malware, no forced irreversible action, no fabricated identity/test results, no plaintext secrets in examples), so this does not fall into the 0-4 band, but incomplete risk-surface disclosure warrants a deduction.
Maintenance 14/20
Manifest version 0.6.90, and the README references many fine-grained source versions (0.5.109 through 0.6.6, etc.) alongside GH issue numbers (GH-671, GH-823, GH-825, GH-880), indicating sustained, high-frequency development. Distribution spans Homebrew, crates.io, npm, GitHub Releases, and source build; the MIT license is present and the repo is not archived. However, star count (23) and open issue count (29) indicate a still-small project apparently led by a single maintainer, and no SECURITY.md/security-response channel or CONTRIBUTING governance documentation is evident, placing this in the 'actively maintained but governance gaps remain' band.
Documentation 18/20
The README covers installation (multiple channels), hooks/MCP/REST configuration, the full command surface, JSON output field tables, benchmark methodology with explicit limitation disclosures (e.g. clearly labeling results 'directional_only_no_public_claim' and admitting the internal baseline predates the public fixture pack and needs regeneration), security notes, and a pointer to architecture docs — layered, example-rich, and self-critical about limitations. Deductions: MCP tools lack a formal parameter schema (only prose-listed names), and several advanced features (user-context governance, rule compilation) are heavily documented but without independently verifiable test output to cross-check documentation accuracy.
Setup experience 13/20
Multiple install paths are offered (Homebrew, curl script, npm, cargo, manual binary download, source build), aided by 'remem install --target' and 'remem doctor' for verification, giving reasonably complete guidance. However, the flow is not one-step: the binary must be installed first, then a separate 'remem install --target <host>' command generates hooks/MCP config, and the manifest itself provides no example mcpServers JSON for a typical MCP client (e.g. Claude Desktop). Manual macOS ARM installs require an extra codesign step, and the docs specifically warn about multiple co-existing remem binaries and PATH conflicts, indicating some fragility. Per the static review rule, no executable evidence confirms install success rates, so the score is capped and set to a middle value.

Static review · not runListed 2026-09-07

Read the FMRS scoring method →

Fit and risk

What it can accessReads local filesConnects to a database

Best for

  • Developers using Claude Code or Codex CLI long-term
  • Teams needing searchable, auditable, project-scoped memory
  • Users who want data to stay local (SQLite/SQLCipher)

Not for

  • Cursor users (v1 lacks session-init injection and automatic capture)
  • Anyone needing hosted or team-shared memory services
  • Users wanting a zero-install, no-local-binary solution

Required permissions

  • Reads/writes the ~/.remem/ data directory and encrypted database
  • Modifies Claude Code / Codex / Cursor config files to register hooks and the MCP server
  • Calls the configured LLM API in the background for summarization and distillation (incur token costs)
  • Optional local REST API binds only to 127.0.0.1 and requires Bearer token auth

Risks and side effects

  • Background memory summarization via external LLMs incurs ongoing token costs
  • Cursor integration is v1: automatic capture and session-init are not enabled, and config updates are not cross-file atomic
  • Stores project and user context; accidental secret-like content relies on built-in redaction scans and suppression tooling
  • Command enforcement (block mode) is Claude Code only; explicitly unsupported on Codex

Setup

Before you start

Runtime:Node.js · Rust · Prebuilt binary

OPENAI_API_KEY optionalsecret Only needed when the embeddings provider is set to api; get it from the OpenAI platform. Not needed for local/feature-hash mode.
Other optional settings (4)
REMEM_EMBEDDINGS_API_KEY_ENV optional Names the environment variable holding the embeddings API key; set in the [embeddings] section of ~/.remem/config.toml.
REMEM_DATA_DIR optional Overrides the remem data directory (default ~/.remem); used e.g. in eval sandboxes.
REMEM_CONFIG optional Overrides the config file path (default ~/.remem/config.toml).
REMEM_INSTALL_BINARY optional Absolute path to the remem binary when running remem install to configure hooks/MCP, e.g. the Homebrew prefix path.

1) Install the remem binary via Homebrew (brew install majiayu000/tap/remem), npm (npm install -g @remem-ai/remem), Cargo (cargo install remem-ai --bin remem), the install script, or from source (codesign required on macOS ARM). 2) Run remem install --target claude / codex / all (use --target cursor for Cursor on macOS/Linux). 3) Restart the agent, then verify with remem status and remem search; use remem install --target claude --repair for hook issues and remem doctor for troubleshooting.

Check that it works

After installing and restarting the client, the tool list should include search, save_memory, get_observations, workstreams, timeline, and search_raw; run remem doctor or query a known memory via the search tool to confirm the connection.

Troubleshooting

  1. Run remem doctor to check schema, key, database, and per-host hooks/MCP status
  2. Run remem install --target claude --repair on Claude Hook Integrity Warning
  3. If multiple remem binaries appear on PATH, follow the doctor's install-path fix
  4. Rerun remem install after replacing the binary so hooks pick up current settings
  5. Verify SessionStart hook commands in ~/.claude/settings. and ~/.codex/hooks.

Things to try

Once connected, you can ask your AI assistant things like:

  • Search our past decision about database encryption
  • Save this project convention to memory: do not use expect() in non-test code
  • Show the current workstreams and timeline for this project
  • Search raw session transcripts from last month for the deployment decision

Tools 6

search read-only
Search project memories with fused full-text and vector retrieval; supports branch, type, and multi-hop filters.
get_observations read-only
Retrieve observations grouped by host, project, and session.
save_memory writes
Explicitly save a memory to the local store.
workstreams read-only
View the ongoing state of project workstreams.
timeline read-only
Browse memories and events on a timeline.
search_raw read-only
Search the raw session transcript archive with time-window pagination, returning the same JSON envelope as the CLI raw search.

Use cases

Automatically recalling last session's decisions, bug root causes, and TODOs
Searchable, auditable engineering memory replacing hand-maintained MEMORY.md/CLAUDE.md
One shared memory store across hooks, MCP, CLI, and REST
Tracking token usage and background memory-AI cost

Supported clients

Claude Code
OpenAI Codex CLI
CursorPartial support

Listed from the project's documentation, not tested by this site.

Overview

remem is a single Rust binary providing local-first persistent memory for Claude Code and OpenAI Codex / Codex CLI. Through hooks, an MCP server, CLI, and a localhost REST API, it injects relevant project memory at session start and summarizes decisions, bug-fix rationale, project patterns, and preferences in the background at session stop. Data lives in local SQLite with optional SQLCipher encryption — no external database or hosted service. Retrieval uses multi-channel Reciprocal Rank Fusion combining FTS5 BM25, an entity index, temporal semantics, LIKE fallback, and trusted graph expansion, with CJK segmentation and Chinese-English synonym support. It also provides auditable recall (remem why), suppression/feedback governance, token usage and cost reporting, and user-context governance.

Similar servers

Context7 80 · B

Upstash's official server providing up-to-date third-party library docs for AI coding assistants

★ 63.3k · Tools 2 Compare with this →

Source revision 93d5a3d6f370 Data synced 2026-10-19 Read the FMRS scoring method