
Mcp Neo4j Memory
io.github.neo4j-contribPublished by GitHub account neo4j-contribv1.0.0Updated Oct 27, 2026
MCP Neo4j Knowledge Graph Memory Server
The publisher's own server: Memory.fit
Overview
Gives an assistant a persistent knowledge-graph memory stored in Neo4j, where entities, relations and observations can be created, searched and deleted across…
- What you can do
- Read and search the memory graph: read the whole graph, search nodes by name, type or observation, or fetch specific entities by name
- Create and delete entities with names, types and initial observations
- Create and delete typed relations between entities
- Add observations to existing entities or remove specific observations
- Optionally prefix tool names with a namespace for multi-tenant setups
- When to use it
- Useful when you want an assistant to remember facts and their relationships across conversations or sessions, and to query that accumulated knowledge as a graph rather than a flat list. Suits users who already run or can host a Neo4j database, locally or on Neo4j Aura.
- Requirements
- Runs locally as a Python package (pip or uvx) or as a Docker image. Needs a reachable Neo4j instance and credentials: NEO4J_URI, NEO4J_USERNAME and NEO4J_PASSWORD, plus optional NEO4J_DATABASE and NEO4J_NAMESPACE. Default transport is stdio; HTTP and SSE modes are also available.
Installation
In SourceWeft
- Open Mcp Neo4j Memory in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
🧠🕸️ Neo4j Knowledge Graph Memory MCP Server
mcp-name: io.github.neo4j-contrib/mcp-neo4j-memory
🌟 Overview
A Model Context Protocol (MCP) server implementation that provides persistent memory capabilities through Neo4j graph database integration.
By storing information in a graph structure, this server maintains complex relationships between entities as memory nodes and enables long-term retention of knowledge that can be queried and analyzed across multiple conversations or sessions.
With Neo4j Aura you can host your own database server for free or share it with your collaborators. Otherwise you can run your own Neo4j server locally.
The MCP server leverages Neo4j's graph database capabilities to create an interconnected knowledge base that serves as an external memory system. Through Cypher queries, it allows exploration and retrieval of stored information, relationship analysis between different data points, and generation of insights from the accumulated knowledge. This memory can be further enhanced with Claude's capabilities.
🕸️ Graph Schema
Memory- A node representing an entity with a name, type, and observations.Relationship- A relationship between two entities with a type.
🔍 Usage Example
Results in Claude calling the create_entities and create_relations tools.
📦 Components
🔧 Tools
The server offers these core tools:
🔎 Query Tools
-
read_graph- Read the entire knowledge graph
- No input required
- Returns: Complete graph with entities and relations
-
search_nodes- Search for nodes based on a query
- Input:
query(string): Search query matching names, types, observations
- Returns: Matching subgraph
-
find_nodes- Find specific nodes by name
- Input:
names(array of strings): Entity names to retrieve
- Returns: Subgraph with specified nodes
♟️ Entity Management Tools
-
create_entities- Create multiple new entities in the knowledge graph
- Input:
entities: Array of objects with:name(string): Name of the entitytype(string): Type of the entityobservations(array of strings): Initial observations about the entity
- Returns: Created entities
-
delete_entities- Delete multiple entities and their associated relations
- Input:
entityNames(array of strings): Names of entities to delete
- Returns: Success confirmation
🔗 Relation Management Tools
-
create_relations- Create multiple new relations between entities
- Input:
relations: Array of objects with:source(string): Name of source entitytarget(string): Name of target entityrelationType(string): Type of relation
- Returns: Created relations
-
delete_relations- Delete multiple relations from the graph
- Input:
relations: Array of objects with same schema as create_relations
- Returns: Success confirmation
📝 Observation Management Tools
-
add_observations- Add new observations to existing entities
- Input:
observations: Array of objects with:entityName(string): Entity to add tocontents(array of strings): Observations to add
- Returns: Added observation details
-
delete_observations- Delete specific observations from entities
- Input:
deletions: Array of objects with:entityName(string): Entity to delete fromobservations(array of strings): Observations to remove
- Returns: Success confirmation
🔧 Usage with Claude Desktop
💾 Installation
⚙️ Configuration
Add the server to your claude_desktop_config.json with configuration of:
Alternatively, you can set environment variables:
Namespacing
For multi-tenant deployments, add --namespace to prefix tool names:
Tools become: myapp-read_graph, myapp-create_entities, etc.
Can also use NEO4J_NAMESPACE environment variable.
🌐 HTTP Transport Mode
The server supports HTTP transport for web-based deployments and microservices:
Environment variables for HTTP configuration:
🔄 Transport Modes
The server supports three transport modes:
- STDIO (default): Standard input/output for local tools and Claude Desktop
- SSE: Server-Sent Events for web-based deployments
- HTTP: Streamable HTTP for modern web deployments and microservices
🐳 Using with Docker
🔒 Security Protection
The server includes comprehensive security protection with secure defaults that protect against common web-based attacks while preserving full MCP functionality when using HTTP transport.
🛡️ DNS Rebinding Protection
TrustedHost Middleware validates Host headers to prevent DNS rebinding attacks:
Secure by Default:
- Only
localhostand127.0.0.1hosts are allowed by default
Environment Variable:
🌐 CORS Protection
Cross-Origin Resource Sharing (CORS) protection blocks browser-based requests by default:
Environment Variable:
🔧 Complete Security Configuration
Development Setup:
Production Setup:
🚨 Security Best Practices
For allow_origins:
- Be specific:
["https://example.com", "https://example.com"] - Never use
"*"in production with credentials - Use HTTPS origins in production
For allowed_hosts:
- Include your actual domain:
["example.com", "www.example.com"] - Include localhost only for development
- Never use
"*"unless you understand the risks
🐳 Docker Deployment
The Neo4j Memory MCP server can be deployed using Docker for remote deployments. Docker deployment should use HTTP transport for web accessibility. In order to integrate this deployment with applications like Claude Desktop, you will have to use a proxy in your MCP configuration such as mcp-remote.
📦 Using Your Built Image
After building locally with docker build -t mcp-neo4j-memory:latest .:
🔧 Environment Variables
🌐 SSE Transport for Legacy Web Access
When using SSE transport (for legacy web clients), the server exposes an HTTP endpoint:
🚀 Development
📦 Prerequisites
- Install
uv(Universal Virtualenv):
- Clone the repository and set up development environment:
🐳 Docker
Build and run the Docker container:
📄 License
This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.
Source: servers/mcp-neo4j-memory/README.md at commit 1c7ad07
Tools
0Version history
1- v1.0.0LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Other Memory integrations

Memory.fit
fit.memoryOfficial publisher
Hosted Memory.fit server that lets an AI read your training, sleep, recovery and nutrition data and write back weekly plans, targets and meal plans.
pg.ddx.io: the PostgreSQL community's memory
io.ddx.pgOfficial publisher
pg.ddx.io: the PostgreSQL community's memory's hosted MCP server, published by pg.ddx.io; no sign-in required; Streamable HTTP; 29 tools.
var.gg Naming Memory
gg.varOfficial publisher
Remote MCP server that suggests and searches code identifier names from domain concepts in Korean, Japanese, Chinese, Vietnamese and English, and exposes ERD…

Counterparts
ai.counterparts
Local-first long-term memory for Claude Code and Claude Desktop: the assistant writes notes about you and your projects and recalls them in later sessions.

LAHZE - Persian AI Memory Platform
Published by GitHub account pedramgholizadeh
LAHZE - Persian AI Memory Platform's hosted MCP server; no sign-in required; Streamable HTTP; 13 tools.