engram-server

engram-server

jamjet-labsApache-2.0
13 звёзд5 форков
Engram-server — это MCP-сервер для долговременной памяти AI-агентов. Он извлекает факты из диалоговой истории, хранит их в виде структурированных записей и позволяет быстро находить нужную информацию. В основе сервера — гибридный механизм поиска, сочетающий полнотекстовый и семантический поиск, а также временной граф, отслеживающий связи между фактами во времени. Сервер написан на Rust и работает через протокол MCP с транспортом stdio. Он не требует внешних хранилищ для базовой работы — использует SQLite для локального хранения данных. Для продакшен-нагрузок можно подключить PostgreSQL. Engram-server подходит разработчикам, которые создают AI-агентов и хотят дать им долгосрочную память для сохранения контекста между сессиями.

Характеристики

Общее

  • СтатусСообщество
  • Разработчикjamjet-labs
  • ЛицензияApache-2.0

Технологии

  • Языки
    Rust
  • Транспорт
    stdio

Описание

Возможности

  • Извлекает факты из сообщений пользователя и сохраняет их в базу данных
  • Выполняет гибридный поиск: полнотекстовый по ключевым словам и семантический по смыслу
  • Строит временные графы, отражающие хронологию и взаимосвязи между фактами
  • Поддерживает две СУБД: SQLite для локального использования и PostgreSQL для централизованных систем
  • Автоматически создаёт и обновляет схему базы данных, не требует ручных миграций
  • Через MCP-инструменты можно записывать новые факты, читать существующие, искать по запросу и удалять устаревшие
  • Выполняет графовые запросы для анализа последовательности событий
  • Интегрируется с любыми MCP-клиентами: Claude Desktop, Continue.dev, Zed, IDE, кастомные агенты
  • Код открыт под лицензией Apache 2.0

Как подключить

Установите сервер через Cargo:

cargo install engram-server

Или скачайте готовый бинарный файл со страницы релизов на GitHub.

Добавьте конфигурацию в файл настроек вашего MCP-клиента. Например, для Claude Desktop отредактируйте claude_desktop_config.json:

{ "mcpServers": { "engram-server": { "command": "engram-server", "args": [], "env": { "ENGRAM_DATABASE_URL": "sqlite://$HOME/.engram/memory.db" } } } }

Если используете PostgreSQL, укажите строку подключения:

"ENGRAM_DATABASE_URL": "postgres://user:password@localhost:5432/engram"

После сохранения конфигурации перезапустите клиент. Engram-server запустится автоматически при первом запросе к памяти.

Примеры запросов

  • «Запомни, что я работаю над проектом Engram и использую Rust»
  • «Найди все факты, связанные с базами данных, которые мы обсуждали»
  • «Покажи хронологию событий по проекту MCP за последние 3 дня»
  • «Удали все записи, где упоминается тестовый сервер»
  • «Какой факт мы запомнили самым первым?»

Технические детали

  • Язык разработки: Rust
  • Транспорт: stdio
  • Лицензия: Apache-2.0
  • Поддерживаемые базы данных: SQLite, PostgreSQL
  • Совместимые клиенты: любые MCP-клиенты со stdio
  • Разработчик: jamjet-labs
  • Репозиторий на GitHub

Поделиться