Skip to main content
Glama
jamjet-labs

jamjet-labs/engram-mcp-server

by jamjet-labs

Долговременная память для ИИ-агентов — темпоральный граф знаний, гибридный поиск, SQLite или PostgreSQL.

crates.io Docker MCP Registry License

java-ai-memory.dev · Исходный код · Документация JamJet · Discord


Engram — это уровень долговременной памяти для ИИ-агентов. Он извлекает факты из диалогов, сохраняет их в темпоральном графе знаний и извлекает с помощью гибридного семантического и ключевого поиска — на базе одного файла SQLite или базы данных PostgreSQL.

Этот репозиторий содержит запись в реестре Glama. Исходный код находится в основном репозитории JamJet.

Быстрый старт — 30 секунд

# Docker — uses local Ollama by default
docker run --rm -i \
  -v engram-data:/data \
  ghcr.io/jamjet-labs/engram-server:0.5.0

Или установите через crates.io:

cargo install jamjet-engram-server
engram serve

Настройка Claude Desktop

Добавьте в ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "engram": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "-v", "engram-data:/data",
        "ghcr.io/jamjet-labs/engram-server:0.5.0"
      ]
    }
  }
}

После перезапуска модели станут доступны 11 инструментов MCP.

Related MCP server: Graphiti FastMCP Server

Инструменты MCP (11)

Инструменты памяти (7)

Инструмент

Описание

memory_add

Извлечение и сохранение фактов из сообщений диалога с помощью LLM. Побочные эффекты: вызывает настроенную LLM для парсинга фактов, затем записывает их в граф знаний. Возвращает ID извлеченных фактов. Требует массив messages и user_id.

memory_recall

Семантический поиск по сохраненным фактам с использованием векторного сходства. Только чтение, без побочных эффектов. Возвращает ранжированные факты, соответствующие запросу, в рамках user_id и опционального org_id. Используйте для получения контекста перед генерацией ответа.

memory_recall

Сборка блока контекста с учетом лимита токенов для промптов LLM с выбором фактов по уровням важности. Только чтение. Возвращает отформатированную строку наиболее релевантных фактов, ограниченную заданным бюджетом токенов. Используйте вместо memory_recall, когда нужен готовый фрагмент промпта.

memory_search

Поиск по ключевым словам с использованием полнотекстового поиска (SQLite FTS5 / Postgres). Только чтение, без побочных эффектов. Возвращает факты, соответствующие точным ключевым словам. Используйте, когда нужно точное совпадение терминов, а не семантическое сходство, как в memory_recall.

memory_forget

Мягкое удаление факта по ID с опциональной причиной. Побочный эффект: помечает факт как удаленный в графе знаний (физически не удаляет). Необратимо через этот инструмент. Используйте, когда пользователь просит удалить конкретную информацию.

memory_stats

Получение агрегированной статистики: общее количество фактов, валидных (не удаленных) фактов, количество сущностей и связей. Только чтение, без побочных эффектов. Используйте для оценки размера и состояния хранилища памяти.

memory_consolidate

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

Инструменты хранилища сообщений (4)

Инструмент

Описание

messages_save

Сохранение сообщений чата для диалога по ID. Побочные эффекты: записывает сообщения в хранилище и опционально запускает извлечение фактов (управляется параметром --extract-on-save). Используйте для сохранения полной истории диалога вместе с извлеченными фактами.

messages_get

Получение всех сообщений для диалога по ID. Только чтение, без побочных эффектов. Возвращает упорядоченный массив сообщений. Используйте для воспроизведения или проверки прошлых диалогов.

messages_list

Список всех ID диалогов в хранилище сообщений. Только чтение, без побочных эффектов. Возвращает массив строк с ID диалогов. Используйте для обнаружения сохраненных диалогов перед получением через messages_get.

messages_delete

Удаление всех сообщений для диалога по ID. Побочный эффект: безвозвратно удаляет сообщения диалога из хранилища. Необратимо. Не влияет на извлеченные факты — для этого используйте memory_forget.

Все инструменты памяти ограничены областью (org_id, user_id, session_id) — org является самым широким уровнем, session — самым узким.

Провайдеры LLM

Агностичность к провайдерам. Один бинарный файл, установите ENGRAM_LLM_PROVIDER=... и работайте:

Провайдер

Значение переменной окружения

Примечания

Ollama

ollama (по умолчанию)

Локально, бесплатно, без API-ключей

Совместимые с OpenAI

openai-compatible

OpenAI, Azure, Groq, Together, Mistral, DeepSeek, vLLM, LM Studio и др.

Anthropic

anthropic

Claude через Messages API

Google

google

Gemini через generateContent

Shell command

command

Передача в любой внешний скрипт

Mock

mock

Детерминированный, только для тестов

# Example: use Groq instead of Ollama
docker run --rm -i \
  -e ENGRAM_LLM_PROVIDER=openai-compatible \
  -e ENGRAM_OPENAI_BASE_URL=https://api.groq.com/openai/v1 \
  -e OPENAI_API_KEY=gsk_... \
  -v engram-data:/data \
  ghcr.io/jamjet-labs/engram-server:0.5.0

Почему Engram?

Проблема

Ответ Engram

Каждая библиотека памяти агентов ориентирована на Python

Ядро на Rust с нативными клиентами для Python, Java и MCP

Нужно устанавливать Postgres + Qdrant + Neo4j для теста

Один файл SQLite (без инфраструктуры) или Postgres, когда это необходимо

История диалогов — это не память знаний

Конвейер извлечения фактов — структурированные факты из сообщений

Старые факты устаревают и противоречат друг другу

Обнаружение конфликтов + консолидация — затухание, продвижение, дедупликация, обобщение

Поиск по памяти — либо семантический, ЛИБО по ключевым словам

Гибридный поиск — векторный поиск + FTS5 в одном запросе

Поддержка MCP — это второстепенная задача

MCP-native — 11 инструментов, предоставляемых одним бинарным файлом

Невозможно изолировать память по пользователю или арендатору

Первоклассные области видимости — org / user / session встроены в каждый запрос

Клиентские SDK

Язык

Пакет

Установка

Python

jamjet (включает EngramClient)

pip install jamjet

Java

dev.jamjet:jamjet-sdk (включает EngramClient)

Maven Central

Spring Boot

dev.jamjet:engram-spring-boot-starter

Maven Central

Rust

jamjet-engram (встраивается напрямую)

cargo add jamjet-engram

См. также

Лицензия

Apache 2.0 — см. LICENSE.


Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Portable MCP memory server giving AI agents persistent, verified, cross-session memory. 30 tools, SQLite + cloud sync, Chrome Extension for every AI chat platform. The only JavaScript MCP memory server. Includes behavioral learning engine, semantic search, knowledge scoping, session quality scoring, and web dashboard.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    A temporally-aware knowledge graph MCP server for AI agents, enabling episodic ingestion, entity management, and semantic search with support for multiple LLM and embedding providers.
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Persistent memory MCP server for AI agents, featuring a visual interface to browse, search, edit, and delete memory. It provides tools for capturing episodes, recalling, consolidating, crystallizing traits, and forgetting, with local SQLite storage and optional authenticated web UI.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server that enables persistent, hybrid, local memory for LLM agents, with vector + BM25 search, knowledge graph, and policy-driven retention, providing token-budgeted context injection for AI assistants.
    MIT