Memory#Agent memory

Memory MCP: a local knowledge graph that persists across chats

The official MCP reference memory server. It stores people, projects and preferences as a small knowledge graph in one local JSONL file.

Project and installation docs

View project

https://github.com/modelcontextprotocol/servers

Re-explaining your project and preferences at the start of every chat is the most common complaint about AI assistants. Memory MCP is the official minimal answer. It breaks what it learns into entities, relations and observations, writes them to a JSONL file on your machine, and lets the agent look them up by name or keyword in a later conversation.

What it does

  • Write: create_entities adds nodes such as people, organizations or events; create_relations links two of them in active voice; add_observations attaches atomic facts to an entity.
  • Read: search_nodes matches keywords across names, types and observations; open_nodes fetches named entities with their relations; read_graph returns everything.
  • Correct: delete an entity (with its relations), a single observation or a single relation. Missing items don’t raise errors.
  • Subscribe: the whole graph is exposed as the memory://knowledge-graph resource, and every write sends an update notification to subscribed clients.

Who it’s for

  • People who want Claude Desktop to remember their job, preferences and recurring topics without sending that data to a third-party service.
  • Developers about to write their own memory server who want a clean reference implementation first.

Setup

Needs Node.js. MEMORY_FILE_PATH is optional and sets where the JSONL file lives:

{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-memory"],
      "env": {
        "MEMORY_FILE_PATH": "/path/to/custom/memory.jsonl"
      }
    }
  }
}

Our take

Memory servers now compete on semantic search, automatic consolidation and decay. This official one stays deliberately plain: no vectors, no model calls, and the data is a text file you can open and read. That makes it the best place to understand what agent memory is, and enough for light personal use. The limits are real, though. Search is keyword matching, and what gets remembered depends entirely on your system prompt; the README’s example prompt has the model say “Remembering…” and query the graph every turn. Once the graph grows, read_graph eats context, and Hindsight or Basic Memory in this same category scale better. It sits in the MCP servers monorepo, which had about 91k stars as of 2026-10-06; licensing is moving from MIT to Apache-2.0.