/ Каталог / Песочница / Memory
● Официальный modelcontextprotocol ⚡ Сразу

Memory

автор modelcontextprotocol · modelcontextprotocol/servers

Постоянный граф знаний, который Claude пишет и читает в ходе чатов — благодаря этому он запоминает вашу команду, проект и предпочтения.

Опорная реализация Memory MCP. Сохраняет сущности (люди, проекты, объекты), их наблюдения (факты) и типизированные отношения между ними в виде локального JSON графа знаний. Позволяет Claude запоминать конкретные факты ('наша prod БД называется api-prod-01', 'Jamie предпочитает описания PR в виде списков') без опоры на окно контекста.

Зачем использовать

Ключевые функции

Живое демо

Как выглядит на практике

memory.replay ▶ готово
0/0

Установка

Выберите клиент

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-memory"
      ]
    }
  }
}

Откройте Claude Desktop → Settings → Developer → Edit Config. Перезапустите после сохранения.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-memory"
      ]
    }
  }
}

Cursor использует ту же схему mcpServers, что и Claude Desktop. Конфиг проекта приоритетнее глобального.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-memory"
      ]
    }
  }
}

Щёлкните значок MCP Servers на боковой панели Cline, затем "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-memory"
      ]
    }
  }
}

Тот же формат, что и Claude Desktop. Перезапустите Windsurf для применения.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "memory",
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-memory"
      ]
    }
  ]
}

Continue использует массив объектов серверов, а не map.

~/.config/zed/settings.json
{
  "context_servers": {
    "memory": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@modelcontextprotocol/server-memory"
        ]
      }
    }
  }
}

Добавьте в context_servers. Zed перезагружается автоматически.

claude mcp add memory -- npx -y @modelcontextprotocol/server-memory

Однострочная команда. Проверить: claude mcp list. Удалить: claude mcp remove.

Сценарии использования

Реальные сценарии: Memory

Как перестать переобъяснять свой проект Claude каждое утро

👤 Одиночные разработчики и продвинутые пользователи, которые ежедневно общаются с Claude о одной и той же кодовой базе ⏱ ~15 min beginner

Когда использовать: Вы постоянно вставляете один и тот же вводный абзац: 'наш стек — это X, prod БД — Y, мы не используем Z' — в начале каждой сессии.

Предварительные требования
  • Memory MCP работает с постоянным путём файла — Установите MEMORY_FILE_PATH=/Users/you/.claude/memory.json чтобы граф сохранялся после перезагрузки
Поток
  1. Инициализируйте граф основными фактами
    Создайте сущности для: моей компании (Acme), нашего основного репозитория (acme-corp/api) и нашей prod БД (api-prod-01). Добавьте наблюдения вроде 'использует Postgres 16', 'размещается на AWS RDS us-east-1', 'окно резервной копии 03:00 UTC'. Свяжите их отношениями.✓ Скопировано
    → Сущности и отношения созданы, видны через read_graph
  2. Добавляйте наблюдения о предпочтениях по ходу работы
    Запомните: когда я попрошу вас написать commit message для этого репо, используйте повелительное наклонение без префиксных тегов. Сохраните это как наблюдение к сущности 'acme-corp/api'.✓ Скопировано
    → Наблюдение добавлено без пересоздания сущности
  3. Протестируйте восстановление памяти в новой сессии
    Что вы знаете об api-prod-01?✓ Скопировано
    → Claude запрашивает граф и выводит факты, а не обобщённый ответ

Итог: Личный граф знаний, который становится умнее с каждым чатом — чем больше вы используете Claude, тем меньше шаблонного кода вы пишете.

Подводные камни
  • Claude не использует память автоматически; он забывает её проверять — Добавьте 'Всегда консультируйтесь с графом памяти в начале каждой задачи о этом проекте' в ваш системный/проектный промпт
  • Граф становится грязным — дублирующиеся сущности с небольшими вариациями имён — Выберите соглашение об именовании (kebab-case) и периодически просите Claude выполнить read_graph и удалить дубликаты
Сочетать с: filesystem · github

Построить лёгкую CRM о предпочтениях ваших коллег

👤 Независимые контрибьюторы и лиды, работающие с множеством заинтересованных сторон ⏱ ~10 min beginner

Когда использовать: Вы постоянно забываете, кто предпочитает Slack в сравнении с email, кто хочет списки в сравнении с прозой, кто на каком проекте.

Поток
  1. Создайте сущность 'Человек' при первом взаимодействии
    Создайте сущность Person 'jamie-chen'. Наблюдения: 'PM на команде checkout', 'предпочитает Loom вместо документов', 'ревью происходят во вторник/четверг утром PT'.✓ Скопировано
    → Сущность видна через open_nodes
  2. Свяжите людей с проектами через отношения
    Добавьте отношение: jamie-chen --owns--> checkout-redesign-2026. И: alex-kim --reviews--> checkout-redesign-2026.✓ Скопировано
    → Отношения появляются в графе
  3. Запросите информацию перед написанием чего-либо им
    Я собираюсь написать обновление для Jamie по редизайну checkout. Что я знаю об их предпочтениях в общении и проекте?✓ Скопировано
    → Возвращает сохранённые предпочтения, определяет тон черновика

Итог: Вы перестанете спрашивать 'кто был тот PM?', и ваши асинхронные обновления с первой попытки попадут в нужный тон.

Подводные камни
  • Сохранение чувствительной/личной информации о реальных коллегах кажется странным и может утечь — Сохраняйте только наблюдения о работе; никогда не сохраняйте личные детали. Относитесь к файлу как к конфиденциальному — он синхронизируется с любым хранилищем, в котором вы его резервируете
Сочетать с: linear · github

Вести исследовательский путь через множество сессий

👤 Исследователи, авторы, любой, кто исследует тему в течение недель ⏱ ~20 min intermediate

Когда использовать: Вы исследуете тему (исследование рынка, обзор литературы, расследование), которая охватывает множество сессий и источников.

Поток
  1. Зафиксируйте каждое открытие как наблюдение к сущности топика
    Я исследую 'принятие MCP на предприятиях'. Создайте это как сущность. Теперь добавьте это открытие как наблюдение: 'Anthropic сообщает, что 60% клиентов Claude Code используют 3+ MCP (источник: блог 2026-03-12)'.✓ Скопировано
    → Сущность топика растёт с каждым шагом с цитируемыми наблюдениями
  2. Свяжите связанные темы
    Создайте сущность 'Опасения безопасности MCP'. Свяжите её с 'принятие MCP на предприятиях' через отношение 'blocks-adoption-when-unaddressed'.✓ Скопировано
    → Граф показывает семантическую связь
  3. Попросите синтез в любой момент
    На основе всех наблюдений, связанных с 'принятие MCP на предприятиях', напишите одностраничное резюме с цитатами.✓ Скопировано
    → Синтез с источниками для каждого утверждения, ничего вымышленного

Итог: Цитируемый, поэтапный исследовательский актив, который не зависит от манипуляций окном контекста.

Подводные камни
  • Наблюдения, сохранённые без источников, позже неотличимы от галлюцинаций модели — Требуйте, чтобы каждое наблюдение включало источник в тексте ('источник: X, дата: Y'); отклоняйте те, у которых его нет
Сочетать с: firecrawl · exa-search · fetch

Комбинации

Сочетайте с другими MCP — эффект x10

memory + filesystem

Загружайте длинные исследовательские документы, извлекайте факты и сохраняйте их в памяти для последующего синтеза

Прочитайте каждый .md файл в /research/. Для каждого ключевого утверждения добавьте его как наблюдение к соответствующей сущности топика в памяти. Включите имя файла как источник.✓ Скопировано
memory + github

Запоминайте соглашения, специфичные для репо, чтобы будущие PR ревью применяли их без переобъяснения

Из последних 10 слитых PR в acme/api извлеките тон, длину и соглашения об именах. Сохраните как наблюдения к сущности 'acme/api'.✓ Скопировано

Позвольте длинным сессиям рассуждений сохранять свои выводы из черновиков между чатами

Запустите сессию sequential-thinking для планирования нашей миграции. В конце напишите выводы как наблюдения к сущности 'db-migration-q2'.✓ Скопировано

Инструменты

Что предоставляет этот MCP

ИнструментВходные данныеКогда вызыватьСтоимость
create_entities сущности: [{name, entityType, observations[]}] Представьте новую сущность (человека, проект, систему, концепцию) бесплатно
create_relations отношения: [{from, to, relationType}] Соедините две существующих сущности типизированным ребром бесплатно
add_observations наблюдения: [{entityName, contents[]}] Добавьте факты к существующей сущности (наиболее распространённая операция) бесплатно
delete_entities имена сущностей: str[] Удалите устаревшие сущности (также удаляет их отношения) бесплатно
delete_observations удаления: [{entityName, observations[]}] Удалите конкретные факты, которые оказались неправильными бесплатно
delete_relations отношения: [...] Удалите рёбра без удаления сущностей бесплатно
read_graph (нет) Выведите полный граф — используйте экономно, когда он растёт бесплатно
search_nodes запрос: str Найдите сущности по ключевому слову в именах/типах/наблюдениях бесплатно
open_nodes имена: str[] Получите конкретные сущности по точному имени бесплатно

Стоимость и лимиты

Во что обходится

Квота API
Неограниченно — локальный JSON
Токенов на вызов
Мало — операции графа возвращают только изменённые узлы по умолчанию
Деньги
Бесплатно
Совет
Предпочитайте search_nodes и open_nodes вместо read_graph когда у вас >50 сущностей, иначе вы будете платить за загрузку всего графа в каждом ходу.

Безопасность

Права, секреты, радиус поражения

Хранение учётных данных: Нет учётных данных. Файл графа — это то, на что указывает MEMORY_FILE_PATH.
Исходящий трафик: Нет с сервера. Наблюдения отправляются вашему поставщику LLM как контекст, когда Claude их читает.

Устранение неполадок

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

Память не сохраняется после перезагрузок

Установите переменную окружения MEMORY_FILE_PATH на абсолютный путь вроде /Users/you/.claude/memory.json. Без неё сервер использует временный путь.

Проверить: Проверьте конфигурацию вашего MCP клиента на переменные окружения; после перезагрузки вызовите `read_graph` и убедитесь, что старые сущности возвращаются
Claude никогда не консультирует память самостоятельно

Сервер открывает инструменты; модель всё ещё нуждается в промпте. Добавьте инструкцию на уровне проекта вроде 'Перед ответом на вопросы о <проекте>, вызовите search_nodes для соответствующего контекста.'

Дублирующиеся сущности вроде 'Jamie' и 'jamie-chen'

Примите соглашение об именовании (kebab-case или полное имя). Периодически выполняйте read_graph и delete_entities на дубликатах после add_observations объединения фактов.

Отношение не получается с 'сущность не найдена'

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

Альтернативы

Memory в сравнении

АльтернативаКогда использоватьКомпромисс
Qdrant MCPВам нужен семантический поиск по тысячам заметок, а не вручную подобранный графТребует запуска Qdrant; отличный для нечёткого восстановления, плохой для явных структурированных фактов
Notion MCPВаша 'память' — это на самом деле общая база знаний командыПривязана к сети, медленнее, нужен API ключ — но люди тоже могут читать/редактировать её
Neo4j MCPВы строите серьёзный граф знаний со сложными запросамиТяжелее — нужна БД; избыточно для личной памяти

Ещё

Ресурсы

📖 Читать официальный README на GitHub

🐙 Открытые задачи

🔍 Все 400+ MCP-серверов и Skills