kael-bit/engram-rs

kael-bit/engram-rs

от kael-bit
engram-rs — MCP-сервер памяти для AI-агентов. Управляет воспоминаниями через трехслойное затухание и самоорганизующееся дерево тем. Важные данные продвигаются, шум забывается. Полезен разработчикам...

engram-rs

CI License: MIT Rust GitHub stars Docker

Memory engine for AI agents. Two axes: time (three-layer decay & promotion) and space (self-organizing topic tree). Important memories get promoted, noise fades, related knowledge clusters automatically.

Most agent memory is a flat store — dump everything in, keyword search to get it back. No forgetting, no organization, no lifecycle. engram-rs adds the part that makes memory actually useful: the ability to forget what doesn't matter and surface what does.

engram demo — store, context reset, recall

Single Rust binary, one SQLite file, zero external dependencies. No Python, no Redis, no vector DB — curl | bash and it runs. ~10 MB binary, ~100 MB RSS, single-digit ms search latency.

Quick Start

# Install (interactive — will prompt for embedding provider config)
curl -fsSL https://raw.githubusercontent.com/kael-bit/engram-rs/main/install.sh | bash

# Store a memory
curl -X POST http://localhost:3917/memories \
  -d '{"content": "Always run tests before deploying", "tags": ["deploy"]}'

# Recall by meaning
curl -X POST http://localhost:3917/recall \
  -d '{"query": "deployment checklist"}'

# Restore full context (session start)
curl http://localhost:3917/resume
Инструменты были проиндексированы:
engram_consolidate

Выполняет цикл консолидации памяти. Продвигает важные воспоминания вверх, удаляет устаревшие записи. При merge=true использует LLM для объединения похожих воспоминаний.

Параметры
  • decay_drop_thresholdnumber

    Drop below this recency (default 0.01)

  • mergeboolean

    Use LLM to merge similar memories

  • promote_min_importancenumber

    Min importance to promote (default 0.6)

  • promote_thresholdinteger

    Min access count to promote (default 3)

engram_delete

Удаляет память по идентификатору. Используйте, когда память устарела, неверна или избыточна.

Параметры
  • idstringобязательный

    Memory ID to delete

engram_extract

Извлекает структурированные воспоминания из необработанного текста с помощью LLM. Принимает логи бесед или заметки и возвращает отдельные воспоминания.

Параметры
  • auto_embedboolean

    Generate embeddings (default true)

  • textstringобязательный

    Raw text to extract memories from

engram_health

Детальная проверка здоровья: время работы, RSS-память, статистика кэша встраиваний, статус конфигурации ИИ.

Параметры

Без параметров.

engram_recall

Гибридный семантический + ключевой поиск с извлечением с учётом бюджета. Быстрый по умолчанию (~30 мс с кэшем, ~1 с первый запрос). Опциональный Expand добавляет расширение запроса с помощью LLM (+1-2 с) - используйте только для коротких/расплывчатых запросов.

Параметры
  • budget_tokensinteger

    Max token budget

  • dryboolean

    Skip touch/reinforcement on results (for background queries)

  • expandboolean

    LLM query expansion (+1-2s). Use for short/vague queries like single words

  • layersinteger[]

    Filter by layers

  • limitinteger

    Max results

  • min_importancenumber

    Min importance threshold

  • min_scorenumber

    Drop results below this score (0-1)

  • namespacestring

    Filter by namespace (also includes "default" namespace automatically)

  • querystringобязательный

    Search query

  • sinceinteger

    Only memories created after this unix ms timestamp

  • sort_byenum

    Sort order (default: score)

  • sourcestring

    Filter by source (e.g. session, extract, api)

  • tagsstring[]

    Filter by tags (must have ALL specified)

  • untilinteger

    Only memories created before this unix ms timestamp

engram_recent

Перечисляет недавние воспоминания по времени создания. Помогает восстановить контекст сеанса.

Параметры
  • hoursnumber

    Look back N hours (default 2)

  • layerinteger

    Filter by layer

  • limitinteger

    Max results (default 20)

  • min_importancenumber

    Minimum importance threshold

  • namespacestring

    Filter by namespace (also includes "default" namespace automatically)

  • sourcestring

    Filter by source (e.g. session)

engram_repair

Восстанавливает поисковый индекс FTS. Удаляет осиротевшие записи и перестраивает отсутствующие. Безопасно выполнять в любое время - идемпотентна.

Параметры

Без параметров.

engram_restore

Восстанавливает мягко удалённую память из корзины обратно в исходный слой.

Параметры
  • idstringобязательный

    Memory ID to restore from trash

engram_resume

Полная загрузка памяти для восстановления сессии. Возвращает ядро (постоянные знания), рабочую память (текущий контекст/решения), буфер (временные данные), недавнюю активность и заметки сессии. Используйте теги рабочего пространства для фильтрации по текущему рабочему контексту. Компактный режим (по умолчанию) минимизирует использование токенов.

Параметры
  • budgetnumber

    Max chars across all sections (default 8000, 0=unlimited)

  • compactboolean

    Compact output: content+tags only (default true)

  • limitnumber

    Max memories per layer (default 100)

  • namespacestring

    Filter by namespace (also includes "default" namespace automatically)

  • recent_epochsinteger

    Number of consolidation epochs to look back for recent section (default 24). Epoch-based: only counts active consolidation cycles, not wall-clock time.

  • workspacestring

    Comma-separated workspace tags to filter core/working memories (e.g. 'engram,rust')

engram_search

Быстрый поиск по ключевым словам. Легче, чем recall — без логики оценки и распределения.

Параметры
  • limitinteger

    Max results (default 10)

  • namespacestring

    Filter by namespace (also includes "default" namespace automatically)

  • qstringобязательный

    Search query

engram_stats

Получает статистику памяти: количество на слой, статус AI, версию.

Параметры

Без параметров.

engram_store

Сохраняет память. Все памяти начинаются в Buffer и переходят в Working/Core через частоту доступа и контроль качества LLM. Процедурные памяти и уроки (tag=lesson) автоматически переходят в Working через 2 часа. Использует supersedes для замены устаревших памяти по их идентификаторам.

Параметры
  • contentstringобязательный

    Memory content text

  • importancenumber

    Importance 0-1 (default 0.5, bumps +0.02 on each recall)

  • kindenum

    Memory type: semantic (facts, default), episodic (events), procedural (how-to, persists indefinitely)

  • namespacestring

    Override namespace. Use "default" for cross-project knowledge (user identity, preferences, universal lessons)

  • skip_dedupboolean

    Skip near-duplicate detection

  • sourcestring

    Source identifier

  • supersedesstring[]

    IDs of old memories this one replaces

  • sync_embedboolean

    Wait for embedding generation before returning (default: false)

  • tagsstring[]

    Tags for categorization

engram_topic

Углубляется в тематические кластеры по ID. Используйте после /resume для изучения конкретных тем из индекса знаний.

Параметры
  • idsstring[]обязательный

    Topic IDs to fetch (e.g. ["kb1", "kb3"])

engram_trash

Выводит список мягко удалённых воспоминаний. Недавно удалённые элементы можно восстановить.

Параметры
  • limitinteger

    Max results (default 100)

engram_triggers

Получает trigger memories для конкретного действия. Вызывайте перед выполнением действия (например, git-push, deploy), чтобы вспомнить соответствующие уроки и правила.

Параметры
  • actionstringобязательный

    Action name (e.g. git-push, deploy, send-message)

engram_update

Обновляет содержимое памяти, метаданные (важность, теги, слой, вид). Использует supersedes в store для замены на историю.

Параметры
  • contentstring

    New content text

  • idstringобязательный

    Memory ID to update

  • importancenumber

    New importance value

  • kindenum

    Memory type

  • layerinteger

    Move to layer: 1=buffer, 2=working, 3=core

  • tagsstring[]

    Replace tags

Похожие MCP-сервера

yuchen20/memory-plus

yuchen20/memory-plus

Memory-Plus - MCP сервер с локальным RAG для записи и поиска заметок и контекста. Визуализация связей между воспоминаниями. Полезен для долговременной памяти ассистентов.

Python56
mcasdfgf/mcp-roo-memory

mcasdfgf/mcp-roo-memory

MCP-сервер для долговременной графовой памяти AI-агентов. Хранит знания в виде фрактального графа, поддерживает семантический поиск на 50+ языках и управляет контекстным окном через горячие, холодн...

Python1
Cartisien/engram-mcp

Cartisien/engram-mcp

MCP-сервер для постоянной семантической памяти AI-агентов. Хранит воспоминания в SQLite, ищет по смыслу через локальные эмбеддинги Ollama — без облака и API-ключей. Пять инструментов: remember, rec...

TypeScript1
Redis MCP

Redis MCP

официальный

MCP сервер Redis дает AI-агентам управлять Redis на естественном языке: кэширование, сессии и векторный поиск. Интегрируется с MCP клиентами, упрощает разработку приложений для работы с данными в р...

Python619
varun29ankuS/shodh-memory

varun29ankuS/shodh-memory

Shodh-Memory - MCP сервер для персистентной памяти AI-агентов и роботов. Запоминает суть, забывает лишнее и обучается без LLM. Использует локальные эмбеддинги и граф знаний. Работает офлайн, один б...

Rust280
wd041216-bit/free-web-search-ultimate

wd041216-bit/free-web-search-ultimate

Zero-API-Key Web Search - MCP-сервер для AI-агентов: веб-поиск, извлечение контекста, проверка утверждений с взвешенной оценкой доказательств. Бесплатно без API-ключа, поддерживает DuckDuckGo, Sear...

Python16
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин