Context7
Up-to-date docs for AI agents
제작자가 쓴 설명(영어 원문)
Cognitive memory for coding agents: hybrid recall, remember/forget, knowledge graph, nightly dreams.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 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는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
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 스타i세 기둥: 리뷰 · 점검 · 사용 정도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
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요