Context7
Up-to-date docs for AI agents
作者による説明(英語の原文)
Cognitive memory for coding agents: hybrid recall, remember/forget, knowledge graph, nightly dreams.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
ENGRAM_DB_PATH, ENGRAM_MCP_PORT, ENGRAM_MCP_TOKEN, ENGRAM_MCP_STANDALONE「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"engram": {
"command": "npx",
"args": [
"-y",
"@devinmlowe/engram",
"mcp"
],
"env": {
"ENGRAM_DB_PATH": "your-value",
"ENGRAM_MCP_PORT": "your-value",
"ENGRAM_MCP_TOKEN": "your-value",
"ENGRAM_MCP_STANDALONE": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add engram --env ENGRAM_DB_PATH=your-value --env ENGRAM_MCP_PORT=your-value --env ENGRAM_MCP_TOKEN=your-value --env ENGRAM_MCP_STANDALONE=your-value -- npx -y @devinmlowe/engram mcp動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"engram": {
"command": "npx",
"args": [
"-y",
"@devinmlowe/engram",
"mcp"
],
"env": {
"ENGRAM_DB_PATH": "your-value",
"ENGRAM_MCP_PORT": "your-value",
"ENGRAM_MCP_TOKEN": "your-value",
"ENGRAM_MCP_STANDALONE": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"engram": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@devinmlowe/engram",
"mcp"
],
"env": {
"ENGRAM_DB_PATH": "your-value",
"ENGRAM_MCP_PORT": "your-value",
"ENGRAM_MCP_TOKEN": "your-value",
"ENGRAM_MCP_STANDALONE": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
ENGRAM_DB_PATH envENGRAM_MCP_PORT envENGRAM_MCP_STANDALONE envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント devinmlowe で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:ENGRAM_MCP_TOKEN
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.5.0)がレジストリに届いたのは2 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Context7, Codebase Memory, Exa
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Up-to-date docs for AI agents
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.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
*An engram is the hypothetical physical trace of memory in neural tissue — the biochemical change that encodes what we've learned.*
Local-first cognitive memory system that transforms raw LLM conversation history into structured, consolidated knowledge. Unlike traditional conversation search (which treats sessions as documents to retrieve), Engram mimics human memory architecture: episodic memories are captured, consolidated into semantic knowledge during "dream state" processing, and emergent connections surface through graph analysis — much like how a Zettelkasten's backlinks reveal Maps of Content that no individual note anticipated.
Designed as an MCP server for Claude Code and other LLM agents, with CLI and web visualization interfaces.
Prerequisites
node --version)engram sync to ingest your conversation history from ~/.claude/projectsremember, and the web visualizer work without one.Quick start — three commands
npx @devinmlowe/engram preflight # is this node/platform/arch/libc covered by prebuilt native modules? (fix per OS if not)
npm install -g @devinmlowe/engram # puts engram on your PATH; the postinstall hook runs the same preflight engram setup # doctor → init → sync (asked) → register every host present → install the three services → doctor --fix → one real extraction → summary
engram setup walks a bare install to running and ends by telling you which LLM tier did the extraction (extraction smoke: tier=ollama memories=3). Every step prints what it did and the manual command it stands for, so nothing is hidden. It installs all three services — the MCP HTTP daemon, the nightly dream timer and the web visualizer (port 3001, loopback) — by default (decision #62); --no-daemons or --daemons=mcp,dream narrows that, --host claude narrows host registration, --no-sync / --sync skip or force indexing, --no-smoke skips the extraction, --yes answers every question for scripts (the Linux loginctl enable-linger prompt is never implied), --json prints the result. With no LLM provider configured the dream timer is still installed and setup ends with [warn] dream timer installed but no LLM tier is reachable … naming the variables to set — exit 0; only a required doctor failure (or a failed init) exits 1. Later, engram doctor --fix repairs whatever is red — the service env file, a model cache inside node_modules, a missing Ollama model (asked first), a stopped MCP daemon, an unregistered host — printing the manual equivalent of each; a second run says nothing to fix. See CLI and docs/api-reference.md.
The same, by hand
engram mcp install claude # registers engram with Claude Code (codex | cursor | hermes | --all); restart the host
engram mcp install edits the host's own config for you — ~/.claude.json (--project: .mcp.json), ~/.codex/config.toml, ~/.cursor/mcp.json, or deploys the Hermes plugin — atomically, with the previous content kept in .bak, never touching other servers, and re-running is a no-op. It prefers the HTTP daemon (http://127.0.0.1:9907/mcp) when GET /health answers and falls back to stdio (node …/dist/interfaces/cli/index.js mcp, which bridges to the daemon itself once one runs), printing which and why; --transport http|stdio overrides, --dry-run shows the path and diff. A daemon token is referenced as an environment variable (${ENGRAM_MCP_TOKEN} / bearer_token_env_var / ${env:ENGRAM_MCP_TOKEN}), never written; engram mcp status reports every host, whether it points at this install, whether its daemon answers and whether the variable resolves. See Registering hosts below.
From source
git clone https://github.com/devinmlowe/engram.git
cd engram node scripts/preflight.cjs # optional: the native-dependency verdict before anything is installed npm install # runs the same preflight as postinstall, then builds via the "prepare" script npm link # puts engram on your PATH (or run node dist/interfaces/cli/index.js directly)
Either way, continue with engram setup — or step by step:
engram preflight # prebuilt / compiled locally / unsupported per native module, with the fix for this OS
engram doctor # node, platform/arch, native modules, model cache, ollama tier, llm providers, data dir, env file, install path, mcp daemon, hosts, extraction smoke — all [ok]? engram doctor --fix # apply the known remediations (env file, durable model cache, ollama pull with confirmation, start a stopped daemon, register a host) and re-check engram init # creates engram.db in the data dir (default ~/.local/share/engram; see Configuration) and downloads the embedding model engram sync # index conversations from ~/.claude/projects (optional) engram search "what did I decide about caching" engram mcp install --all # from a checkout: register every host present (~/.claude, ~/.codex, ~/.cursor, ~/.hermes) scripts/install-mcp-daemon.sh install; scripts/install-daemon.sh install; scripts/install-visualizer.sh install # the three services (what setup runs)
engram doctor ends with an extraction smoke line: one real extraction over your most recent conversation (or a bundled fixture when nothing is indexed yet) under a 60 s budget with a capped input, reporting tier= memories=N or every tier's reason when none answers. Memories it extracts from a real conversation are written like any other, stamped source=smoke (find them with engram memories list, remove them with forget); the fixture is never written. --no-smoke skips it; --strict exits 1 when any line is not [ok] (CI).
First run downloads models once.
engram init(or the first search) pulls several hundred
MB of model weights into
~/.local/share/engram/models(or$ENGRAM_MODEL_CACHE_DIR/
$HF_HOME/hub), where they survive reinstalls and upgrades; see Model cache.
Set
ENGRAM_RERANK_ENABLED=falseto skip the reranker model.
Install as a Claude Code plugin (recommended)
No clone, no absolute paths. In Claude Code:
/plugin marketplace add devinmlowe/engram
/plugin install engram@engram
This repo is its own marketplace (.claude-plugin/marketplace.json); the plugin (.claude-plugin/plugin.json) runs the published npm package as a stdio MCP server — npx -y @devinmlowe/engram@ mcp, version pinned to the release — and adds the /engram:recall, /engram:remember, /engram:explore-graph, /engram:reflect and /engram:engram-connect commands (bundled from commands/; their tools are mcp__plugin_engram_engram__ ). /mcp should list engram with 16 tools; the first recall downloads the embedding model once (see the note above). The plugin updates through the marketplace (/plugin update engram@engram after a release); engram update keeps handling the CLI, daemons and the Hermes plugin.
The very first start is slow. The first
npxrun installs the package and its prebuilt
native modules into the npm cache — once per pinned version, then it is a cache hit. If Claude
Code reports the server timed out during that install, raise its startup timeout (milliseconds):
MCP_TIMEOUT=120000 claude. Two warm paths:npm install -g @devinmlowe/engramfirst, so the
package (and
engram doctor/engram init) is already on the machine; or run the HTTP daemon
(
scripts/install-mcp-daemon.sh install, below) —engram mcpthen bridges to it and the host
process never opens the database or loads the model (see Transports).
Registering hosts (`engram mcp install`)
engram mcp install claude # ~/.claude.json (--project: ./.mcp.json)
engram mcp install codex # ~/.codex/config.toml (--project: ./.codex/config.toml) engram mcp install cursor # ~/.cursor/mcp.json (--project: ./.cursor/mcp.json) engram mcp install hermes # deploys interfaces/hermes-plugin to ~/.hermes (+ profiles that already have it) engram mcp install --all --dry-run # every host whose config dir exists; print path + unified diff, write nothing engram mcp status # registered? this install? daemon answering? ENGRAM_MCP_TOKEN resolving? engram mcp uninstall codex # removes only the engram entry; .bak keeps the previous content
Decisions: HTTP when the daemon answers /health, else stdio (#51); the token is referenced by environment variable and never written unless you pass --inline-token (#52). With the Claude Code plugin installed, mcp install claude skips the user-scope entry (it would register the server twice) unless --force; mcp status lists the plugin as a registered Claude host. A GUI-launched host does not inherit a fish/zsh login shell, so when the daemon requires a token mcp status prints the platform fix (launchctl setenv ENGRAM_MCP_TOKEN … on macOS, ~/.config/environment.d/ on Linux, setx on Windows). No host process is restarted, and the command needs no network beyond the loopback probe.
Manual configuration (if you would rather edit the file yourself)
Add the server to your Claude Code MCP config (~/.claude.json, or a project-level .mcp.json). From npm:
{
"mcpServers": { "engram": { "command": "npx", "args": ["-y", "@devinmlowe/engram", "mcp"] } } }
or, for a source checkout, point at the compiled server with an absolute path:
{
"mcpServers": { "engram": { "command": "node", "args": ["/absolute/path/to/engram/dist/interfaces/mcp/server.js"], "env": {} } } }
The .mcp.json shipped in this repo does the same thing with a repo-relative path and is picked up automatically when you open the engram checkout itself in Claude Code (it is for developing engram; the plugin does not use it).
Optional: background consolidation and visualization
./scripts/install-mcp-daemon.sh install # MCP HTTP daemon on 127.0.0.1:9907 via launchd (what the Hermes plugin talks to)
./scripts/install-daemon.sh install # nightly engram dream at 02:00 via launchd ./scripts/install-visualizer.sh install # macOS launchd visualizer
On Linux the same scripts detect uname -s and install systemd *user* units instead (no root; loginctl enable-linger $USER if you want them to run while logged out):
./scripts/install-mcp-daemon.sh install # renders systemd/engram-mcp.service, enables it (Restart=always)
./scripts/install-mcp-daemon.sh status # unit state, GET /health, effective data dir, last log lines ./scripts/install-daemon.sh install # renders systemd/engram-dream.{service,timer}, enables engram-dream.timer ./scripts/install-daemon.sh status # systemctl --user list-timers + last log lines ./scripts/install-daemon.sh run-now # systemctl --user start engram-dream.service
macOS/Linux: MCP HTTP daemon lifecycle
scripts/install-mcp-daemon.sh has the same six verbs as its Windows sibling (install, uninstall, start, `stop
冒頭だけを表示しています。続きはリポジトリで読めます