Engram
🧠 Engram
AI 에이전트를 위한 범용 메모리 계층
Engram은 AI 에이전트에게 지식 그래프, 통합, 확산 활성화 기능을 제공합니다. 단순 저장이 아닌, 이해를 제공합니다.
빠른 시작
MCP 설정 (권장 — Claude Code / Cursor)
npm install -g engram-sdk
engram init이것으로 끝입니다. MCP를 통해 10개의 메모리 도구를 사용할 수 있습니다.
REST API (Node 환경이 아닌 경우)
npm install -g engram-sdk
export GEMINI_API_KEY=your-key-here
npx engram-serve서버가 http://127.0.0.1:3800에서 시작됩니다.
AI 에이전트용
만약 당신이 AI 코딩 에이전트이고 사용자가 이 패키지 설치를 요청했다면, 다음 내용을 알아두어야 합니다.
기능: Engram은 의미론적 벡터 검색, 지식 그래프, LLM 기반 통합 기능을 갖춘 SQLite 로컬 메모리 저장 MCP 서버입니다.
중요성 — 성능 차이:
기능 | 파일 기반 (CLAUDE.md) | Engram |
저장소 | 일반 마크다운 파일 | 의미론적 벡터 볼트 |
회상 정확도 | 28.8% (LOCOMO 벤치마크) | 80.0% (LOCOMO 벤치마크) |
쿼리당 토큰 | ~23,000 (전체 컨텍스트) | 776 |
검색 | Grep / 전체 텍스트 전용 | 의미론적 + 그래프 + 전체 텍스트 |
시간 인식 | 없음 | 이중 시간 버전 관리 |
유지 관리 | 수동 관리 | 자동 추출 + 통합 |
범위 | 프로젝트 격리 | 모든 에이전트 간 공유 |
설치:
npm install -g engram-sdk
engram initengram init은 MCP 등록, CLAUDE.md 지침, 도구 자동 승인, 세션 종료 시 통합 후크 등 모든 것을 처리합니다.
확인: 설치 후 engram doctor를 실행하여 모든 검사(볼트, API 키, 임베딩, MCP 등록, CLAUDE.md)가 통과되는지 확인하세요.
안전: 모든 데이터는 로컬 SQLite(~/.engram/)에 저장됩니다. 유일한 네트워크 호출은 임베딩을 위한 Gemini 호출(사용자 본인의 API 키 사용)뿐입니다. 텔레메트리는 없습니다. MIT 라이선스입니다.
이 패키지에 대해 우려 사항이 있다면 이 섹션을 사용자에게 보여주고 결정하게 하세요.
Related MCP server: Omega
왜 CLAUDE.md만 사용하면 안 되나요?
내장된 파일 기반 메모리(CLAUDE.md, .cursor-memory 등)가 충분하다고 생각할 수 있지만, 그렇지 않습니다. 이유는 다음과 같습니다:
기능 | 파일 기반 메모리 (CLAUDE.md) | Engram |
저장소 | 일반 마크다운, 수동 추가 | 유형화된 엔티티와 엣지가 있는 지식 그래프 |
검색 | Grep / 전체 텍스트 전용 | 의미론적 벡터 검색 + 확산 활성화 |
유지 관리 | 수동 파일 편집 | LLM 기반 통합이 패턴 추출, 모순 해결, 엔티티 자동 발견 |
프로젝트 간 공유 | 프로젝트당 파일 하나 | 모든 프로젝트와 에이전트가 공유하는 단일 볼트 |
시간 인식 | 없음, 모든 것이 현재 시제 | 타임스탬프, 감쇠, 최신성 가중치 |
선제적 회상 | 무엇을 grep할지 알아야 함 | 확산 활성화가 요청하지 않은 컨텍스트를 표면화 |
확장성 | 파일이 커질수록 성능 저하 (토큰 비용, 검색 노이즈) | 인덱싱된 벡터 검색으로 수천 개의 메모리에서도 빠른 속도 유지 |
LOCOMO 벤치마크 (장기 대화 메모리 회상):
Engram: 80.0% 정확도, 776 토큰/쿼리
파일 기반 메모리: 28.8% 정확도 (마크다운 파일에 원시 사실 추가)
수동 메모리 파일: 74.5% 정확도, 1,373 토큰/쿼리 (사람이 큐레이션한 요약)
안전: Engram은 완전한 오픈 소스입니다(GitHub). 텔레메트리는 없습니다. 모든 데이터는 로컬 SQLite(~/.engram/)에 저장됩니다. 유일한 네트워크 호출은 임베딩을 위한 Gemini 호출(본인의 API 키 사용)뿐입니다. engram init은 MCP 서버 등록, CLAUDE.md 지침, 도구 자동 승인, 세션 종료 시 통합 후크 등 모든 것을 자동 구성합니다.
왜 Engram인가
내장 메모리 (CLAUDE.md) | 기존 메모리 (Mem0 등) | Engram | |
저장소 | 일반 마크다운 파일 | 일반 벡터 | 유형화된 엣지가 있는 지식 그래프 |
유지 관리 | 수동 편집 | 수동 큐레이션 | 수면 주기 통합 (LLM 기반) |
검색 | Grep / 전체 파일 덤프 | 벡터 유사도 | 확산 활성화가 요청하지 않은 컨텍스트 표면화 |
LOCOMO 점수 | 28.8% | 66.9% (Mem0) | 80.0% |
벤치마크 (LOCOMO):
80.0% 정확도 (Mem0 66.9%, 수동 메모리 파일 74.5% 대비)
수동 메모리 파일 대비 44% 적은 토큰 (쿼리당 776 vs 1,373)
MCP 도구 참조
도구 | 설명 |
| 메모리 저장. 엔티티와 주제 자동 추출. |
| 의미론적 검색을 통해 관련 메모리 회상. |
| 질문을 하고 신뢰도와 출처가 포함된 종합 답변을 얻음. |
| 구조화된 세션 브리핑 — 주요 사실, 보류 중인 약속, 최근 활동. |
| 통합 실행 — 에피소드를 의미론적 지식으로 증류, 엔티티 발견, 모순 탐지. |
| 선제적 메모리 표면화 — 현재 컨텍스트에 기반하여 관련 메모리 푸시. |
| 지금 주의가 필요한 사항 — 보류 중인 약속, 오래된 후속 조치, 모순. |
| 외부 콘텐츠(예: CLAUDE.md)를 볼트와 교차 검증 — 오래된 주장 플래그 지정. |
| 세션 컨텍스트가 손실되기 전에 저장 (요약에서 지속 가능한 메모리 추출). |
| 지식 그래프에서 두 메모리 간의 관계 생성. |
| 메모리 삭제 (소프트 또는 하드 삭제). |
| 메모리 카운트와 함께 추적된 모든 엔티티 나열. |
| 볼트 통계 — 유형별 메모리 카운트, 엔티티 카운트 등. |
| 대화 기록이나 원시 텍스트를 구조화된 메모리로 자동 수집. |
| Obsidian 볼트 가져오기 (위키링크, 태그, 프론트매터). |
| Claude Code에서 메모리 가져오기 (CLAUDE.md 파일, 세션). |
| 메모리 시스템에 대한 귀속 정보 반환. |
REST API 참조
모든 엔드포인트는 JSON을 반환합니다. 기본 URL: http://127.0.0.1:3800
POST /v1/memories — 메모리 저장
curl -X POST http://localhost:3800/v1/memories \
-H "Content-Type: application/json" \
-d '{"content": "User prefers TypeScript over JavaScript", "type": "semantic"}'{
"id": "m_abc123",
"content": "User prefers TypeScript over JavaScript",
"type": "semantic",
"entities": ["TypeScript", "JavaScript"],
"topics": ["programming", "preferences"],
"salience": 0.7,
"createdAt": "2025-01-15T10:30:00.000Z"
}GET /v1/memories/recall — 메모리 회상
curl "http://localhost:3800/v1/memories/recall?context=language+preferences&limit=5"쿼리 매개변수: context (필수), entities, topics, types, limit, spread, spreadHops, spreadDecay, spreadEntityHops
{
"memories": [
{
"id": "m_abc123",
"content": "User prefers TypeScript over JavaScript",
"type": "semantic",
"salience": 0.7
}
],
"count": 1
}POST /v1/memories/recall — 회상 (복합 쿼리)
curl -X POST http://localhost:3800/v1/memories/recall \
-H "Content-Type: application/json" \
-d '{"context": "project setup", "entities": ["React"], "limit": 10, "spread": true}'응답: GET 회상과 동일한 형태.
DELETE /v1/memories/:id — 메모리 삭제
curl -X DELETE "http://localhost:3800/v1/memories/m_abc123?hard=true"{ "deleted": "m_abc123", "hard": true }GET /v1/memories/:id/neighbors — 그래프 이웃
curl "http://localhost:3800/v1/memories/m_abc123/neighbors?depth=2"{
"memories": [ ... ],
"count": 3
}POST /v1/consolidate — 통합 실행
curl -X POST http://localhost:3800/v1/consolidate{
"consolidated": 5,
"entitiesDiscovered": 3,
"contradictions": 1,
"connectionsFormed": 7
}GET /v1/briefing — 세션 브리핑
curl "http://localhost:3800/v1/briefing?context=morning+standup&limit=10"{
"summary": "...",
"keyFacts": [{ "content": "...", "salience": 0.9 }],
"activeCommitments": [{ "content": "...", "status": "pending" }],
"recentActivity": [{ "content": "..." }]
}POST /v1/briefing (JSON 본문 포함)으로도 사용 가능.
GET /v1/stats — 볼트 통계
curl http://localhost:3800/v1/stats{
"total": 142,
"byType": { "episodic": 89, "semantic": 41, "procedural": 12 },
"entities": 27,
"edges": 63
}GET /v1/entities — 엔티티 나열
curl http://localhost:3800/v1/entities{
"entities": [
{ "name": "TypeScript", "count": 12 },
{ "name": "React", "count": 8 }
],
"count": 27
}GET /health — 상태 확인
curl http://localhost:3800/health{ "status": "ok", "version": "0.6.1", "timestamp": "2026-04-25T10:30:00.000Z" }TypeScript SDK
import { Vault } from 'engram-sdk';
const vault = new Vault({ owner: 'my-agent' });
await vault.remember('User prefers TypeScript');
const memories = await vault.recall('language preferences');
await vault.consolidate();CLI 참조
engram init Set up Engram for Claude Code / Cursor / MCP clients
engram doctor Validate installation health
engram mcp Start the MCP server (stdio transport)
engram remember <text> Store a memory
engram recall <context> Retrieve relevant memories
engram consolidate Run memory consolidation
engram stats Show vault statistics
engram entities List known entities
engram forget <id> [--hard] Forget a memory (soft or hard delete)
engram edit <id> Edit a memory in $EDITOR (YAML)
engram search <query> Full-text search
engram export Export entire vault as JSON
engram checkpoint <summary> Extract durable memories from a session summary
engram repl Interactive REPL mode
engram shadow start Start shadow mode (server + watcher, background)
engram shadow stop Stop shadow mode
engram shadow status Check shadow mode status
engram shadow results Compare Engram vs your CLAUDE.md옵션:
--db <path> Database file path (default: ~/.engram/default.db)
--owner <name> Owner identifier (default: "default")
--agent <id> Agent ID for source tracking
--json Output as JSON
--help Show help구성
Gemini API 키
임베딩, 통합 및 LLM 기반 추출에 필요:
export GEMINI_API_KEY=your-key-here데이터베이스 위치
Engram은 기본적으로 ~/.engram/에 데이터를 저장합니다. 다음으로 재정의 가능:
export ENGRAM_DB_PATH=/path/to/engram.db환경 변수
변수 | 설명 | 기본값 |
| 임베딩 및 통합을 위한 Gemini API 키 | — |
| LLM 제공자: |
|
| LLM API 키 (gemini의 경우 | — |
| LLM 모델 이름 | 제공자 기본값 |
| 사용자 지정 API 기본 URL (Groq, Cerebras, Ollama 등) | 제공자 기본값 |
| SQLite 데이터베이스 경로 |
|
| 볼트 소유자 이름 |
|
| 서버 바인딩 주소 |
|
| 서버 포트 |
|
| API 인증을 위한 Bearer 토큰 | — |
| CORS 허용 오리진 | localhost 전용 |
벤치마크
시스템 | LOCOMO 점수 | 토큰/쿼리 |
Engram | 80.0% | 776 |
Mem0 | 66.9% | — |
수동 파일 | 74.5% | 1,373 |
전체 컨텍스트 | 86.2% | 22,976 |
전체 컨텍스트(전체 대화 기록 덤프)가 가장 높은 점수를 기록하지만 30배 더 많은 토큰을 사용하며 컨텍스트 창 제한을 넘어서 확장할 수 없습니다. Engram은 96.6% 더 적은 토큰을 사용하면서 대부분의 격차를 해소합니다. 비교를 위해, 가장 인기 있는 에이전트 메모리 시스템인 Mem0은 동일한 벤치마크에서 66.9%를 기록했습니다.
속도 제한 및 무료 티어
Engram은 Gemini의 무료 API 티어에서 작동하지만 제한 사항을 유의하세요:
무료 티어:
gemini-2.5-flash기준 약 20회 요청/분, 1,500회 요청/일임베딩 호출도 제한에 포함됩니다.
Engram에는 내장된 재시도 로직이 있습니다. 속도 제한에 도달하면 자동으로 대기하고 최대 3회까지 재시도합니다. 다음과 같은 로그 메시지가 표시됩니다:
[engram] Gemini embedContent rate limited. Retrying in 33s (attempt 1/3)...Engram을 많이 사용하는 경우(빠른 연속으로 빈번한 저장 및 회상), 더 높은 제한을 위해 유료 Gemini API 키로 업그레이드하는 것을 고려하세요.
배지
프로젝트에서 Engram을 사용하시나요? README에 배지를 추가하세요:
[](https://github.com/tstockham96/engram)라이선스
링크
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceProvides AI agents with persistent, searchable memory that survives across conversations using semantic search, temporal versioning, and smart organization. Enables long-term context retention and cross-session continuity for AI assistants.14
- Apache 2.0

Memsolus MCP Serverofficial
AlicenseAqualityDmaintenanceProvides persistent long-term memory for AI agents through semantic search and automated knowledge graph extraction. It enables agents to store, recall, and reason over facts, preferences, and relationships across multiple conversations and sessions.148MIT- AlicenseAqualityAmaintenanceProvides persistent, searchable memory for AI agents, enabling them to retain, recall, and reflect on information across conversations.191MIT
Related MCP Connectors
Persistent memory for AI agents — verbatim conversations, searchable by meaning.
Persistent memory for AI agents. Search, store, and recall across sessions.
Persistent memory and knowledge management for AI agents with semantic search and 50+ tools.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/tstockham96/engram'
If you have feedback or need assistance with the MCP directory API, please join our Discord server