A Monday memory briefing
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.
Verified MCP server: Memory
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]
Verification
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
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.
| Tool | What 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
Copy the block for the app you use. Each one is the configuration this server was verified with.
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]
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]
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]
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
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.
01
Download the app from getroutines.ai/download, drag it to Applications, and sign in.
02
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.
03
Switch the form to Command (stdio): this server is a command your Mac runs, not a web address you connect to.
04
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.
05
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.
06
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
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.
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.
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.
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
Real errors captured during the verification run, printed exactly as the server returned them.
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.
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.
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.
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
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]
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.
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]
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]
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]
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]
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
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]
Latest version 2026.7.4, published 2026-07-04. Ships the bin mcp-server-memory and names modelcontextprotocol/servers as its repository.
[2]
[3]
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]
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]
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]
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]
The official Claude Desktop quickstart and the shape of claude_desktop_config.json.
[8]
[9]
[10]
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