memstate-ai/memstate-mcp

memstate-ai/memstate-mcp

от memstate-ai
Сервер версионированной памяти для AI-агентов — хранит факты, отслеживает их изменения и автоматически обнаруживает конфликты. В отличие от RAG, использует точное key-value хранение вместо эмбеддин...

Memstate AI - MCP

npm version License: MIT MCP Node memstate-mcp MCP server

Versioned memory for AI agents. Store facts, detect conflicts, and track how decisions change over time — exposed as a hosted MCP server.

Dashboard · Docs · Pricing


Why Memstate?

RAG (most other memory systems) Memstate AI
Token usage per conversation ~7,500 ~1,500
Agent visibility Black box Full transparency
Memory versioning None Full history
Token growth as memories scale O(n) O(1)
Infrastructure required Yes None — hosted SaaS

Other memory systems dump everything into your context window and hope for the best. Memstate gives your agent a structured, versioned knowledge base it navigates precisely — load only what you need, know what changed, know when facts conflict.


Benchmarks

We built an open-source benchmark suite that tests what actually matters for agent memory: can your system store facts, recall them accurately across sessions, detect conflicts when things change, and maintain context as a project evolves?

Head-to-Head: Memstate AI vs Mem0

Both systems were tested under identical conditions using the same agent (Claude Sonnet 4.6, temperature 0), the same scenarios, and the same scoring rubric.

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

Выполняет мягкое удаление памяти по keypath. Создаёт tombstone-версию с сохранением полной истории. Память можно восстановить, записав новое значение по тому же keypath. ИСПОЛЬЗУЙ ЭТО КОГДА: нужно удалить устаревшие или некорректные записи, очистить поддерево keypath или пометить память как больше неактуальную. НЕ ДЛЯ: обновления содержимого (используй memstate_set или memstate_remember, чтобы перезаписать новыми данными). memstate_delete(project_id="myapp", keypath="config.old_setting") memstate_delete(project_id="myapp", keypath="config", recursive=true) → удаляет config и все дочерние записи История сохраняется. Чтобы увидеть удаление в цепочке версий, используй memstate_history. Keypath добавляется с префиксом автоматически.

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

    Обязательно. Ключевой путь для удаления (автоматически дополняется префиксом 'project.{project_id}.').

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

    Обязательно. Проект, содержащий память.

  • recursiveboolean

    Если задано true, удаляет всё поддерево keypath. Значение по умолчанию: false.

memstate_delete_project

Мягко удаляет проект целиком и все его воспоминания. Создаёт tombstone-версии для каждого воспоминания, сохраняя полную историю. Проект скрывается из списков, но его можно восстановить, создав новый проект с тем же ID. ИСПОЛЬЗУЙТЕ ЭТО, КОГДА: нужно удалить все воспоминания для проекта, например, для очистки тестовых данных или вывода проекта из эксплуатации. memstate_delete_project(project_id="old-project") Все воспоминания получают отдельные tombstone-версии. История сохраняется через memstate_history.

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

    Обязательное поле. Project ID для мягкого удаления.

memstate_get

Просматривать и извлекать воспоминания. Используйте ДО начала задач, чтобы получить существующие знания. ИСПОЛЬЗУЙТЕ ЭТО, КОГДА: нужно прочитать то, что уже сохранено - список проектов, просмотреть дерево проекта или получить содержимое по keypath. НЕ ДЛЯ: сохранения нового содержимого (используйте memstate_remember для markdown/сводок, memstate_set для одного значения keypath). memstate_get() → список всех проектов memstate_get(project_id="myapp") → полное дерево проекта memstate_get(project_id="myapp", keypath="database") → поддерево memstate_get(project_id="myapp", keypath="db", include_content=true) → с полным содержимым memstate_get(project_id="myapp", keypath="config", at_revision=2) → переход к версии 2 Keypath автоматически дополняется префиксом. По умолчанию recursive=true. Используйте at_revision с номерами версий из memstate_history.

Параметры
  • at_revisionnull | integer

    Необязательный номер ревизии для запросов с перемещением во времени. Используйте номера версий из memstate_history.

  • content_limitinteger

    Максимальное количество воспоминаний для загрузки при include_content=true (по умолчанию: 200, максимум: 1000)

  • include_contentboolean

    Если true, включает в ответ полное содержимое памяти (не только пути ключей).

  • keypathstring

    Subkeypath в проекте. Если он опущен вместе с project_id, возвращает полное дерево проекта.

  • project_idstring

    Проект, из которого извлекаются данные. Если не указан, перечисляет все проекты.

  • recursivenull | boolean

    Включает поддерево (по умолчанию: true)

memstate_history

Просмотр истории версий для keypath или цепочки памяти. Используйте, когда нужно увидеть, как значение менялось со временем. ИСПОЛЬЗУЙТЕ ЭТО ДЛЯ: отладки прошлого состояния, аудита изменений или восстановления предыдущего значения. НЕ ДЛЯ: чтения текущего содержимого (используйте memstate_get) или сохранения (используйте memstate_remember или memstate_set). memstate_history(project_id="myapp", keypath="config.database.port") Возвращает все версии с временными метками и номерами версий; последняя помечена is_latest=true. Используйте номера версий с memstate_get(at_revision=N), чтобы перемещаться во времени к любому прошлому состоянию.

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

    Обязательно. Keypath для получения истории версий (например, 'config.database.port').

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

    Обязательно. Проект, содержащий память.

memstate_remember

Сохраняет markdown, сводки задач или любой текст. Сервер автоматически извлекает ключевые пути (keypaths) и создаёт структурированные записи. Это ПРЕДПОЧТИТЕЛЬНЫЙ способ сохранения информации. ИСПОЛЬЗУЙ ЭТО КОГДА: Нужно сохранить сводки задач, заметки встреч, документацию или любой текст с несколькими фактами. Сервер сам занимается организацией, обнаружением конфликтов и управлением версиями. НЕ ДЛЯ: Установки одного конкретного ключевого пути (keypath) с коротким значением (например, config.port = "8080") — для этого используй memstate_set. memstate_remember(project_id="myapp", content="## Сводка задач\n- Добавлен OAuth\n- Файлы: auth.go, middleware.go", source="agent") memstate_remember(project_id="myapp", content="Архитектурное решение: перешли на JWT-токены для управления сессиями") Ограничение по содержимому: 100 000 символов. Обработка асинхронная (~15-18 с); job_id возвращается сразу.

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

    Markdown или текст для запоминания (до 100 000 символов). Сервер извлекает keypaths и автоматически создает структурированные воспоминания.

  • contextstring

    Необязательная подсказка, направляющая извлечение keypath.

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

    Обязательно. Проект для сохранения (например, 'myapp'). Автоматически создается, если его еще нет.

  • sourcestring

    Тип источника: agent, readme, docs, meeting, code

memstate_search

Ищет воспоминания по смыслу (семантический поиск). Используй ДО того, как начнёшь задачу, если не знаешь точный keypath. ИСПОЛЬЗУЙ ЭТО КОГДА: нужно найти подходящие воспоминания по теме или смыслу, а не по точному keypath. НЕ ДЛЯ: сохранения контента (для markdown/суммари используй memstate_remember, для одного значения по keypath — memstate_set). memstate_search(query="как настроена аутентификация", project_id="myapp") memstate_search(query="настройки подключения к базе данных", project_id="myapp") Возвращает суммари с оценками схожести. Используй memstate_get(project_id="...", keypath="...", include_content=true), чтобы получить полное содержимое результата.

Параметры
  • categoriesnull | array

    Фильтрует по категориям.

  • include_supersededboolean

    Включает старые версии.

  • keypath_prefixstring

    Фильтрует по префиксу keypath.

  • limitinteger

    Максимальное количество результатов (по умолчанию: 20, максимум: 100)

  • project_idstring

    Фильтрует по проекту.

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

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

memstate_set

Устанавливает одно короткое значение по заданному keypath. Только для простых фактов вида ключ=значение: конфигурация, статус или номера версий. ИСПОЛЬЗУЙ ЭТО КОГДА: Нужно сохранить ОДНО конкретное значение по известному keypath (например, номер порта, флаг статуса, строка версии). НЕ ДЛЯ: Сводок задач, markdown или текста с несколькими фактами — используй memstate_remember. memstate_set(project_id="myapp", keypath="config.database.port", value="5432") memstate_set(project_id="myapp", keypath="status.deployment", value="production") memstate_set(project_id="myapp", keypath="version.current", value="2.1.0") Ограничение значения: 2 000 символов. Если длиннее — используй memstate_remember. Keypath автоматически дополняется префиксом.

Параметры
  • categorystring

    Категория: решение, предпочтение, факт, задача, контекст, требование, заметка, код, обучение.

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

    Обязательно. Иерархический путь, например 'config.port' или 'status'. Автоматически добавляется префикс 'project.{project_id}.'

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

    Обязательно. Проект для сохранения (например, 'myapp'). Автоматически создается, если его еще нет.

  • topicsnull | array

    Дополнительные темы/теги (необязательно)

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

    Значение для хранения (максимум 2000 символов). Только короткие простые значения, не Markdown.

1.2.1основная
1.2.0
1.1.1
1.1.0
1.0.1
1.0.0

Выберите клиент, чтобы установить memstate-ai/memstate-mcp:

Любой клиент

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

{
  "mcpServers": {
    "memstate-ai-memstate-mcp-tfnfvet094": {
      "command": "npx",
      "args": [
        "-y",
        "@memstate/mcp"
      ],
      "env": {
        "MEMSTATE_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}
CursorCursor

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

{
  "mcpServers": {
    "memstate-ai-memstate-mcp-tfnfvet094": {
      "command": "npx",
      "args": [
        "-y",
        "@memstate/mcp"
      ],
      "env": {
        "MEMSTATE_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}
VS Code

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

{
  "servers": {
    "memstate-ai-memstate-mcp-tfnfvet094": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@memstate/mcp"
      ],
      "env": {
        "MEMSTATE_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}

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

code --add-mcp "{\"name\":\"memstate-ai-memstate-mcp-tfnfvet094\",\"type\":\"stdio\",\"command\":\"npx\",\"args\":[\"-y\",\"@memstate/mcp\"],\"env\":{\"MEMSTATE_API_KEY\":\"YOUR_API_KEY_HERE\"}}"
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": {
    "memstate-ai-memstate-mcp-tfnfvet094": {
      "command": "npx",
      "args": [
        "-y",
        "@memstate/mcp"
      ],
      "env": {
        "MEMSTATE_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}
Claude CodeClaude Code

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

claude mcp add memstate-ai-memstate-mcp-tfnfvet094 --env MEMSTATE_API_KEY=YOUR_API_KEY_HERE -- npx -y @memstate/mcp

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

claude mcp add-json memstate-ai-memstate-mcp-tfnfvet094 "{\"command\":\"npx\",\"args\":[\"-y\",\"@memstate/mcp\"],\"env\":{\"MEMSTATE_API_KEY\":\"YOUR_API_KEY_HERE\"}}"
CodexCodex

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

codex mcp add memstate-ai-memstate-mcp-tfnfvet094 --env MEMSTATE_API_KEY=YOUR_API_KEY_HERE -- npx -y @memstate/mcp

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

[mcp_servers.memstate-ai-memstate-mcp-tfnfvet094]
command = "npx"
args = ["-y", "@memstate/mcp"]

[mcp_servers.memstate-ai-memstate-mcp-tfnfvet094.env]
MEMSTATE_API_KEY = "YOUR_API_KEY_HERE"
PerplexityPerplexity

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

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

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

WindsurfWindsurf

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

{
  "mcpServers": {
    "memstate-ai-memstate-mcp-tfnfvet094": {
      "command": "npx",
      "args": [
        "-y",
        "@memstate/mcp"
      ],
      "env": {
        "MEMSTATE_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}
ClineCline

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

{
  "mcpServers": {
    "memstate-ai-memstate-mcp-tfnfvet094": {
      "command": "npx",
      "args": [
        "-y",
        "@memstate/mcp"
      ],
      "env": {
        "MEMSTATE_API_KEY": "YOUR_API_KEY_HERE"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

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

mcpServers:
  - name: memstate-ai-memstate-mcp-tfnfvet094
    command: npx
    args:
      - "-y"
      - "@memstate/mcp"
    env:
      MEMSTATE_API_KEY: YOUR_API_KEY_HERE
Zed

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

{
  "context_servers": {
    "memstate-ai-memstate-mcp-tfnfvet094": {
      "command": "npx",
      "args": [
        "-y",
        "@memstate/mcp"
      ],
      "env": {
        "MEMSTATE_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}

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

topskychen/tilde

topskychen/tilde

от topskychen

MCP-сервер для хранения профиля и памяти AI-агентов. Хранит данные локально, управляет навыками, опытом, резюме и командными стандартами. Избавляет от повторения контекста при смене инструментов.

Python⭐ 4
webaesbyamin/agent-receipts

webaesbyamin/agent-receipts

от webaesbyamin

MCP сервер даёт AI-агентам память с криптографическими чеками. Каждый факт подписывается Ed25519, хранится локально без облака. Для разработчиков, нуждающихся в аудите действий агента.

TypeScript⭐ 1
stevepridemore/graph-memory

stevepridemore/graph-memory

от stevepridemore

Персональный граф знаний для Claude, работающий между сессиями и устройствами. На основе Neo4j и семантических эмбеддингов хранит факты, решения и связи с временной меткой. Полезен разработчикам, и...

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

ravi-labs/mindmap-mcp-server

от ravi-labs

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

TypeScript⭐ 6
mnemoverse/mcp-memory-server

mnemoverse/mcp-memory-server

от mnemoverse

MCP сервер для долговременной памяти AI-агентов, работающий через единый API-ключ в Claude, Cursor, VS Code и ChatGPT. Запоминает факты, предпочтения и уроки между сессиями и проектами. Фидбек улучшает релевантность, а забывание по давности делает память самоочищающейся.

TypeScript⭐ 27
mcasdfgf/mcp-roo-memory

mcasdfgf/mcp-roo-memory

от mcasdfgf

MCP-сервер для долговременной графовой памяти AI-агентов. Хранит знания в виде фрактального графа, поддерживает семантический поиск на 50+ языках и управляет контекстным окном через горячие, холодн...

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

Лука Никитин