Skip to main content
Glama

claude-memory

Память + отслеживание проектов для Claude Code. Один MCP-сервер.

  • Семантический поиск по всем прошлым транскриптам Claude Code — новые сессии вспоминают старые, далеко за пределами окна контекста

  • Постоянные заметки (remember) — для проекта или глобальные

  • Структурированное отслеживание: проекты → вехи → эпики → тикеты → задачи, отображается как дорожная карта

  • Элементы отслеживания встроены в то же векторное пространство — тикеты появляются в семантическом поиске

  • Системные промпты для каждого проекта, хранятся в БД, внедряемые при старте сессии

Стек: эмбеддинги Voyage AI + векторная БД Qdrant + SQLite + FastMCP. Всё бесплатно: бесплатного тарифа Voyage с запасом хватает для личного использования, бесплатный тариф Qdrant Cloud вмещает 1 млн векторов (или запустите локальный docker). Эксплуатация — $0.

Setup

Два ключа:

git clone https://github.com/mathis-sperlich/claude-memory
cd claude-memory
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
cp .env.example .env
# fill VOYAGE_API_KEY, QDRANT_URL, QDRANT_API_KEY

Укажите SCAN_PROJECTS в ingest.py на ваши каталоги транскриптов (Claude Code сохраняет их в ~/.claude/projects/<encoded-project-dir>/*.jsonl).

Related MCP server: karve

Индексация

.venv/bin/python ingest.py --dry-run   # sanity-check chunking
.venv/bin/python ingest.py             # embed + upsert

Идемпотентно — повторные запуски встраивают только новые фрагменты. Безопасно как cron-задача. Шаблон launchd для почасового запуска: launchd/com.mathis.claude-memory.plist (отредактируйте пути, cp в ~/Library/LaunchAgents/, launchctl load).

Проверьте поиск из CLI:

.venv/bin/python query.py "how did the auth token refresh bug get fixed?"

Плохие результаты? Уменьшите MAX_CHUNK_CHARS в ingest.py или попробуйте модель побольше EMBED_MODEL в .env и повторите индексацию с --reset.

Подключение к Claude Code

~/.claude/settings.json:

{
  "mcpServers": {
    "claude-memory": {
      "command": "/path/to/claude-memory/.venv/bin/python",
      "args": ["/path/to/claude-memory/mcp_server.py"]
    }
  }
}

Перезапустите Claude Code. Готово — теперь у Claude есть query_history, remember, инструменты отслеживания и инструменты системных промптов.

Инструменты

Память

Инструмент

Назначение

query_history(question, k=, project=, since=, kind=)

Семантический поиск по всему. kind: note, transcript, tracking или подтип

list_recent_sessions(days=, project=)

Над чем я недавно работал

remember(content, title=, tags=, project=)

Сохранить постоянную заметку. project ограничивает её; если опущен → глобальная (появляется в поиске каждого проекта)

list_notes(tag=, limit=) / forget(note_id)

Управление заметками

Отслеживание

Иерархия: проект → веха (необязательно) → эпик → тикет → задача.

Инструмент

Назначение

create_project(name, description=)

Верхний уровень иерархии

create_milestone(project, name, body=, target_date=)

Что выходит вместе

create_epic(project, title, body=, milestone=, priority=)

Группировка тикетов для достижения цели

create_ticket(project, title, body=, epic=, priority=)

Единица работы

create_todo(project, title, body=, ticket=, priority=)

Маленький шаг

list_items(kind=, project=, status=, parent_id=)

Отфильтрованный список

get_item(id)

Один элемент + дочерние элементы

update_item(id, status=, title=, body=, priority=, ...)

Частичное обновление, ошибка на неприменимых полях

delete_item(id)

Удаление. Проекты должны быть сначала пустыми

get_roadmap(project)

Дорожная карта в Markdown: вехи → эпики → тикеты + прогресс

list_projects()

Имена всех проектов во всех хранилищах

status: open / in_progress / done. priority: P0–P3.

Системные промпты

set_system_prompt(content, project=) / get_system_prompt(project=) / list_system_prompts() / delete_system_prompt(project=). Глобальный и попроектные слои, объединяются при чтении. Хранятся в tracking.db. Если не задано, используется docs/usage.md.

Хуки (необязательно, детерминированные)

Инструменты MCP срабатывают, когда решает модель. Хуки срабатывают всегда. hooks/session_start.py внедряет открытые тикеты текущего проекта + системный промпт при каждом старте сессии:

{
  "hooks": {
    "SessionStart": [{
      "matcher": "*",
      "hooks": [{
        "type": "command",
        "command": "/path/to/claude-memory/.venv/bin/python /path/to/claude-memory/hooks/session_start.py"
      }]
    }]
  }
}

Удалённый доступ (необязательно)

По умолчанию — локальный stdio, ноль сетевых запросов. Хотите ту же память с claude.ai или других машин? HTTP-транспорт + Cloudflare tunnel + GitHub OAuth с белым списком логинов:

.venv/bin/python mcp_server.py --transport http --port 8765

Полное руководство, включая службы launchd + самовосстанавливающийся watchdog: CLOUD_SETUP.md.

Примечания

  • Конфиденциальность: Voyage видит текст при создании эмбеддингов (по условиям использования данные клиентов не используются для обучения), Qdrant Cloud хранит векторы и полезную нагрузку. Если вас это беспокоит → локальный Qdrant + локальный эмбеддер, тот же код.

  • Зависшие запросы на эмбеддинги ограничены переменными окружения VOYAGE_TIMEOUT / VOYAGE_MAX_RETRIES (по умолчанию 20 с / 2).

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides persistent semantic memory for Claude Code via local embeddings and six MCP tools, enabling context storage and retrieval across sessions without cloud dependencies.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Persistent project memory MCP server for Claude Code that remembers development context across sessions, including features, fixes, notes, and standards.
    1
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server that provides persistent long-term memory for Claude Code, enabling storage, search, and retrieval of project knowledge across sessions.
    -