# Reverie

Держит память агента в графе Neo4j: типизированные сущности, связи между ними и гибридный поиск по имени, ключевым словам и смыслу.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 69
- Автор: knowall-ai
- Лицензия: MIT · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/knowall-ai/mcp-reverie
- Обновлён: 2026-10-17
- HTML: https://affpapa.org/nevibecode/mcp/reverie

## Что делает

Reverie превращает память агента в карту: люди, организации, проекты, места и решения становятся узлами с типизированными связями, а не россыпью отдельных записей. Вопрос вроде «с кем из этой организации мы говорили о проекте» решается обходом графа, а не подбором похожих текстов. Сервер говорит по MCP, поэтому один и тот же граф видят агенты в Claude, Codex, Cursor, Copilot, Windsurf, Cline и Zed.

Поиск `search_memories` работает в нескольких режимах: `hybrid` по умолчанию, `keyword`, `semantic`, `fuzzy` и `exact`. Нечёткий режим находит «Benjamin Weeks», когда вы набрали «Ben Wicks». Строгость semantic-совпадений задаёт `similarity_threshold` (по умолчанию `0.4`, допустимы значения от `0` до `1`, остальные отклоняются), для fuzzy есть `fuzzy_threshold` (по умолчанию `0.85`).

Есть инструмент `dream`: он сливает дубликаты, приводит метки к каноническому виду, пересчитывает эмбеддинги и помечает узлы, превратившиеся в свалку свойств. Без запущенного Neo4j серверу некуда писать, так что `NEO4J_URI`, `NEO4J_USERNAME` и `NEO4J_PASSWORD` нужны до первого запуска. Локальные эмбеддинги работают без ключа API; выбор OpenAI, Azure OpenAI, Ollama или Voyage — это переключение через `REVERIE_EMBEDDINGS`. Данные остаются на вашей машине, если не выбрать удалённый провайдер эмбеддингов.

## Требования
- Нужно: Node.js (команды через npx)
- Переменные окружения: `NEO4J_URI`, `NEO4J_USERNAME`, `NEO4J_PASSWORD`, `NEO4J_DATABASE`, `REVERIE_EMBEDDINGS` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add --env NEO4J_URI=<NEO4J_URI> --env NEO4J_USERNAME=<NEO4J_USERNAME> --env NEO4J_PASSWORD=<NEO4J_PASSWORD> --env NEO4J_DATABASE=<NEO4J_DATABASE> --env REVERIE_EMBEDDINGS=<REVERIE_EMBEDDINGS> --transport stdio reverie -- npx -y @knowall-ai/reverie
```
Вместо <…> подставьте свои значения

### Codex

**Командой платформы**
```bash
codex mcp add reverie --env NEO4J_URI=<NEO4J_URI> --env NEO4J_USERNAME=<NEO4J_USERNAME> --env NEO4J_PASSWORD=<NEO4J_PASSWORD> --env NEO4J_DATABASE=<NEO4J_DATABASE> --env REVERIE_EMBEDDINGS=<REVERIE_EMBEDDINGS> -- npx -y @knowall-ai/reverie
```
Вместо <…> подставьте свои значения

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "reverie": {
            "command": "npx",
            "args": [
                "-y",
                "@knowall-ai/reverie"
            ],
            "env": {
                "NEO4J_URI": "<NEO4J_URI>",
                "NEO4J_USERNAME": "<NEO4J_USERNAME>",
                "NEO4J_PASSWORD": "<NEO4J_PASSWORD>",
                "NEO4J_DATABASE": "<NEO4J_DATABASE>",
                "REVERIE_EMBEDDINGS": "<REVERIE_EMBEDDINGS>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "reverie": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@knowall-ai/reverie"
            ],
            "env": {
                "NEO4J_URI": "<NEO4J_URI>",
                "NEO4J_USERNAME": "<NEO4J_USERNAME>",
                "NEO4J_PASSWORD": "<NEO4J_PASSWORD>",
                "NEO4J_DATABASE": "<NEO4J_DATABASE>",
                "REVERIE_EMBEDDINGS": "<REVERIE_EMBEDDINGS>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e NEO4J_URI=<NEO4J_URI> -e NEO4J_USERNAME=<NEO4J_USERNAME> -e NEO4J_PASSWORD=<NEO4J_PASSWORD> -e NEO4J_DATABASE=<NEO4J_DATABASE> -e REVERIE_EMBEDDINGS=<REVERIE_EMBEDDINGS> reverie npx -y @knowall-ai/reverie
```
Вместо <…> подставьте свои значения

## Когда брать
- найти нужного человека, когда имя в памяти записано иначе
- связать проект с людьми и решениями через обход графа
- почистить накопленные дубликаты и устаревшие метки
- поднять точное совпадение перед созданием новой записи
- искать по смыслу, когда эмбеддинги недоступны

## Примеры запросов агенту
- Найди в памяти всех, кто связан с проектом Winnie, и покажи цепочку связей
- Проверь через `exact`, есть ли уже запись про Ben Weeks, прежде чем создавать новую
- Запусти `dream` и покажи, какие узлы стали свалкой свойств

## Похожие
- [REA](https://affpapa.org/nevibecode/mcp/rea.md) — MCP-сервер · ★ 386989
- [GitHub](https://affpapa.org/nevibecode/mcp/github.md) — MCP-сервер · ★ 33918
- [Netdata](https://affpapa.org/nevibecode/mcp/netdata.md) — MCP-сервер · ★ 81115
- [browser-use](https://affpapa.org/nevibecode/mcp/browser-use.md) — MCP-сервер · ★ 119160
- [Codebase Memory](https://affpapa.org/nevibecode/mcp/codebase-memory.md) — MCP-сервер · ★ 47392
- [mcp-server](https://affpapa.org/nevibecode/mcp/mcp-server.md) — MCP-сервер · ★ 43872

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
