Price Per TokenPrice Per Token
Neo4j Knowledge Graph Memory

Neo4j Knowledge Graph Memory

by sylweriusz

GitHub 31 261 uses Remote
0

About

Neo4j Knowledge Graph Memory provides persistent memory infrastructure for AI assistants using Neo4j graph database with semantic search capabilities. It enables AI agents to store, retrieve, and manage interconnected memories across multiple sessions. Key features: - Graph-based memory storage with nodes, relationships, and observations as structured knowledge - Unified semantic search combining vector embeddings (384 dimensions), exact matching, wildcards, and graph traversal - Multi-database project isolation for separating different contexts or users - Smart relationship management with typed connections, strength tracking, and temporal metadata - Batch operations for creating multiple memories with relationships in single requests - Time-based queries using relative ("7d", "30d") or absolute date filters - Graph traversal with directional navigation and depth control - Temporal tracking to monitor how knowledge evolves over time Built for MCP-native integration with Claude Desktop and compatible clients. Requires Neo4j with GDS plugin (recommends DozerDB) for vector operations.

README

Neo4j Memory Server

A Model Context Protocol (MCP) server that provides AI assistants with persistent, intelligent memory capabilities using Neo4j's graph database with unified architecture

What it does

This server enables AI assistants to:

  • Remember - Store memories as interconnected knowledge nodes with observations and metadata
  • Search - Find relevant memories using semantic vector search, exact matching, and graph traversal
  • Connect - Create meaningful relationships between memories with batch operations and cross-references
  • Organize - Separate memories by project using different databases
  • Evolve - Track how knowledge develops over time with temporal metadata and relationship networks
  • Features

    Core Capabilities

  • 🧠 Graph Memory - Memories as nodes, relationships as edges, observations as content
  • 🔍 Unified Search - Semantic vectors, exact matching, wildcards, and graph traversal in one tool
  • 🔗 Smart Relations - Typed connections with strength, source tracking, and temporal metadata
  • 📊 Multi-Database - Isolated project contexts with instant switching
  • Advanced Operations

  • Batch Operations - Create multiple memories with relationships in single request using localId
  • 🎯 Context Control - Response detail levels: minimal (lists), full (complete data), relations-only
  • 📅 Time Queries - Filter by relative ("7d", "30d") or absolute dates on any temporal field
  • 🌐 Graph Traversal - Navigate networks in any direction with depth control
  • Architecture

  • 🚀 MCP Native - Seamless integration with Claude Desktop and MCP clients
  • 💾 Persistent Storage - Neo4j graph database with GDS plugin for vector operations
  • ⚠️ Zero-Fallback - Explicit errors for reliable debugging, no silent failures
  • Technical Highlights

  • Built on Neo4j for scalable graph operations
  • Vector embeddings using sentence transformers (384 dimensions)
  • Clean architecture with domain-driven design
  • Supports GDS plugin for advanced vector operations (necessary)
  • Unified Architecture - 4 comprehensive tools for complete memory operations
  • Quick Start

    npm install @sylweriusz/mcp-neo4j-memory-server
    

    Add to Claude Desktop config:

    {
      "mcpServers": {
        "memory": {
          "command": "npx",
          "args": ["-y", "@sylweriusz/mcp-neo4j-memory-server"],
          "env": {
            "NEO4J_URI": "bolt://localhost:7687",
            "NEO4J_USERNAME": "neo4j", 
            "NEO4J_PASSWORD": "your-password"
          }
        }
      }
    }
    

    Neo4j Setup

    Working setup: DozerDB with GDS Plugin

    For the database, use DozerDB with the Graph Data Science plug-in, GDS is not only recommended but necessary:

    For current installation instructions, see: https://dozerdb.org/

    Example setup:

    # Run DozerDB container with latest version
    docker run \
        -p 7474:7474 -p 7687:7687 \
        -v $HOME/neo4j/data:/data \
        -v $HOME/neo4j/logs:/logs \
        -v $HOME/neo4j/plugins:/plugins \
        --env NEO4J_AUTH=neo4j/password \
        --env NEO4J_dbms_security_procedures_unrestricted='gds.*' \
        graphstack/dozerdb:latest

    Install GDS plugin - see dozerdb.org for current instructions

    Verify GDS plugin works

    In Neo4j Browser (http://localhost:7474):

    RETURN gds.similarity.cosine([1,2,3], [2,3,4]) as similarity

    Unified Tools

    The server provides 4 unified MCP tools that integrate automatically with Claude:

  • memory_store - Create memories with observations and immediate relations in ONE operation
  • memory_find - Unified search/retrieval with semantic search, direct ID lookup, date filtering, and graph traversal
  • memory_modify - Comprehensive modification operations (update, delete, observations, relations)
  • database_switch - Switch database context for isolated environments
  • Memory Structure

    {
      "id": "dZ$abc123",
      "name": "Project Alpha", 
      "memoryType": "project",
      "metadata": {"status": "active", "priority": "high"},
      "observations": [
        {"id": "dZ$obs456", "content": "Started development", "createdAt": "2025-06-08T10:00:00Z"}
      ],
      "related": {
        "ancestors": [{"id": "dZ$def789", "name": "Initiative", "relation": "PART_OF", "distance": 1}],
        "descendants": [{"id": "dZ$ghi012", "name": "Task", "relation": "INCLUDES", "distance": 1}]
      }
    }
    

    System Prompt

    The simplest use of the memory tool, the following usually is more than enough.

    ## Memory Tool Usage
    
  • Store all memory for this project in database: 'project-database-name'
  • Use MCP memory tools exclusively for storing project-related information
  • Begin each session by:
  • 1. Switching to this project's database 2. Searching memory for data relevant to the user's prompt

    Troubleshooting

    Vector Search Issues:

  • Check logs for [VectorSearch] GDS Plugin detected
  • GDS Plugin requires DozerDB setup (see Neo4j Setup section)
  • Connection Issues:

  • Verify Neo4j is running: docker ps
  • Test connection: `curl http://loca
  • Related MCP Servers

    AI Research Assistant

    AI Research Assistant

    hamid-vakilzadeh

    AI Research Assistant provides comprehensive access to millions of academic papers through the Semantic Scholar and arXiv databases. This MCP server enables AI coding assistants to perform intelligent literature searches, citation network analysis, and paper content extraction without requiring an API key. Key features include: - Advanced paper search with multi-filter support by year ranges, citation thresholds, field of study, and publication type - Title matching with confidence scoring for finding specific papers - Batch operations supporting up to 500 papers per request - Citation analysis and network exploration for understanding research relationships - Full-text PDF extraction from arXiv and Wiley open-access content (Wiley TDM token required for institutional access) - Rate limits of 100 requests per 5 minutes with options to request higher limits through Semantic Scholar

    Web & Search
    12 8
    Linkup

    Linkup

    LinkupPlatform

    Linkup is a real-time web search and content extraction service that enables AI assistants to search the web and retrieve information from trusted sources. It provides source-backed answers with citations, making it ideal for fact-checking, news gathering, and research tasks. Key features of Linkup: - Real-time web search using natural language queries to find current information, news, and data - Page fetching to extract and read content from any webpage URL - Search depth modes: Standard for direct-answer queries and Deep for complex research across multiple sources - Source-backed results with citations and context from relevant, trustworthy websites - JavaScript rendering support for accessing dynamic content on JavaScript-heavy pages

    Web & Search
    2 24
    Math-MCP

    Math-MCP

    EthanHenrickson

    Math-MCP is a computation server that enables Large Language Models (LLMs) to perform accurate numerical calculations through the Model Context Protocol. It provides precise mathematical operations via a simple API to overcome LLM limitations in arithmetic and statistical reasoning. Key features of Math-MCP: - Basic arithmetic operations: addition, subtraction, multiplication, division, modulo, and bulk summation - Statistical analysis functions: mean, median, mode, minimum, and maximum calculations - Rounding utilities: floor, ceiling, and nearest integer rounding - Trigonometric functions: sine, cosine, tangent, and their inverses with degrees and radians conversion support

    Developer Tools
    22 81