Verified MCP server: Memory

The Memory MCP server, verified live on a real Mac.

  • Verified2026-08-03macOS 15.7.7
  • Package@modelcontextprotocol/server-memory 2026.7.4
  • Self-reportedmemory-server 0.6.3
  • MCP protocol2024-11-05
  • Runtimev24.18.0

The short answer

Last verified 2026-08-03

The memory MCP server gives an AI assistant a knowledge graph it can write to and read back, so the things you told it last week are still there this week. It is the reference memory server of the Model Context Protocol project, it runs on your own Mac over stdio, it keeps everything in one plain text file you can open yourself, and it needs no account, no API key, and no sign-up of any kind. We did not take the README's word for that: we ran the server, spoke the protocol to it, enumerated all nine tools, and then called one of them for real. It answered with the empty graph a fresh install holds, so this page carries a full verification, including the exact errors the server returns when a call is wrong. [1][5][3]

  • Tools

    9, enumerated live

  • Credentials

    None needed

  • Transport

    stdio, runs on your Mac [5]

  • Maintainer

    modelcontextprotocol [1][3]

  • Downloads

    91,982 last week [2]

  • License

    MIT, per its README [5][4]

Verification

How this MCP server was verified.

Method

We spawned the server with npx over stdio with no credentials and no environment variables set, completed the MCP initialize handshake, called tools/list, and then called read_graph for real. The server answered with a successful result holding an empty graph, which is exactly what a fresh install stores, so the run counts as a full verification: started, enumerated, and one real tool call that worked. The raw JSON was captured on the wire, and the tool table below is that capture, word for word.

Startup banner

Knowledge Graph MCP Server running on stdio

One real tool call

tools/call read_graph {}
{
  "entities": [],
  "relations": []
}

Real lines from the captured result: enough to prove the call answered.

Tools

Every tool, enumerated from the running server.

The server answered tools/list with 9 tools on 2026-08-03. The names, descriptions and parameters below are its own words, copied from that response and never edited.

ToolWhat it does
create_entitiesentities*

Create multiple new entities in the knowledge graph

create_relationsrelations*

Create multiple new relations between entities in the knowledge graph. Relations should be in active voice

add_observationsobservations*

Add new observations to existing entities in the knowledge graph

delete_entitiesentityNames*

Delete multiple entities and their associated relations from the knowledge graph

delete_observationsdeletions*

Delete specific observations from entities in the knowledge graph

delete_relationsrelations*

Delete multiple relations from the knowledge graph

read_graph

Read the entire knowledge graph

search_nodesquery*

Search for nodes in the knowledge graph based on a query

open_nodesnames*

Open specific nodes in the knowledge graph by their names

Parameters marked with * are required.

Setup

Working configs, one per app.

Copy the block for the app you use. Each one is the configuration this server was verified with.

Claude Desktop

Open the file ~/Library/Application Support/Claude/claude_desktop_config.json (in Claude Desktop: Settings, then Developer, then Edit Config) and add:

{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-memory"
      ]
    }
  }
}

Nothing else is required: no key, no path, no account. If you want the memory file somewhere you can find it, add an env block next to args with MEMORY_FILE_PATH set to a full file path, like /Users/yourname/Documents/memory.jsonl. Then quit and reopen Claude Desktop. [7][5]

Claude Code

One command in your terminal:

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

Everything after the double dash is the exact command Claude Code will run. To choose where the graph is stored, add --env MEMORY_FILE_PATH=/Users/yourname/Documents/memory.jsonl before the double dash. [8][5]

Cursor

Add to ~/.cursor/mcp.json for every project, or to .cursor/mcp.json inside one project:

{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-memory"
      ]
    }
  }
}

Cursor picks the file up on restart. The same optional env block with MEMORY_FILE_PATH works here too. [9][5]

Routines

No JSON file and no terminal. In Routines: Settings, then Assistant, then Connections, then Add MCP Server. Switch the form to Command (stdio) and enter:

Name        Memory
Command     npx
Arguments   -y @modelcontextprotocol/server-memory

Leave Environment Variables empty, this server needs none. Click Test Connection first: a working server answers with its tool count. [10]

No terminal needed

Set the Memory MCP server up without the terminal.

If you have never opened Terminal and never want to, this is your path. Routines is a Mac app that runs MCP servers for you: fill in three fields once, and this server's tools are available to your AI in chat and in scheduled routines.

  1. 01

    Install Routines

    Download the app from getroutines.ai/download, drag it to Applications, and sign in.

  2. 02

    Open the MCP settings

    Click your account at the bottom of the sidebar and choose Settings. Open the Assistant section, then the Connections tab, scroll to MCP Servers, and click Add MCP Server.

  3. 03

    Choose Command (stdio)

    Switch the form to Command (stdio): this server is a command your Mac runs, not a web address you connect to.

  4. 04

    Fill in the three fields

    Name: Memory. Command: npx. Arguments: -y @modelcontextprotocol/server-memory. There is no folder to choose and no key to paste, so those three lines are the whole configuration.

  5. 05

    Test, then add

    Leave Environment Variables empty, this server needs none. Click Test Connection: Routines starts the server and reports how many tools it found, nine for this one. Then click Add Server.

  6. 06

    Use it

    The tools work in chat right away. To let a scheduled routine use them, open the routine, find the Tools & connections card, and tick the server under Apps.

Routine ideas

Routines worth scheduling.

Once the server is connected, a scheduled routine can use its tools while you are away. Copy a prompt, paste it into Routines, and pick a time.

A Monday memory briefing

Prompt

Every Monday at 8:30, read my knowledge graph and write me a short briefing: who I am currently working with, what each project is about, and anything I noted last week that I said I would pick up again.

Remember this week's people

Prompt

Every Friday at 17:00, search my knowledge graph for the people I mentioned this week, add anything new I said about them as observations, and create an entity for anyone who is not in the graph yet.

A monthly memory clean-up

Prompt

On the first Monday of every month at 9:00, read my whole knowledge graph, list the entities with no relations and the observations that repeat, and show me the list before deleting anything.

Troubleshooting

The errors we hit, and what fixed them.

Real errors captured during the verification run, printed exactly as the server returned them.

The assistant calls a tool this server does not have

What you see

MCP error -32602: Tool remember_this not found

The fix

The server only answers to the nine tool names in the table above, and it says so plainly when asked for anything else. We triggered this on purpose by calling remember_this. Ask for the real thing instead: create_entities to store something new, add_observations to add a fact to something that already exists, search_nodes to find it again.

A call fails with an input validation error

What you see

MCP error -32602: Input validation error: Invalid arguments for tool search_nodes: Invalid input: expected string, received undefined at query

The fix

A required argument was missing. Every tool here except read_graph needs one: search_nodes needs query, open_nodes needs names, create_entities needs entities, and so on. Assistants usually recover on their own if you restate what you wanted in a full sentence, for example ask it to search your memory for a specific person by name.

ENOENT after setting a custom memory file path

What you see

ENOENT: no such file or directory, open '/no-such-directory-mcp-verify-2026/memory.jsonl'

The fix

MEMORY_FILE_PATH is optional, and when you do set it the folder around the file has to exist already. The server creates the file, not the folders above it. We triggered this by pointing it at a folder that was never created. Use a path inside a folder you can see in Finder, like /Users/yourname/Documents/memory.jsonl, or leave the variable unset and let the server keep its default file.

Your MCP client cannot start the server at all

The fix

The npx command belongs to Node.js. If Node is not installed on your Mac, every client on this page fails at the spawn step before the server can say anything. Install Node from nodejs.org, restart your MCP client, and try again.

FAQ

Questions people ask.

What is the memory MCP server?

It is the reference memory server of the Model Context Protocol project. It gives an AI assistant a small knowledge graph made of entities (a person, a project, a company), relations between them, and observations, which are short facts attached to an entity. Once it is connected, the assistant can save what you tell it and look it up in a later conversation instead of starting from nothing every time. [5]

What tools does the memory MCP server include?

The running server exposes 9 tools: writing (create_entities, create_relations, add_observations), deleting (delete_entities, delete_observations, delete_relations), and reading (read_graph, search_nodes, open_nodes). The table above is the live tools/list output, word for word.

Is the memory MCP server safe?

It makes no network calls of its own and has no credentials to leak: its source instantiates a stdio transport and touches nothing but one file on your Mac, and we started it with an empty environment. The real thing to watch is what you let it write. It has three delete tools and they do not ask twice, and whatever the assistant chooses to remember about you sits in that file in plain text, so keep the file somewhere you would be comfortable opening in front of someone. [6]

Where does it store what it remembers?

In one JSONL file, which is a plain text file with one record per line that you can open in any editor. By default it lives in the server's own directory as memory.jsonl. Set the MEMORY_FILE_PATH environment variable to a full path if you would rather keep it somewhere you can find, back up, or delete yourself. [5]

Do I need the terminal to set it up?

No. In Routines you fill three fields in Settings and click Test Connection; the walkthrough above shows every click. Claude Desktop needs a small JSON file edited once. Only Claude Code is terminal-first by nature. [10][7]

Does it need an API key or an account?

No. There is nothing to sign up for and no credential to paste: we started it with an empty environment and it came straight up. The npx command downloads the package from the public npm registry on first run, so the very first start needs an internet connection; after that the package is cached on your Mac. [1]

Which apps can use the memory MCP server?

Any MCP client that can launch a local stdio server: Claude Desktop, Claude Code, Cursor, and Routines all can, and the exact config for each is above. The server itself is the same in every client; only the place you paste the config differs. Point two clients at the same MEMORY_FILE_PATH and they read the same graph. [7][8][9][10]

Sources

Every external claim, receipted.

Anything on this page we did not observe in the run is linked here, with the date we read it. The run itself is the receipt for the rest.

  1. [1]

    npm registry: @modelcontextprotocol/server-memoryaccessed 2026-08-03

    Latest version 2026.7.4, published 2026-07-04. Ships the bin mcp-server-memory and names modelcontextprotocol/servers as its repository.

  2. [2]

    npm downloads API: last weekaccessed 2026-08-03

    91,982 downloads for the week ending 2026-08-01.

  3. [3]

    GitHub: modelcontextprotocol/serversaccessed 2026-08-03

    89,142 stars on the repository page at access time. The GitHub REST API was called twice on 2026-08-03 and rate-limited both times, so this page was read instead.

  4. [4]

    modelcontextprotocol/servers LICENSE fileaccessed 2026-08-03

    The repository is moving from the MIT License to Apache-2.0: new contributions are Apache-2.0, earlier MIT ones stay MIT, and docs are CC-BY-4.0.

  5. [5]

    Memory server README (src/memory)accessed 2026-08-03

    Source of the entity, relation and observation model, the Claude Desktop and VS Code config blocks, the MEMORY_FILE_PATH variable, and the statement that this server is licensed under the MIT License.

  6. [6]

    Memory server source: index.tsaccessed 2026-08-03

    Imports only the MCP SDK, zod, fs, path and url, and instantiates StdioServerTransport: the server speaks stdio and makes no network calls of its own.

  7. [7]

    modelcontextprotocol.io: Connect to local MCP serversaccessed 2026-08-03

    The official Claude Desktop quickstart and the shape of claude_desktop_config.json.

  8. [8]

    Claude Code docs: MCPaccessed 2026-08-03

    The claude mcp add syntax for local stdio servers.

  9. [9]

    Cursor docs: Model Context Protocolaccessed 2026-08-03

    The mcp.json shape and file locations.

  10. [10]

    Routines: Connectorsaccessed 2026-08-03

    How Routines runs one-click OAuth connectors and any MCP server.

This page describes Memory as it behaved in one dated run on one Mac. Versions move: if something here no longer matches what you see, the capture date at the top says how old the reading is.

Behind this directory

Routines, the app behind this directory, runs MCP servers like this one without a terminal: see how connectors work. Your notes stay markdown files on your Mac, there is no cloud bill, and it works offline. Download Routines