Skitchy/rekindle

Skitchy/rekindle

от skitchy
MCP-сервер Rekindle решает проблему потери контекста AI-ассистента между сессиями. Он ориентирует в начале, захватывает структурированные записи в конце, сохраняет контекст при сжатии. Всё локально в SQLite, без API-ключей. Полезен разработчикам Claude Code для непрерывной работы.

Rekindle

npm tests license Glama score

For Claude Code users who lose time re-explaining project context every session.

npx rekindle init

Your AI forgets everything between sessions. Rekindle fixes that.


Rekindle init demo

Rekindle is an MCP continuity engine that solves session orientation, not just storage. Orient at session start, capture at session end, survive mid-session compaction. All local, all SQLite, zero API keys.

v0.3.3 — version-consistent MCP metadata and package documentation, on top of v0.3.2's one-command session-start delivery installer. Release notes

Quick Start

Requires Node.js 20 or newer.

npx rekindle init

This creates .rekindle/ in your project with a SQLite database, identity template, continuity policy, project registry, captures directory, and transcript directory. Then add the MCP server config for your client:

Claude Code

Add to ~/.claude.json:

{
  "mcpServers": {
    "rekindle": {
      "command": "npx",
      "args": ["-y", "rekindle"]
    }
  }
}

Enable PreCompact protection (captures context before mid-session compaction):

Инструменты были проиндексированы:
boot_report

Генерирует отчёт об ориентации сессии. Только чтение: не изменяет никакие сохранённые данные. Читает файл идентификации с диска, сканирует базу данных памяти для получения статистики и последней контрольной точки, находит самый последний файл стенограммы, обнаруживает структурные пробелы (отсутствие идентификации, устаревшие воспоминания, отсутствие контрольной точки и т.д.) и вычисляет оценку ориентации от 0 до 100 по 6 критериям. Также выявляет открытые циклы из предыдущих сессий и любые захваты PreCompact, которые сохраняют контекст из уплотнённых сессий. Если существуют захваты PreCompact, вызовите list_captures и read_capture для восстановления контекста до уплотнения перед продолжением работы. Вызывайте это в самом начале каждой сессии, чтобы установить контекст перед выполнением любой работы.

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

    Абсолютный или относительный путь к документу идентификации (например, '.rekindle/identity.md'). Этот файл описывает, кто такой пользователь и как с ним работать. Если файл не существует, сообщается о критическом пробеле.

  • projectstring

    Название активного проекта для ограниченной ориентации. Когда указано, оценка ориентации включает критерий, специфичный для проекта, а статистика памяти фильтруется по этому проекту.

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

    Абсолютный или относительный путь к каталогу транскриптов (например, '.rekindle/transcripts'). Самый свежий .md-файл в этом каталоге считывается и включается в отчёт. Если каталог пуст или отсутствует, выводится сообщение о пробеле уровня info.

capture_now

Вручную захватить текущий контекст сессии в .rekindle/captures/. Используйте это, когда хотите сохранить текущее состояние разговора - перед сложной операцией, когда контекст под угрозой, или когда пользователь это запрашивает. Создает тот же артефакт, что и автоматический хук PreCompact, но запускается по требованию.

Параметры
  • reasonstring

    Почему выполняется этот захват (сохраняется в структурированном снимке).

  • session_idstring

    Идентификатор текущей сессии. Если не указан, определяется из самого последнего файла транскрипта.

  • transcript_pathstring

    Путь к JSONL-файлу журнала текущего сеанса. Если параметр не указан, автоматически находится самый свежий журнал.

delete_memory

Навсегда удаляет одно воспоминание из локальной базы данных SQLite по его ID. Это действие необратимо — строка и её запись в полнотекстовом поисковом индексе удаляются немедленно. Используйте, когда воспоминание устарело, содержит ошибку или больше не актуально. Возвращает {success: true}, если воспоминание найдено и удалено, или {success: false, message: 'Memory not found'}, если ID не существует. Не затрагивает другие воспоминания или записи сессии.

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

    UUID удаляемой памяти. Получается из результатов store_memory, search_memory или list_memories.

end_session

Записывает структурированную передачу сессии. Записывает несколько записей в локальную базу данных SQLite: одну контрольную точку (обязательно), а также опциональные решения, открытые циклы, предпочтения, ограничения, предупреждения, реляционную дельту и фокус следующей сессии. Каждая запись хранится с типизированной колонкой 'type' (не префиксы содержимого) и связывается с записью сессии через session_id. Также создаёт строку сессии в таблице sessions с кратким описанием, показателем ориентации и количеством пробелов. Контрольная точка доступна для извлечения через boot_report при следующем запуске сессии. Все записи доступны для поиска через search_memory и list_memories. Вызывайте это в конце каждой содержательной сессии, чтобы следующая сессия могла подхватить нить.

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

    То, на чём мы остановились, - самый важный артефакт передачи. Хранится как type='checkpoint' с importance 8. Вот что boot_report загружает как последнюю контрольную точку при следующем запуске сессии.

  • constraintsstring[]

    Границы, которые нельзя нарушать: их нарушение разрушает доверие. Каждая запись хранится как type='constraint' с важностью 9 (наивысшая по умолчанию).

  • decisionsstring[]

    Ключевые решения, принятые в ходе этой сессии, и их обоснование. Каждая запись хранится как отдельная память с type='decision' и importance 7.

  • next_session_focusstring

    Место, с которого следует продолжить следующую сессию, может отличаться от того, где мы остановились. Хранится как type='next_session_focus' с важностью 7.

  • open_loopsstring[]

    Неразрешённые вопросы, отложенные задачи или обсуждения, которые требуют дальнейших действий. Каждая запись хранится с типом 'open_loop' и важностью 7.

  • preferencesstring[]

    Новые предпочтения пользователя или наблюдения о стиле работы, полученные за эту сессию. Каждая запись сохраняется как type='preference' с importance 6.

  • projectstring

    Имя проекта, к которому привязаны все записи. Передаётся в поле project каждой сохранённой памяти.

  • relational_deltastring

    Что изменилось в рабочих отношениях за эту сессию: сдвиги в доверии, напряжённость, восстановление, изменения тона. Сохраняется как type='relational_delta' с важностью 8.

  • session_idstring

    Идентификатор текущего сеанса. Используется для проверки наличия непрочитанных захватов PreCompact. Если для этого сеанса есть захваты, которые не были прочитаны через read_capture, в ответ включается предупреждение.

  • transcript_pathstring

    Путь к файлу транскрипта сессии, хранящийся в записи сессии для использования boot_report.

  • warningsstring[]

    Опасности или риски, которые следующая сессия должна учитывать. Каждая запись хранится как type='warning' с importance 8.

list_captures

Вывести список PreCompact-захватов для текущей или недавних сессий. PreCompact-захваты сохраняют контекст, который иначе теряется при промежуточном сжатии сессии. Если для текущей сессии существует PreCompact-захват и вам нужен контекст из более ранней части сессии, сначала вызовите этот инструмент, затем read_capture перед ответом. Перед вызовом end_session всегда проверяйте наличие непросмотренных захватов.

Параметры
  • session_idstring

    Отфильтровать по конкретной сессии. Если параметр не указан, возвращаются все захваты, отсортированные по новизне.

list_memories

Выводит сохранённые воспоминания из локальной базы данных SQLite, отсортированные по убыванию даты (новые сверху). В отличие от search_memory, этот метод не требует запроса — он возвращает все воспоминания, соответствующие необязательным фильтрам. Только чтение; не изменяет никакие данные. Используйте, чтобы просмотреть, что было сохранено, проверить содержимое памяти или посчитать количество воспоминаний по категории или проекту. Возвращает массив воспоминаний с полями id, content, category, importance, project и created_at.

Параметры
  • categoryenum

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

  • limitnumber

    Максимальное количество возвращаемых воспоминаний. По умолчанию 50. Самые новые воспоминания возвращаются первыми независимо от лимита.

  • projectstring

    Фильтрует по конкретному проекту. Если параметр опущен, выводит список воспоминаний по всем проектам.

read_capture

Читает PreCompact-захват по идентификатору. Используйте это, чтобы восстановить контекст, потерянный при уплотнении в середине сессии. Три режима управляют затратами токенов: «summary» (один абзац, дёшево), «structured» (решения/циклы/предупреждения, умеренно), «raw» (фрагмент полного транскрипта, дорого — только когда summary или structured недостаточно). Начинайте с самого лёгкого режима, который отвечает на ваш вопрос.

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

    Возьмите идентификатор из list_captures (например, 'precompact-abc123-001')

  • modeenum

    Режим чтения. 'summary': обзор в один абзац. 'structured': решения, открытые вопросы, предупреждения, смены контекста. 'raw': полный фрагмент транскрипта.

search_memory

Ищет сохранённые воспоминания с помощью полнотекстового поиска SQLite (FTS5). Возвращает результаты, отсортированные по релевантности, с повышением приоритета для более важных воспоминаний. Каждый поиск увеличивает счётчик retrieval_count у найденных воспоминаний, отслеживая, к каким воспоминаниям обращаются чаще всего. Используйте при запуске сессии, чтобы загрузить релевантный контекст, или в середине сессии, чтобы вспомнить конкретную информацию. Возвращает массив совпадающих воспоминаний с полями id, content, category, importance, project, created_at и retrieval_count. Возвращает пустой массив, если совпадений не найдено.

Параметры
  • categoryenum

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

  • limitnumber

    Максимальное количество возвращаемых результатов. По умолчанию — 10. Результаты ранжируются по релевантности и важности перед усечением.

  • projectstring

    Отфильтруйте результаты по конкретному проекту. Оставьте пустым для поиска по всем проектам.

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

    Полнотекстовый поисковый запрос. Поддерживает ключевые слова, фразы и синтаксис SQLite FTS5 (например, 'database AND migration', '"exact phrase"'). Более широкие запросы возвращают больше результатов.

store_memory

Сохраняет новую память в локальной базе данных SQLite. Создаёт постоянную запись с автосгенерированным UUID, временной меткой и переданным содержимым. Используйте для хранения предпочтений, усвоенных уроков, контекста проекта, заметок о взаимоотношениях или любой другой информации, которую стоит запомнить между сессиями. Память сохраняется между сессиями и отображается в boot_report, search_memory и list_memories. В случае успеха возвращает сгенерированный ID. Не выполняет дедупликацию: двойной вызов с одним и тем же содержимым создаёт две отдельные записи.

Параметры
  • categoryenum

    Категория памяти. Определяет, как память взвешивается при ориентации: 'preference' и 'relationship' влияют на оценку ориентации. 'context' используется для контрольных точек и передачи сессий. 'lesson' используется для ограничений и предупреждений. 'general' - категория по умолчанию для всего остального.

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

    Содержимое памяти для хранения. Обычный текст, без ограничения длины. Должно быть самодостаточным — будущее извлечение может вернуть эту память без окружающего контекста.

  • importancenumber

    Оценка важности от 1 (низкая) до 10 (критическая). Более важные воспоминания ранжируются первыми в результатах поиска. Ограничения по умолчанию — 9, контрольные точки — 8, общие заметки — 5.

  • projectstring

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

update_memory

Обновляет существующую память в локальной SQLite-базе. Меняет только те поля, которые ты передал — пропущенные остаются без изменений. Поле updated_at обновляется автоматически. Если изменён content, для этой памяти перестраивается полнотекстовый поисковый индекс. В случае успеха возвращает полный объект обновлённой памяти, иначе — {success: false, message: 'Memory not found'}, если ID не существует. Используй, чтобы исправить неточные воспоминания, изменить важность или переклассифицировать категорию памяти без удаления и повторного создания.

Параметры
  • categoryenum

    Новая категория для памяти. Опустите, чтобы оставить существующую категорию без изменений.

  • contentstring

    Содержимое для замены в памяти. Опустите, чтобы оставить существующее содержимое без изменений.

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

    UUID памяти, которую нужно обновить. Получите из результатов store_memory, search_memory или list_memories.

  • importancenumber

    Новая оценка важности от 1 (низкая) до 10 (критическая). Опустите, чтобы сохранить существующую оценку без изменений.

0.3.3основная
0.3.2
0.3.1
0.3.0
0.2.1
0.2.0
0.1.1
0.1.0

Выберите клиент, чтобы установить Skitchy/rekindle:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "skitchy-rekindle-89liedqnyk": {
      "command": "npx",
      "args": [
        "-y",
        "rekindle"
      ]
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "skitchy-rekindle-89liedqnyk": {
      "command": "npx",
      "args": [
        "-y",
        "rekindle"
      ]
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "skitchy-rekindle-89liedqnyk": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "rekindle"
      ]
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"skitchy-rekindle-89liedqnyk\",\"type\":\"stdio\",\"command\":\"npx\",\"args\":[\"-y\",\"rekindle\"]}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "skitchy-rekindle-89liedqnyk": {
      "command": "npx",
      "args": [
        "-y",
        "rekindle"
      ]
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add skitchy-rekindle-89liedqnyk -- npx -y rekindle

Либо через JSON-конфиг:

claude mcp add-json skitchy-rekindle-89liedqnyk "{\"command\":\"npx\",\"args\":[\"-y\",\"rekindle\"]}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add skitchy-rekindle-89liedqnyk -- npx -y rekindle

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.skitchy-rekindle-89liedqnyk]
command = "npx"
args = ["-y", "rekindle"]
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите Skitchy/rekindle, а в поле команды запуска — строку ниже:
npx -y rekindle

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "skitchy-rekindle-89liedqnyk": {
      "command": "npx",
      "args": [
        "-y",
        "rekindle"
      ]
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "skitchy-rekindle-89liedqnyk": {
      "command": "npx",
      "args": [
        "-y",
        "rekindle"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например skitchy-rekindle-89liedqnyk.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: skitchy-rekindle-89liedqnyk
    command: npx
    args:
      - "-y"
      - "rekindle"
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "skitchy-rekindle-89liedqnyk": {
      "command": "npx",
      "args": [
        "-y",
        "rekindle"
      ]
    }
  }
}

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

leesgit/claude-session-continuity-mcp

leesgit/claude-session-continuity-mcp

от leesgit

Автоматически сохраняет контекст между сессиями Claude Code — больше не нужно повторять настройки. Использует семантический поиск, захват ошибок и решений, делает работу непрерывной. Для разработчи...

TypeScript⭐ 7
aitytech/agentkits-memory

aitytech/agentkits-memory

от aitytech

MCP сервер AgentKits Memory даёт AI-ассистентам постоянную память: сохраняет решения, паттерны и ошибки между сессиями. Всё хранится локально в SQLite, легко интегрируется с Claude Code, Cursor и д...

TypeScript⭐ 3
timmx7/acheron-mcp-server

timmx7/acheron-mcp-server

от timmx7

MCP сервер Acheron даёт постоянную память, общую между Claude Chat, Code и Cowork. Сохраняй решения, ищи заметки и просматривай историю — всё локально, без облака. Полезен всем, кто хочет не терять контекст между сессиями.

TypeScript⭐ 7
gingugu/gingugu

gingugu/gingugu

от gingugu

Локальный MCP-сервер Gingugu дает AI-ассистентам постоянную память на SQLite: контекст между сессиями, проектами и репозиториями. Гибридный поиск, хронология, связи, уровни доверия. Один файл, без ...

Python⭐ 7
alfredoizdev/contextforge-mcp

alfredoizdev/contextforge-mcp

от alfredoizdev

ContextForge MCP — сервер для постоянной памяти AI-ассистентов. Сохраняет решения, архитектуру и контекст разработки между сессиями, используя семантический поиск. Поддерживает Claude Code, Cursor ...

TypeScript⭐ 2
ravi-labs/mindmap-mcp-server

ravi-labs/mindmap-mcp-server

от ravi-labs

Mind Map — MCP сервер для сквозной памяти между AI-инструментами. Захватывайте контекст сессии в одном клиенте и возобновляйте в другом — без повторных объяснений. Локальное хранение и автоматическ...

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

Лука Никитин