claude-memory-fts
claude-memory-fts
MCP-сервер долгосрочной памяти для Claude Code. Хранит факты в локальной базе данных SQLite с гибридным поиском (FTS5 + семантическое векторное сходство) и автоматической вставкой контекста.
Возможности
Гибридный поиск — полнотекстовый поиск FTS5 + семантическое векторное сходство, объединенные с помощью Reciprocal Rank Fusion (RRF)
Семантическое понимание — поиск воспоминаний по смыслу, а не только по ключевым словам (на базе эмбеддингов all-MiniLM-L6-v2)
Автоматическая вставка контекста — 30 самых важных воспоминаний автоматически добавляются в каждый запрос через хук
Ранжирование по важности — факты ранжируются по частоте обращений, давности и весу категории
Отслеживание обращений — отслеживает, как часто используется каждое воспоминание
Upsert (обновление или вставка) — автоматически обновляет существующие факты вместо дублирования
Категоризация — организация по типам: предпочтение, решение, техническое, проект, рабочий процесс, личное, общее
Ресурсы MCP — предоставляет ресурс
memory://contextдля контекста сессииНулевая конфигурация — работает «из коробки», хранит данные в
~/.claude/memory.db
Установка
# Add to Claude Code
claude mcp add memory -- npx claude-memory-fts
# Auto-configure context injection hook (recommended)
npx claude-memory-fts --setup-hookКоманда --setup-hook автоматически:
Создает
~/.claude/scripts/memory-context.shДобавляет хук
UserPromptSubmitв~/.claude/settings.json30 самых важных воспоминаний автоматически вставляются в каждый запрос
Команды CLI
Команда | Описание |
| Запуск MCP-сервера (используется Claude Code) |
| Вывод 30 самых важных фактов (используется скриптом хука) |
| Автоматическая настройка хука вставки контекста |
Конфигурация
Переменная окружения | По умолчанию | Описание |
|
| Путь к файлу базы данных SQLite |
Пример с пользовательским путем:
claude mcp add memory -e MEMORY_DB_PATH=/path/to/my/memory.db -- npx claude-memory-ftsИнструменты
memory_save
Сохранение факта в долгосрочную память.
Параметр | Тип | Обязательный | Описание |
| string | да | Информация для запоминания |
| string | нет | Одно из: |
memory_search
Гибридный поиск: выполняет FTS5 и семантический поиск параллельно, объединяет результаты с помощью RRF. При отсутствии совпадений переключается на поиск подстроки LIKE.
Параметр | Тип | Обязательный | Описание |
| string | да | Ключевое слово или фраза для поиска |
| number | нет | Макс. количество результатов (по умолчанию: 10) |
memory_update
Обновление содержимого или категории воспоминания по ID.
Параметр | Тип | Обязательный | Описание |
| number | да | ID воспоминания |
| string | нет | Новое содержимое (пропустите, чтобы оставить текущее) |
| string | нет | Новая категория (пропустите, чтобы оставить текущую) |
memory_list
Список всех сохраненных воспоминаний, сгруппированных по категориям.
Параметр | Тип | Обязательный | Описание |
| string | нет | Фильтр по категории |
| number | нет | Макс. количество результатов (по умолчанию: 50) |
memory_delete
Удаление воспоминания по ID.
Параметр | Тип | Обязательный | Описание |
| number | да | ID воспоминания |
Ресурсы
memory://context
MCP-ресурс, предоставляющий 30 самых важных фактов, ранжированных по оценке важности:
Частота обращений — часто используемые факты получают более высокий балл (макс. 20 баллов)
Давность — недавно обновленные факты получают более высокий балл (10 баллов, убывает в течение 90 дней)
Вес категории — предпочтение/решение (3), рабочий процесс/техническое (2), проект/личное (1), общее (0)
Как это работает
Конвейер поиска
FTS5 + BM25 и семантическое векторное сходство выполняются параллельно
Результаты объединяются и дедуплицируются с помощью Reciprocal Rank Fusion (k=60)
Факты, присутствующие в обоих списках, получают естественное повышение рейтинга
Если оба метода возвращают пустой результат, используется поиск подстроки LIKE
Количество обращений отслеживается при каждом успешном поиске
Эмбеддинги
Модель: all-MiniLM-L6-v2 (384 измерения, ~23 МБ)
Генерируются локально через
@xenova/transformers— никаких вызовов API, данные не покидают ваш компьютерЭмбеддинги создаются при сохранении и заполняются при запуске сервера
Косинусное сходство с порогом 0.3 для фильтрации шума
Хранение
SQLite в режиме WAL для быстрого параллельного чтения/записи
Виртуальная таблица FTS5 синхронизируется через триггеры для полнотекстовой индексации в реальном времени
Эмбеддинги хранятся в столбцах BLOB вместе с фактами
Разработка
git clone https://github.com/kurovu146/claude-memory-mcp.git
cd claude-memory-mcp
npm install
npm run build
npm testЛицензия
MIT
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/kurovu146/claude-memory-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server