Context7
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Description from the maker (original English)
Persistent memory for AI coding tools via MCP. Remembers across sessions and machines.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"memoir": {
"command": "npx",
"args": [
"-y",
"memoir-cli"
]
}
}
}Run this in your terminal
claude mcp add memoir -- npx -y memoir-cliPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"memoir": {
"command": "npx",
"args": [
"-y",
"memoir-cli"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"memoir": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"memoir-cli"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account camgitt, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (3.17.6) reached the registry 11 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Context7, Codebase Memory, Exa
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Portable, project-scoped memory and session handoffs for coding agents.
Memoir keeps decisions, rationale, goals, and next actions in readable local files. An MCP server lets an agent save and retrieve that context. Optional local, Git, and cloud backups move it between machines.
The reliability changes are described in the remediation record. Review the upgrade and recovery guide before upgrading clients that share encrypted backups.
Memoir includes a separate, project-only handoff. It carries answered questions, decisions, next actions and receipts from checks actually run through Memoir. It does not import personal memory or transcripts.
The project handoff, browser view and recovery commands below require version 3.16.0 or later:
npm install -g memoir-cli@3.16.0
cd /path/to/your/project memoir work setup memoir work resume memoir work view
For source development, install dependencies and replace memoir with node bin/memoir.js from the Memoir checkout.
Open this same folder and branch in Codex or Cursor and say “Continue this project.” The managed instructions use the project MCP connection, or the included CLI fallback when the connection is unavailable. Existing settings and approval policies are preserved. Agent adherence is still required; ordinary terminal checks are not captured automatically.
The project view opens in your browser on this computer. Search saved answers, see why a check needs repeating, correct a decision, or remove it from the next handoff. Removed records can be restored; earlier versions stay in local history. Keep the view's terminal open while using it, and press Ctrl+C to stop. You can also ask your agent “Open my Memoir project view.” See the local view validation for actual browser tests and the limits of the fresh-session continuity results. Subsequent debugging fixes and recovery tests cover slow saves, interrupted responses and configuration preservation.
Checks run through memoir work check using the client's normal terminal permissions. The MCP memory connection deliberately cannot execute commands. See the adversarial audit and remaining trust limits.
The project ledger stays in ignored .memoir/ files. This workflow does not sync those files through GitHub or bridge different checkouts. See the setup and everyday guide for commands, corrections, privacy boundaries and when a check needs to run again. The feature runs locally even when installed from npm; publishing the package does not upload your project ledger.
Project handoffs now have automatic local recovery snapshots. Run memoir work doctor to check them, or memoir work backup --output /path/to/backup.memoir for an encrypted copy outside the project. Recovery previews changes before applying them and preserves the original file. See backup and recovery.
Node.js 18 or later can run the CLI. For production use, choose a maintained LTS release (Node 22 or 24); Node 18/20 remain compatibility-test targets. See the Node release policy.
npm install -g memoir-cli
cd /path/to/project memoir setup --tool claude,codex,cursor memoir goal "Finish the account recovery flow" memoir note "Use single-use recovery codes" --why "Prevent replay" memoir next "Test expired recovery codes" memoir recall "recovery codes" memoir resume
setup preserves existing settings, writes a project MCP entry, and starts the Memoir server to check its tools. Restart the client and accept its project trust/MCP prompt. Server startup does not prove that a particular client version has accepted its configuration.
For source development, use npm ci, then node bin/memoir.js setup. The generated entry uses absolute Node/server paths; review it after moving the installation. Existing different Memoir entries are preserved for review.
memoir activate adds managed usage instructions and sets up detected supported clients. memoir resume --inject --to codex adds a managed handoff to the project's AGENTS.md, preserving other content.
memoir_note records a scoped decision and rationale. Older decisions are archived when the working summary fills.memoir_remember writes a canonical Markdown record. Open its returned ID with memoir_read, tool: "memoir", filepath: " .md".memoir_recall searches the active project plus shared records and returns matching passages, paths, line evidence, and IDs where available.memoir_resume returns the goal, next actions, questions, and decisions, and compares the saved commit with the checkout. Old observations never imply current tests pass.memoir_forget accepts a decision match or canonical ID. Hidden records are excluded from recall/session views; purge: true also removes current canonical text and local revision history.Canonical memory lives in ~/.config/memoir/memories/ and session state in ~/.config/memoir/session.json. These source files are plaintext on the device. Backup encryption does not encrypt them.
New memories use MEMOIR_PROJECT_ROOT or the working directory. Use explicit scope: "shared" for general preferences. Git identity recognizes common SSH/HTTPS remote spellings; local identity is home-relative. Renames, unusual remote aliases, or different directory layouts may need explicit scope selection. Profiles select backup destinations; they are not independent security tenants.
Legacy records without scope metadata are shared, except recognized Claude project directories. Review and label imported history before relying on strict isolation. Scope is an organizational boundary, not authentication against an agent already permitted to read the filesystem.
First use creates a local configuration. It does not create a GitHub repository or upload automatically. Use memoir init to choose another destination and encryption.
memoir push
memoir restore memoir push --only claude,codex memoir restore --only codex
Filtered pushes preserve other tool/machine files. Session and canonical records accompany tool filters for cross-tool continuity.
For encrypted local/Git backups, supply MEMOIR_PASSPHRASE through your environment/password manager or enter it interactively. Legacy six-character secrets remain readable; use a long, unique secret for new backups. Headless writes do not silently choose plaintext when encryption is unconfigured.
Snapshots authenticate the manifest and every file. Missing blobs, corrupt contents, unsafe paths, symlinks, and oversized input fail recovery. Repeated encrypted pushes verify and merge the previous snapshot before replacement. Local encryption migration removes plaintext from the current destination after the switch; Git history and filesystem snapshots can retain older plaintext.
Local pushes lock the complete read/merge/write operation. Git rejects conflicting remote updates without force-pushing; retry to read and merge the new state. Use a dedicated backup directory.
New cloud writes require a user-held secret of at least 12 characters in MEMOIR_CLOUD_PASSPHRASE (or MEMOIR_PASSPHRASE). It is not derived from account identity or sent in metadata. Client-side encryption is available on every plan; it is not Pro-only.
memoir cloud push
memoir cloud restore memoir cloud restore --version 3 memoir cloud migrate memoir cloud migrate --apply
The writer requires the database migration in the rollout guide. Without it, version allocation fails before upload. The Memoir hosted service received this migration on September 6, 2026; see the deployment checks. Self-hosted services must apply it before enabling new writes.
cloud migrate displays a plan. --apply downloads each old backup, creates a user-passphrase replacement, downloads and byte-checks it, then removes the old object. Interrupted migration can reuse its replacement. Keep the secret available on every recovering device; there is no lost-passphrase recovery service.
Legacy account-ID-keyed and unencrypted cloud backups remain readable with warnings. Their protection changes only when replaced. Random vault-key wrapping, device enrollment, hardware-backed storage, and independently reviewed key rotation remain future work.
Latest cloud restore merges session/canonical state from retained versions, requiring additional downloads. Explicit version restore selects that snapshot. Cloud tests simulate the backend; production authorization and tenant isolation require separate validation.
memoir push --workspace captures eligible files from the active project, including non-ignored untracked Git files. It does not archive the whole home directory.
memoir restore --workspace verifies those files into a new folder under ~/memoir-restored/ for inspection. Existing checkouts are not patched. Commit information is recorded; this is a file snapshot, not a Git-history backup.
Common secret filenames and detected patterns are omitted and listed in the manifest. Detection is heuristic. Old tar-based workspace archives are retained but no longer extracted automatically.
| Surface | Capability | Verification boundary |
|---|---|---|
| Claude Code | Project MCP setup, Memoir tools, instruction import/export | JSON preservation and real server startup tested |
| Codex | Project TOML MCP setup, Memoir tools, AGENTS.md import/export, pinned session block in ~/.codex/AGENTS.md | TOML round trip and server startup tested |
| Cursor | Project MCP setup, Memoir tools, rule import/export | JSON preservation and server startup tested |
| Other existing adapters | Selected memory/config import/export | Adapter fixtures, not full native session continuity |
| Generic MCP client | Memoir tool contract | Real stdio tests |
Configuration references: Claude Code, Codex, Cursor.
Search is local Unicode-aware lexical retrieval with field/document-frequency weights, aliases, filtering, and a passage budget. It is not semantic search and has no demonstrated state-of-the-art result.
Memory is context, not permission to run commands or configure tools. Model-written records default to unverified. Automatic transcript capture is best effort and must not be treated as proof of successful work.
memoir consolidate reports duplicates/stale files. Similarity alone cannot remove distinct content. Confirmed removals keep recovery copies; the printed memoir consolidate --undo restores into an absent destination. --smart explicitly sends bounded excerpts to the Gemini API; choose its model with MEMOIR_CONSOLIDATE_MODEL.
memoir clean-decisions reports decisions that transcript capture minted from a regex match rather than a choice you made — rows that are the opening of a capture pattern, cut mid-clause. It reports only; --apply tombstones them with hidden: true and never deletes, so the text stays on disk and stays auditable. Detection is conservative and text-based: it can miss a leaked row, and it will not flag anything carrying a why or a rejected alternative.
With the SessionStart hook installed (`me
Only the beginning is shown; read the rest in the repo