Коротко: Cursor помнит проект только внутри текущего чата — новая сессия начинается с нуля. Долговременная память добавляется за десять минут: поднимаем локальный MCP-сервер MaxGraph в Docker, прописываем его в mcp.json, вставляем блок протокола в правила проекта. Дальше агент сам записывает решения, баги и задачи и восстанавливает их в начале следующей сессии.
Что понадобится
- Docker (Docker Desktop на Windows/macOS, docker + compose на Linux)
- Cursor с поддержкой MCP (все актуальные версии)
- 10 минут
Шаг 1. Поднять сервер памяти
git clone https://github.com/RuMemory/maxgraph
cd maxgraph
docker compose up -d
Проверка:
curl http://localhost:8787/healthz
# → ok
Шаг 2. Взять токен доступа
Токен генерируется сам при первом запуске:
# Linux / macOS
cat data/local_token.txt
# Windows
type data\local_token.txt
Это ключ от вашей памяти. Не публикуйте и не коммитьте его в репозиторий.
Шаг 3. Подключить MaxGraph к Cursor
В Cursor MCP-серверы настраиваются через mcp.json — глобально (~/.cursor/mcp.json) или на уровне проекта (.cursor/mcp.json). Мы рекомендуем проектный файл: память тогда подключается только там, где нужна.
Содержимое:
{
"mcpServers": {
"maxgraph": {
"url": "http://localhost:8787/mcp",
"headers": { "Authorization": "Bearer ВАШ_ТОКЕН" }
}
}
}
То же самое можно сделать через интерфейс: Settings → MCP → Add new MCP server, тип HTTP, URL http://localhost:8787/mcp, заголовок Authorization: Bearer ВАШ_ТОКЕН.
Перезапустите Cursor (или обновите MCP-серверы в настройках). В списке инструментов агента появятся session_start, create_entities, add_observations, search_nodes и другие. Если сервер горит красным в Settings → MCP — чаще всего не поднят Docker-контейнер или опечатка в токене.
Шаг 4. Вставить протокол памяти в правила проекта
Инструменты подключены — теперь скажите агенту, как ими пользоваться. Иначе он будет вспоминать про память случайно. Добавьте в правила проекта (.cursor/rules/memory.mdc или Project Rules в настройках):
У тебя есть постоянная память MaxGraph (инструменты maxgraph/*).
В начале сессии вызови session_start. Факты сохраняй СРАЗУ через
add_observations; новые темы — create_entities (name = kebab-case id,
title = человеческое имя); связи — create_relations в активном залоге.
В конце сессии — session_close с итогами.
Полный протокол: https://github.com/RuMemory/maxgraph/blob/master/docs/PROTOCOL.md
Без этого блока агент помнит «когда вспомнит». С блоком — систематически: решения фиксируются в момент принятия, а не задним числом. Проверить, что правило подхватилось, просто: начните новый чат и посмотрите, вызовет ли агент session_start сам, без напоминания. Если не вызвал — убедитесь, что файл правил лежит в проекте и включён в настройках Cursor.
Шаг 5. Проверить запись и чтение
Попросите агента: «Запомни: деплой у нас только через deploy-скрипт с preflight-гвардом». Закройте чат. Откройте новый и спросите: «Что ты знаешь о нашем деплое?»
Если в ответе есть preflight-гвард — память работает. Заодно загляните в дашборд http://localhost:8787/app (вход по токену): там живой граф знаний, журнал всех записей и экспорт всего в JSON в один клик.
Что просить запомнить в первую неделю
Память наполняется по ходу работы, но стартовый набор ускоряет эффект. Попросите агента записать:
- Решения с мотивами: «Запомни: мы выбрали JWT, потому что мобильное приложение не умеет в куки». Мотив важнее факта — без него решение через месяц пересматривают вслепую.
- Ограничения: «Не трогаем таблицу users до миграции», «деплой только через скрипт с preflight-гвардом».
- Открытые задачи: «Запомни задачу: дописать миграцию и обновить воркер». Открытые задачи попадают в дайджест каждой сессии, пока их не закроют.
- Люди и роли, если работаете не один: кто владелец решений, кто ревьюит.
Дальше агент пишет сам — по протоколу из шага 4. Ваша роль меняется: не писать память, а проверять её в дашборде.
Что это даёт через неделю
- Старт сессии без пересказа проекта: агент сам читает дайджест решений, открытых багов и задач. На нашем репозитории это 1,4–3,3× меньше токенов на старте.
- Решения не теряются при сжатии контекста: факты лежат вне истории чата, и compaction их не режет.
- Триал — 7 дней, без карты; данные лежат на вашей машине в
data/, экспорт в NDJSON в один клик.
FAQ
Cursor не видит сервер, горит красным. Что проверить?
Три вещи: docker compose up -d выполнен и контейнер жив (curl http://localhost:8787/healthz отвечает ok); токен скопирован без пробелов и перевода строки; после правки mcp.json Cursor перезапущен.
Память будет у всех проектов сразу?
Нет, если вы прописали сервер в .cursor/mcp.json конкретного проекта — только у него. Глобальный ~/.cursor/mcp.json подключает память везде; внутри графа проекты разделяются параметром project.
А если у меня Claude Code / другой клиент?
У нас есть отдельная инструкция: память для Claude Code. Любой другой MCP-клиент подключается так же: URL http://localhost:8787/mcp + заголовок с токеном. Конфиги под популярные хосты — в docs/PAIRING.md.
Данные куда-то отправляются?
Нет. Память лежит в data/ на вашей машине. Интернет нужен один раз — для активации лицензии после триала.
Что дальше
- Зачем вообще агенту память и какие подходы бывают: гид по памяти агентов.
- Сколько токенов экономит старт с памятью: наш замер с методикой.
- Термины из статьи: глоссарий памяти агентов.
Дай своему агенту память
Триал 7 дней без карты. Установка — один промпт, дальше агент сделает сам.