← Back to directory
N

Neo4j Knowledge Graph Memory Server

Community
Personal knowledge graph memory stored in Neo4j
Category
Database #20 of 58
Stars
★ 988 Very popular
Transport
stdio (local process)
Runtime
Python
Credentials
API key / credential required
License
MIT
Last commit
59FMRS · C

A narrowly scoped MCP server: it persists personal knowledge graph memory into Neo4j and reuses it across sessions and clients. It is a Neo4j Labs experimental project without official product support, suited to users who already run Neo4j and accept version-change risk. It requires database credentials, and the capabilities of sibling servers in the same repository (Cypher, Aura management, data modeling) should not be attributed to it.

Strongest · Maintenance 14/20 Weakest · Reliability 10/20

Reliability
10/20
Security and permissions
12/20
Maintenance
14/20
Documentation
11/20
Setup experience
12/20
Why each score
Reliability 10/20
Evidence is limited to the repository-level README, the server manifest, and a general overview; no source code, tool implementations, tests, or CI artifacts specific to mcp-neo4j-memory are provided. The manifest declares a stdio transport and PyPI package [email protected] with a complete environment variable set, so a happy path is superficially plausible, but declared tools cannot be verified against real behavior, and connection-failure or database-unreachable handling is undocumented. Static calibration forbids scoring above 12 without verifiable execution evidence (real CI plus committed tests covering key paths), and none is present. Score 10: plausible happy path, thin/absent evidence for tests and edge cases.
Security and permissions 12/20
The manifest marks NEO4J_PASSWORD as isSecret=true and credentials are passed via environment variables rather than hardcoded; the README contains no real tokens or secrets and shows no covert exfiltration, malware, or unconfirmed destructive defaults, so no red line is triggered. However, as a memory server it persists entities and relationships into the configured Neo4j instance. The docs do not disclose data flow, retention, tenant/namespace isolation boundaries, or deletion semantics and whether they require confirmation. The URI may point to a remote host, yet least-privilege guidance (e.g., read-only credentials, database-scoped grants) is absent. Main risks are visible but permission scoping and confirmation are incomplete; score 12.
Maintenance 14/20
The repository is maintained under the neo4j-contrib organization and labeled a Neo4j Labs project, explicitly stating it is developed by the Field GenAI team, not supported by the product team, and offered without SLAs or backward-compatibility guarantees. Licensing is clear (MIT), version 0.4.5 indicates multiple releases, the repo has 980 stars, 25 open issues, and is not archived. Yet the scored sub-server has no dedicated release notes, changelog, or documented security-response channel, leaving governance and versioning gaps. Score 14.
Documentation 11/20
The README provides a repository-level overview, descriptions of four servers, transport modes with HTTP configuration examples, a cloud deployment guide link, and license text. For mcp-neo4j-memory it offers only a few lines (store and retrieve entities and relationships in a local or remote Neo4j, accessible across sessions and clients), with no tool-level parameter documentation, tool inventory, return formats, error cases, required database initialization (constraints/indexes), namespace semantics, cost, or troubleshooting. Auth and install are limited to environment variable names, with no credential-acquisition or local Neo4j preparation steps. Usable but with hidden assumptions and troubleshooting gaps; score 11.
Setup experience 12/20
The deployment path is relatively direct: install the PyPI package mcp-neo4j-memory, use stdio transport, and set NEO4J_URI/NEO4J_USERNAME/NEO4J_PASSWORD. However, there is no client-config example specific to this server (e.g., a claude_desktop_config.json snippet), no steps to prepare a local Neo4j or Aura instance, no explanation of optional variables (NEO4J_DATABASE, NEO4J_NAMESPACE) beyond one-line descriptions, and no platform compatibility notes. This is workable but manual and fragile, and under static calibration setup cannot exceed 15 without execution evidence; score 12.

Static review · not runListed 2026-09-10

Read the FMRS scoring method →

Fit and risk

What it can accessConnects to a database

Best for

  • Users who already have a Neo4j instance (local or remote) and want an AI assistant to reuse memory
  • Developers who need knowledge and relationships preserved across sessions and clients
  • Users comfortable with experimental Neo4j Labs software and willing to absorb version-change risk

Not for

  • Users looking for official Neo4j product support, SLAs, or backwards-compatibility guarantees
  • Users who have no Neo4j instance and do not want to deploy or maintain a database
  • Users who need Cypher query execution, Aura cloud instance management, or graph data modeling from this server (those are other servers in the same repository)

Required permissions

  • Read and write nodes and relationships in the configured Neo4j database (for storing and retrieving memories)
  • Read NEO4J_URI, NEO4J_USERNAME, NEO4J_PASSWORD, NEO4J_DATABASE, and NEO4J_NAMESPACE environment variables at runtime

Risks and side effects

  • Neo4j credentials live in the client configuration as environment variables; NEO4J_PASSWORD is secret and must be protected
  • Memories stored in the knowledge graph may be read during sessions, so sensitive or private content should be assessed beforehand
  • As a Neo4j Labs server it is experimental and may change incompatibly or drop features
  • Database read/write scope is determined by the supplied Neo4j account; overly broad permissions mean mistaken writes can affect other data in that database

Setup

Before you start

Runtime:Python

NEO4J_URI required Neo4j connection URI, e.g. bolt://localhost:7687 or your Aura instance's URI, from your Neo4j instance configuration.
NEO4J_USERNAME required Neo4j database username; typically 'neo4j' for local instances.
NEO4J_PASSWORD requiredsecret Neo4j password, set in your instance settings or on first launch; keep it secret.
Other optional settings (2)
NEO4J_DATABASE optional Optional Neo4j database name; defaults to the default database if unset.
NEO4J_NAMESPACE optional Optional prefix for tool names, useful to avoid clashes with tools from other MCP servers.
  1. Have a reachable Neo4j instance (local or remote) and its connection URI, username, and password ready.
  2. Install the server package from PyPI (identifier: mcp-neo4j-memory), or follow the instructions in the servers/mcp-neo4j-memory directory of the repository.
  3. Configure it as a stdio server in your MCP client and set the environment variables: NEO4J_URI, NEO4J_USERNAME, NEO4J_PASSWORD (required), plus NEO4J_DATABASE and NEO4J_NAMESPACE (optional).
  4. Restart the MCP client and confirm the server can connect to Neo4j and start a session.

Check that it works

Check that the mcp-neo4j-memory knowledge graph memory tools appear in your MCP client's tool list (prefixed with NEO4J_NAMESPACE if set), then use a prompt like 'Store the fact that ...' and query it back — if the fact is returned, the connection works.

Troubleshooting

  1. Verify NEO4J_URI, NEO4J_USERNAME, and NEO4J_PASSWORD are set correctly and no required value is missing
  2. Check that the Neo4j instance is reachable and that network/port access is allowed
  3. If using a non-default database, confirm NEO4J_DATABASE names the correct database
  4. Check MCP client logs for stdio startup or connection errors
  5. Confirm the installed package version matches expectations and reinstall or upgrade if needed

Things to try

Once connected, you can ask your AI assistant things like:

  • Store the fact that I worked on the Neo4j MCP Servers today with Andreas and Oskar
  • Look up the entities and relationships about Neo4j in my knowledge graph
  • Recall my stored project notes from previous sessions
  • List all entities stored in my knowledge graph

Use cases

Let an AI assistant remember persistent facts about you and your projects
Share one personal knowledge graph across sessions and different clients
Query and update entity and relationship memories stored in Neo4j
Build a long-accumulating memory layer for personal or team conversations

Supported clients

Claude Desktop
VS CodePartial support
CursorPartial support
WindsurfPartial support
Gemini CLIPartial support

Listed from the project's documentation, not tested by this site.

Overview

The Neo4j Knowledge Graph Memory Server is part of the Neo4j Labs collection of MCP servers, developed and maintained by the Neo4j Field GenAI team and explicitly not supported by the Neo4j product team (no SLAs, no backwards-compatibility guarantees, experimental features are common). It stores and retrieves entities and relationships from your personal knowledge graph in a local or remote Neo4j instance, so that information can be accessed across different sessions, conversations, and clients. It runs as the PyPI package mcp-neo4j-memory (version 0.4.5) over stdio and requires Neo4j connection settings such as NEO4J_URI, NEO4J_USERNAME, and NEO4J_PASSWORD.

Similar servers

Source revision 1c7ad0793b5f Data synced 2026-10-19 Read the FMRS scoring method