engram

MCP инструменты

Описание всех 11 MCP-инструментов engram

MCP инструменты

Engram предоставляет 11 MCP-инструментов через TypeScript-сервер. Сервер транслирует вызовы в JSON-запросы к Rust-ядру через Unix-сокет.

memory_store

Сохраняет новую запись в памяти. При cosine similarity > 0.95 с существующей записью обновляет её вместо создания дубликата.

{
  "context": "Ситуация, в которой произошло действие",
  "action": "Принятое решение или действие",
  "result": "Результат или исход",
  "memory_type": "decision",
  "tags": "auth,refactor",
  "project": "my-project"
}
ПараметрТипОбязательныйОписание
contextstringдаКонтекст ситуации
actionstringдаДействие или решение
resultstringдаРезультат
memory_typeenumнетdecision (по умолчанию), pattern, bugfix, context, antipattern
tagsstringнетТеги через запятую
projectstringнетИдентификатор проекта

Находит релевантные записи через гибридный поиск: 70% вектор (HNSW cosine) + 30% полнотекст (BM25 FTS5).

{
  "query": "authentication middleware architecture",
  "limit": 10,
  "project": "my-project"
}
ПараметрТипОбязательныйОписание
querystringдаПоисковый запрос
limitnumberнетМаксимум результатов (по умолчанию 10)
projectstringнетФильтр по проекту

memory_judge

Оценивает качество записи. Подпитывает Q-Learning роутер для улучшения будущих поисков.

{
  "memory_id": "uuid",
  "query": "запрос, по которому найдена запись",
  "score": 0.8
}
ПараметрТипОбязательныйОписание
memory_idstringдаUUID записи
querystringнетКонтекст поиска
scorenumberнетОценка от 0.0 до 1.0

Шкала оценки:

  • 0.8-1.0 — напрямую решило проблему
  • 0.5-0.7 — полезный контекст, частично релевантно
  • 0.1-0.4 — косвенно связано, малополезно

memory_status

Возвращает статус системы: количество записей, размер индекса, ожидающие оценки.

{}

memory_config

Читает текущую конфигурацию. Запись конфигурации через MCP недоступна (код ошибки 6008).

{
  "action": "get"
}
ПараметрТипОбязательныйОписание
actionenumнетget (по умолчанию) или set

memory_export

Экспортирует все активные записи в портабельный JSON. Бинарные поля (эмбеддинги, indexed, superseded_by) исключаются.

{}

memory_import

Импортирует записи из экспортированного JSON. Режим merge: пропускает дубликаты по ID. Импортированные записи получают indexed=false и требуют переиндексации.

{
  "version": 1,
  "memories": [
    {
      "id": "uuid",
      "memory_type": "decision",
      "context": "...",
      "action": "...",
      "result": "...",
      "score": 0.0,
      "tags": "tag1,tag2",
      "project": "my-project",
      "created_at": "2025-01-01T00:00:00Z",
      "updated_at": "2025-01-01T00:00:00Z",
      "used_count": 0
    }
  ]
}
ПараметрТипОбязательныйОписание
versionnumberдаВерсия формата (должна быть 1)
memoriesarrayдаМассив записей

memory_consolidate_preview

Находит кандидатов на дедупликацию без применения изменений. Не вызывает LLM.

{
  "stale_days": 30,
  "min_score": 0.3
}
ПараметрТипОбязательныйОписание
stale_daysnumberнетПорог устаревания (дни)
min_scorenumberнетМинимальный score

memory_consolidate

Анализирует кандидатов с помощью LLM. Возвращает рекомендации merge/keep.

{
  "stale_days": 30,
  "min_score": 0.3
}

memory_consolidate_apply

Применяет рекомендации консолидации: merge, delete, archive.

{
  "stale_days": 30,
  "min_score": 0.3
}

memory_insights

Управляет производными знаниями (insights), сгенерированными trainer.

{
  "action": "list"
}
ПараметрТипОбязательныйОписание
actionenumнетlist (по умолчанию), generate, delete
idstringнетUUID insight (для действия delete)

Действия:

  • list — показать все активные insights
  • generate — запустить trainer для анализа паттернов
  • delete — удалить insight по ID (проверяет, что memory_type = 'insight')