Reverie MCP
Reverie keeps an AI agent's memory in a Neo4j graph: entities, typed relations, hybrid search and duplicate cleanup
- 67 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- Writes and deletes nodes and relations in your Neo4j database, and deletion is irreversible
- Stores everything the agent recorded about people and projects, and with an external embedding provider embeddings are computed on its side
Install
- Works in
Manual install
npx -y @knowall-ai/reverieNeeds a reachable Neo4j; the address and password are set through NEO4J_URI and NEO4J_PASSWORD.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Writes and deletes nodes and relations in your Neo4j database, and deletion is irreversible
- Stores everything the agent recorded about people and projects, and with an external embedding provider embeddings are computed on its side
This is third-party code. Review the repository files before installing.
What it does
Reverie is an MCP server that stores an agent's memory as a knowledge graph in Neo4j. In the graph nodes describe people, organisations, projects, places, meetings and decisions, and typed relations connect them, so a question like who we talked to at a football association is solved by walking the graph. The tools are simple and atomic: search_memories, create_memory, create_connection, update_memory, update_connection, delete_memory, delete_connection and list_memory_labels. Search is hybrid: by keyword, by meaning and by fuzzy name match, so Ben finds Benjamin. The query_memories tool runs read-only Cypher queries. The dream tool merges duplicates, canonicalises labels, re-embeds and flags nodes that have turned into a property dump. By default embeddings are computed locally with no key, and OpenAI, Azure OpenAI, Ollama or Voyage switch on through configuration. The reverie serve command runs the same server over HTTP with a token.
Who it is for. People building long-running agents with memory of people, projects and decisions who already run Neo4j on their own server or in a container.
Good fit when
- An agent runs meetings and must remember who is linked to whom, what was decided and in which projects
- Names are spelled in different ways and search must find Ben Wicks when the base has Benjamin Weeks
- The notes graph has filled with duplicates over time and needs a nightly cleanup run
- Several agents need the same memory, for example in Claude Desktop and OpenClaw
- Data must stay on your server, so a local Neo4j and local embeddings fit
Not a fit when
- There is nowhere to run Neo4j and you just need file-based memory: Markdown notes will do
- You need one simple list of facts with no relations between entities
- You need to store long texts in nodes: the server hints that the graph is for entities and relations and not for notes
Example request
Find everyone in memory connected to the Winnie project and show the relations two steps deepMCP
- Transport
- stdio, http
- Authentication
- API key
Environment variables
NEO4J_URIrequired- Neo4j address, for example bolt://localhost:7687
NEO4J_USERNAMErequired- Neo4j user name
NEO4J_PASSWORDrequired, secret- Neo4j password
NEO4J_DATABASE- Neo4j database, neo4j by default
REVERIE_SERVE_TOKENsecret- Token for the reverie serve HTTP mode
Limitations
- A running Neo4j is required (address, user name, password and database are set through NEO4J_* variables); the server does not start one.
- The delete_memory tool irreversibly removes a node with all its relations.
- The first semantic search downloads a local embedding model of about 23 MB.
- The earlier package @knowall-ai/mcp-neo4j-agent-memory is superseded; install @knowall-ai/reverie.
- In the reverie serve HTTP mode protection rests on a single REVERIE_SERVE_TOKEN token: only the health check is open.
How to disable. Remove the server from the client configuration, for example with claude mcp remove reverie. The data stays in your Neo4j database.
FAQ
How do I connect Reverie to Claude Desktop?
Add a mcpServers entry with the npx command and the -y @knowall-ai/reverie arguments, and pass NEO4J_URI, NEO4J_USERNAME, NEO4J_PASSWORD and NEO4J_DATABASE in env. A quick start without client setup: npx -y @knowall-ai/reverie.
Does Reverie need an OpenAI key?
No. Embeddings are computed locally by default and no key is needed. OpenAI, Azure OpenAI, Ollama or Voyage switch on through configuration. The local model downloads on the first semantic search, about 23 MB.
What does the dream tool do?
It safely merges duplicates, canonicalises labels, re-embeds, counts orphan nodes and flags those that have become a property dump. It can run on a schedule, for example nightly.
How do I search names with typos?
Use the fuzzy mode or keep the default hybrid: search considers spelling, prefixes and phonetics, so Ben Wicks finds Benjamin Weeks. For an exact check before creating a node use the exact mode.
How is Reverie different from the earlier package?
It replaces @knowall-ai/mcp-neo4j-agent-memory, the repository was renamed to mcp-reverie and old links redirect. Reverie added hybrid search, the dream tool and an HTTP mode.
Discussion
No questions or reviews yet.
Related
MCP serversSelf-hosted agent memory: an MCP server stores facts and preferences and searches them with a Neo4j graph and citations.
Agent memory as a graph of linked facts: decisions and errors outlive the session, with no vector database or paid API calls
Self-hosted long-term memory for agents: semantic search, a knowledge graph and autonomous consolidation over MCP and a REST API
A persistent memory MCP server for agents: observations, beliefs, goals and dream consolidation across 60 tools.
Long-term memory for AI agents: a skill and the mindmemos command store facts from conversations and recall them in later sessions
AgentDB keeps agent memory in an .rvf file and, with 41 MCP tools, recalls past solutions while learning from feedback
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| Reverie (this card) | yes | API key | 67 | |
| MCP Knowledge Graph | no | not required | 888 | a knowledge graph in local .aim files, while Reverie keeps it in Neo4j with hybrid search and duplicate cleanup |
| Basic Memory | no | not required | 4,566 | memory in local Markdown files with a graph of links, while Reverie stores typed entities in Neo4j |
README in short
The README introduces Reverie as KnowAll AI's graph memory for agents, with a quick start through npx and a Claude Desktop configuration. It describes in detail the features, the philosophy that the model decides everything, search modes, memory tools, sample dialogues, memory types and advice on relations. It ends with tests, the MCP Inspector and the HTTP mode with environment variables.