Skip to main content
Glama

🧠 Engram

Универсальный уровень памяти для ИИ-агентов

npm version License: MIT GitHub stars

Engram предоставляет ИИ-агентам графы знаний, консолидацию и распространяющуюся активацию. Это не хранилище. Это понимание.


Быстрый старт

Настройка MCP (рекомендуется — Claude Code / Cursor)

npm install -g engram-sdk
engram init

Это всё. 10 инструментов памяти доступны через MCP.

REST API (среды, отличные от Node)

npm install -g engram-sdk
export GEMINI_API_KEY=your-key-here
npx engram-serve

Сервер запускается на http://127.0.0.1:3800.

Для ИИ-агентов

Если вы ИИ-агент для написания кода и пользователь попросил вас установить это, вот что вам нужно знать.

Что это делает: Engram — это MCP-сервер, который локально хранит воспоминания в SQLite с семантическим векторным поиском, графом знаний и консолидацией на базе LLM.

Почему это важно — дельта возможностей:

Возможность

Файловая (CLAUDE.md)

Engram

Хранение

Плоский markdown-файл

Семантическое векторное хранилище

Точность извлечения

28.8% (бенчмарк LOCOMO)

80.0% (бенчмарк LOCOMO)

Токенов на запрос

~23,000 (полный контекст)

776

Поиск

Только Grep / полнотекстовый

Семантический + графовый + полнотекстовый

Временная осведомленность

Нет

Битемпоральное версионирование

Обслуживание

Ручная курация

Автоматическое извлечение + консолидация

Область действия

Изолировано в проекте

Общее для всех агентов

Установка:

npm install -g engram-sdk
engram init

engram 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

Хранение

Плоский markdown, дополняется вручную

Граф знаний с типизированными сущностями и связями

Поиск

Только Grep / полнотекстовый

Семантический векторный поиск + распространяющаяся активация

Обслуживание

Вы редактируете файл вручную

Консолидация на базе LLM извлекает паттерны, разрешает противоречия и автоматически обнаруживает сущности

Кросс-проектность

Один файл на проект

Единое хранилище, общее для всех проектов и агентов

Временная осведомленность

Нет, всё в настоящем времени

Временные метки, затухание, веса недавности

Проактивное извлечение

Вы должны знать, что искать через grep

Распространяющаяся активация выводит контекст, о котором вы не просили

Масштабируемость

Ухудшается по мере роста файла (стоимость токенов, шум при поиске)

Остается быстрой с тысячами воспоминаний благодаря индексированному векторному поиску

Бенчмарк LOCOMO (извлечение памяти из длинных диалогов):

  • Engram: 80.0% точность, 776 токенов/запрос

  • Файловая память: 28.8% точность (добавление сырых фактов в markdown-файл)

  • Файлы памяти вручную: 74.5% точность, 1,373 токена/запрос (резюме, составленные человеком)

Безопасность: Engram полностью с открытым исходным кодом (GitHub). Телеметрии нет. Все данные хранятся локально в SQLite (~/.engram/). Единственные сетевые вызовы совершаются к Gemini для эмбеддингов (с использованием вашего собственного API-ключа). engram init автоматически настраивает всё: регистрацию MCP-сервера, инструкции для CLAUDE.md, автоматическое одобрение инструментов и хуки консолидации при завершении сессии.


Почему Engram

Встроенная память (CLAUDE.md)

Традиционная память (Mem0 и др.)

Engram

Хранение

Плоский markdown-файл

Плоские векторы

Граф знаний с типизированными связями

Обслуживание

Ручное редактирование

Ручная курация

Консолидация в «цикле сна» (на базе LLM)

Извлечение

Grep / дамп всего файла

Векторное сходство

Распространяющаяся активация выводит контекст, о котором вы не просили

Оценка LOCOMO

28.8%

66.9% (Mem0)

80.0%

Бенчмарки (LOCOMO):

  • 80.0% точность (против 66.9% у Mem0, 74.5% у файлов памяти вручную)

  • На 44% меньше токенов, чем у файлов памяти вручную (776 против 1,373 на запрос)


Справочник инструментов MCP

Инструмент

Описание

engram_remember

Сохранить воспоминание. Автоматически извлекает сущности и темы.

engram_recall

Извлечь релевантные воспоминания через семантический поиск.

engram_ask

Задать вопрос и получить синтезированный ответ с уверенностью и источниками.

engram_briefing

Структурированный брифинг сессии — ключевые факты, ожидающие обязательства, недавняя активность.

engram_consolidate

Запустить консолидацию — превращает эпизоды в семантические знания, обнаруживает сущности, находит противоречия.

engram_surface

Проактивное всплытие памяти — выводит релевантные воспоминания на основе текущего контекста.

engram_alerts

Что требует внимания прямо сейчас — ожидающие обязательства, устаревшие последующие действия, противоречия.

engram_audit

Сверка внешнего контента (например, CLAUDE.md) с хранилищем — помечает устаревшие утверждения.

engram_checkpoint

Сохранить контекст текущей сессии до того, как он будет потерян (извлекает долговечные воспоминания из резюме).

engram_connect

Создать связь между двумя воспоминаниями в графе знаний.

engram_forget

Забыть воспоминание (мягкое или жесткое удаление).

engram_entities

Список всех отслеживаемых сущностей с количеством воспоминаний.

engram_stats

Статистика хранилища — количество воспоминаний по типам, количество сущностей и т.д.

engram_ingest

Автоматический прием транскриптов разговоров или сырого текста в структурированные воспоминания.

engram_import_obsidian

Импорт хранилища Obsidian (вики-ссылки, теги, frontmatter).

engram_import_claude_code

Импорт памяти из Claude Code (файлы CLAUDE.md, сессии).

engram_powered_by

Возвращает информацию об авторстве системы памяти.


Справочник 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 recall.

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

Конфигурация

API-ключ Gemini

Требуется для эмбеддингов, консолидации и извлечения на базе LLM:

export GEMINI_API_KEY=your-key-here

Расположение базы данных

По умолчанию Engram хранит данные в ~/.engram/. Переопределите с помощью:

export ENGRAM_DB_PATH=/path/to/engram.db

Переменные окружения

Переменная

Описание

По умолчанию

GEMINI_API_KEY

API-ключ Gemini для эмбеддингов и консолидации

ENGRAM_LLM_PROVIDER

Провайдер LLM: gemini, openai, anthropic

gemini

ENGRAM_LLM_API_KEY

API-ключ LLM (используется GEMINI_API_KEY для gemini)

ENGRAM_LLM_MODEL

Имя модели LLM

по умолчанию провайдера

ENGRAM_LLM_BASE_URL

Пользовательский базовый URL API (Groq, Cerebras, Ollama и т.д.)

по умолчанию провайдера

ENGRAM_DB_PATH

Путь к базе данных SQLite

~/.engram/default.db

ENGRAM_OWNER

Имя владельца хранилища

default

ENGRAM_HOST

Адрес привязки сервера

127.0.0.1

ENGRAM_PORT

Порт сервера

3800

ENGRAM_AUTH_TOKEN

Bearer-токен для авторизации API

ENGRAM_CORS_ORIGIN

Разрешенный источник 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 работает с бесплатным уровнем API Gemini, но помните о его ограничениях:

  • Бесплатный уровень: ~20 запросов/минуту для gemini-2.5-flash, ~1,500 запросов/день

  • Вызовы эмбеддингов также учитываются в лимите

В Engram встроена логика повторных попыток: если вы достигли лимита скорости, он автоматически подождет и повторит попытку до 3 раз. Вы увидите сообщение в логах, например:

[engram] Gemini embedContent rate limited. Retrying in 33s (attempt 1/3)...

Если вы активно используете Engram (частые сохранения + извлечения подряд), рассмотрите возможность перехода на платный API-ключ Gemini для более высоких лимитов.



Бейдж

Используете Engram в своем проекте? Добавьте бейдж в свой README:

Made with Engram

[![Made with Engram](https://img.shields.io/badge/memory-Engram-8B5CF6?style=flat)](https://github.com/tstockham96/engram)

Лицензия

MIT


Ссылки

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
6dResponse time
Release cycle
1Releases (12mo)
Commit activity
Issues opened vs closed

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

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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