Reverie logo

Reverie

Neo4j graph memory for AI agents with hybrid search, relationship modeling, read-only Cypher, and graph cleanup.

Install Reverie

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "reverie": {
      "command": "npx",
      "args": [
        "-y",
        "@knowall-ai/reverie"
      ],
      "env": {
        "NEO4J_URI": "YOUR_VALUE_HERE",
        "NEO4J_USERNAME": "YOUR_VALUE_HERE",
        "NEO4J_PASSWORD": "YOUR_VALUE_HERE",
        "NEO4J_DATABASE": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

Install not yet sandbox-tested— we haven't run this command through our automated sandbox yet. Not a red flag; we're working through the catalog.

Overview

The Reverie MCP server connects AI agents to a Neo4j knowledge graph for persistent, relationship-aware memory. It provides tools to search, create, update, and remove labeled memories and their connections, using hybrid keyword and semantic retrieval with local embeddings by default. Agents can inspect graph statistics, list labels, run restricted read-only Cypher, and use dream to consolidate duplicates and refresh embeddings. Reach for it when an agent needs shared memory across conversations or a structured graph of entities, rather than an unconnected fact store.

Use cases

  • Store entities and relationships across agent conversations
  • Search graph memory with keyword and semantic matching
  • Traverse connected people, projects, and organizations
  • Run scheduled graph cleanup with dream
  • Inspect Neo4j memory statistics with an agent

Key features

  • Neo4j-backed persistent graph memory
  • Hybrid, keyword, semantic, and exact search
  • Typed memory labels and relationships
  • Read-only Cypher queries
  • Graph statistics and label inspection
  • Duplicate merging and embedding refresh

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

8/8 checks healthy over the last 46d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 19h ago via OSV.dev · @knowall-ai/reverie (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars69Stargazers on the source repository.
npm downloads527Package downloads in the last 30 days.
Last commit5d agoMost recent push to the default branch.

How Reverie works

What Reverie MCP server does

The Reverie MCP server gives MCP-compatible agents a persistent memory layer backed by Neo4j. Instead of storing isolated notes, it represents entities such as people, organizations, projects, places, concepts, meetings, and decisions as labeled nodes connected by typed relationships. Agents decide how to recognize entities, infer links, and resolve conflicts; the tools expose explicit operations without automatic disambiguation.

Memory records can include arbitrary properties, timestamps, labels, and relationship metadata. Archived memories are excluded from normal searches and label listings unless a caller explicitly requests them. Relationship results include the identifiers of their start and end nodes, making direction available to clients.

How it works

The server communicates with Neo4j through MCP and can target a selected Neo4j database. search_memories supports hybrid, keyword, semantic, and exact modes. Hybrid search ranks keyword matches first and then adds semantic matches when embeddings are available. Keyword matching searches words as substrings across searchable content properties, while exact mode checks case-insensitive equality for fields such as name, aliases, and email.

Local embeddings are the default, so a remote embedding API is not required. OpenAI, Azure OpenAI, Ollama, and Voyage can be selected as alternatives. Semantic matching accepts a configurable threshold from 0 to 1, with a default of 0.4. Search results report both a score and the matching method.

The dream operation helps maintain the graph. It standardizes lowercase labels, can merge same-named nodes within a label when APOC is available, and refreshes embeddings. It preserves identity distinctions when fields such as email, phone, website, or organization differ, and reports both merged and skipped groups.

Setup and configuration

Run the package with npx -y @knowall-ai/reverie, then configure it as an MCP server. A Neo4j connection requires NEO4J_URI, NEO4J_USERNAME, and NEO4J_PASSWORD; NEO4J_DATABASE selects a database and defaults to neo4j. Neo4j may run on a local machine or a VM. Data remains in that deployment unless a remote embedding provider is configured.

Tools and capabilities

The Reverie MCP server exposes tools for:

  • Searching memories with filters for type, date, depth, result count, and sort order.
  • Creating, updating, and permanently deleting memories.
  • Creating, editing, and deleting relationships while preserving connected memories when appropriate.
  • Listing labels and returning graph statistics, including node, relationship, embedding, and orphan counts.
  • Running read-only Cypher with parameters.
  • Cleaning and consolidating the graph with dream.

Read-only Cypher is limited to 200 rows, has a 10-second timeout, and rejects write clauses, CALL subqueries, and procedures outside a small read-only allow-list.

Limitations and notes

The server does not provide automatic entity matching or conflict resolution; the model must choose the relevant entities and operations. Deleting a memory also deletes all of its relationships, so that operation is permanent. Semantic search depends on available embeddings and falls back to keyword behavior when embeddings cannot be used. The dream merge behavior depends on APOC for same-name node consolidation. For additional protection, the README recommends using a read-only Neo4j role when exposing query access.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Reverie

Reverie is an MCP server that connects AI agents to a Neo4j knowledge graph for persistent, relationship-aware memory. Its main tools search, create, update, and delete memories and connections, inspect graph statistics, run restricted read-only Cypher, and consolidate graph data with the dream operation.

Run `npx -y @knowall-ai/reverie` and add it to your MCP client configuration. Set the Neo4j connection variables `NEO4J_URI`, `NEO4J_USERNAME`, and `NEO4J_PASSWORD`; optionally set `NEO4J_DATABASE` to choose a database other than the default `neo4j`.

Yes, the README names Cursor as an MCP-compatible client for Reverie. Configure the server using the package command and provide the Neo4j environment variables in Cursor's MCP setup.

No, Reverie uses local embeddings by default, so an embedding API key is not required. OpenAI, Azure OpenAI, Ollama, and Voyage can be configured instead when a remote embedding provider is preferred.

Yes, its `query_memories` tool accepts read-only Cypher and optional parameters. It rejects writes and unsupported procedures, limits results to 200 rows, and stops queries that exceed 10 seconds.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewReverie AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/reverie?style=directory)](https://allmcps.com/mcp/reverie)
HTML Embed
<a href="https://allmcps.com/mcp/reverie"><img src="https://allmcps.com/api/badge/reverie?style=directory" alt="Reverie on AllMCPs" /></a>