PlugWiki
Neo4j Memory MCP logo

Neo4j Memory MCP Server: Give Claude and Cursor a Graph Memory

OfficialLocal

Lets Claude, Cursor and other assistants remember people, places and facts between chats, stored as a graph in Neo4j.

The assistant saves what it learns as entities, notes and links in your Neo4j database, and finds them again in later chats. It can search by words or by exact name, and it can also edit and delete what it stored. You need your own Neo4j database, such as a free Aura instance. It has no read-only mode, so anything the assistant remembers it can also forget.

Good for

  • People who want Claude to keep long-term notes across chats
  • Teams that share one memory graph through a shared Neo4j database
  • Developers who want agent memory they can also query with Cypher

Works in

12 should work

Tap an app to see how to set it up and any known problems.

Install Neo4j Memory MCP

Claude Code

  1. 1

    Copy this prompt.

    Add the Neo4j Memory MCP server to Claude Code. Run this command:
    
    claude mcp add neo4j-memory -e NEO4J_URI=<NEO4J_URI> -e NEO4J_USERNAME=<NEO4J_USERNAME> -e NEO4J_PASSWORD=<NEO4J_PASSWORD> -- uvx mcp-neo4j-memory
    
    Ask me for NEO4J_URI, NEO4J_USERNAME, NEO4J_PASSWORD and only put the values in that config, nowhere else.
    
    Then check that it loaded and tell me if I need to sign in or restart.
  2. 2

    Paste it into Claude Code. It shows the change and asks before running it.

Requires uv (Python).

Built from the package data we hold. Not yet tested by us.

Tools

  • Reads the whole memory graph

    Returns every remembered entity and every link between them in one go. This can be large once the graph grows.

    Try: “Show me everything you remember about my projects.”

    Network · read_graph

  • Searches memories by words

    Looks for entities whose name, type or notes match your words, and returns them with their connections. Partial matches and several words work.

    Try: “What do you remember about Dresden?”

    Network · search_memories

  • Looks up memories by exact name

    Returns the entities with exactly the names you give, plus the links around them. It does not use search.

    Try: “Look up Oskar and Andreas in memory.”

    Network · find_memories_by_name

  • Remembers new people, places or things

    Adds entities with a name, a type and a list of notes. If a name already exists the entity is reused, not duplicated.

    Try: “Remember that Michael lives in Dresden and works at Neo4j.”

    Write · create_entities

  • Links remembered things together

    Adds a labelled link, such as WORKS_AT, between two entities that are already stored.

    Try: “Link Michael to Neo4j with WORKS_AT.”

    Write · create_relations

  • Adds notes to a remembered thing

    Adds new notes to entities that already exist in memory, such as a new job title.

    Try: “Add a note that Oskar was promoted to Senior Engineer.”

    Write · add_observations

  • Forgets entities and their links

    Permanently removes the named entities and every link they have. There is no undo.

    Try: “Forget everything about Old Company.”

    Delete · delete_entities

  • Removes specific notes

    Removes exact note texts from an entity and keeps the entity itself. The text must match exactly.

    Try: “Remove the note "Outdated contact info" from John Smith.”

    Delete · delete_observations

  • Removes specific links

    Removes links of a given type between two named entities and leaves the entities in place.

    Try: “Remove the WORKS_AT link between Andreas and Neo4j.”

    Delete · delete_relations

Read from the source code

Permissions

high risk · 6 things to watch

High risk

The assistant can add, change and delete the memory nodes it keeps in your Neo4j database, using your database login. Use a dedicated database or user for memory, and back it up if the notes matter.

What it can do

  • Read your data
  • Create and change things
  • Delete things
  • Read-only mode

Watch out for

  • It can delete memories and their links

    delete_entities removes entities and all their links for good, and the source says it cannot be undone. delete_observations and delete_relations also remove stored data. Back up the database if the memory matters. github.com

  • It has no read-only mode

    The server has no switch to turn off writes or deletes. To stop changes, connect with a database user that has only read rights, though then it cannot save new memories. github.com

  • It creates an index when it starts

    On start the server runs a query that creates a fulltext index named search on Memory nodes in your database if one is missing. github.com

  • Your password sits in the client config

    The Neo4j password is stored in plain text in the config file or arguments. Use a dedicated database user with limited rights. github.com

  • Memory content reaches your AI model

    Anything read from memory goes to the model provider your assistant uses. Do not store secrets as memories. github.com

  • The README tool names are out of date

    The README lists search_nodes and find_nodes, but release 0.4.5 registers search_memories and find_memories_by_name. Use the names on this page. github.com

Security advisories

No published security advisories as of Nov 1, 2026.

Technical details
Talks toYour Neo4j database
Sign-in and keysNeo4j URL, username and password go in environment variables or arguments in your client config.

Questions

Is the Neo4j Memory MCP server official?

It is a Neo4j Labs server, made by Neo4j but not supported by Neo4j's product team. The repo README says the Labs servers are updated often with experimental features. Neo4j's supported product server is a different project: see Neo4j MCP (github.com/neo4j/mcp).

Should I use this or the Neo4j product server?

Use the Neo4j MCP server if you want the one Neo4j's product team supports. Use this Labs Memory server if you need what it does that the product server may not, and accept that it can change quickly and has no product support.

Where is the memory stored?

In the Neo4j database you connect, as nodes labelled Memory with links between them. You can host it free on Neo4j Aura or run Neo4j yourself.

Does it need a Neo4j database and a login?

Yes. Give it the database URL, username and password. The URL variable can be NEO4J_URL or NEO4J_URI, and NEO4J_URL wins if both are set.

Can it only read my memory?

No. There is no read-only mode. A database user with read rights only would stop it saving or deleting anything.

Can it delete my memories?

Yes. Three tools remove entities, notes and links, and deleted entities are gone for good. It only touches Memory nodes, not other data.

Can I keep separate memories for different projects?

Yes. Give each server a namespace, and its tool names get that prefix. Use a different database for separation of the data itself.

How is it different from the Neo4j Cypher server?

This one stores and recalls an assistant's memory through fixed tools. The Cypher server runs any query you or the assistant write against a database.

Is it free?

Yes. The repo is MIT licensed, but the published 0.4.5 wheel on PyPI has no license file and no license field in its metadata. Neo4j Aura has a free tier, and you can also run Neo4j yourself.

Information

updated Nov 2, 2026

Publisher
Official
Package
mcp-neo4j-memory
Registry
PyPI
Transport
stdio
Auth
token in env
Version
1.0.0
License
MIT
Last commit
Sep 9, 2026
Open issues
17
Listed in
Official MCP registry, Docker MCP Catalog

GitHubPyPIOfficial MCP Registry

Sources

Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.

Show all 6
  1. github.com · github.com
  2. github.com · github.com
  3. github.com · github.com
  4. github.com · github.com
  5. pypi.org · pypi.org
  6. github.com · github.com

Facts from the official MCP registry, GitHub, npm, PyPI and the Docker catalog. Updated Nov 2, 2026.