# Nouz

Связывает Markdown-заметки в Obsidian или Logseq с ИИ-агентом, выстраивает граф без циклов и находит смысловые пересечения между темами.

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

## Что делает

Сервер превращает хранилище заметок в направленный ациклический граф (DAG). При сохранении файлов Nouz сопоставляет их текст с заданными предметными ядрами и выставляет доменные знаки. Если заметка постепенно меняет тему и уходит в другую область, инструмент зафиксирует расхождение `core_drift` в индексе SQLite.

Внутри предусмотрено разделение на режимы. Без файла `config.yaml` сервер запускается в простом графовом виде LUCA. Для семантического анализа и 5-уровневой структуры SLOI потребуется локальный сервер эмбеддингов вроде Ollama или LM Studio. Связи между далёкими темами строятся через семантические мосты по смысловой близости фрагментов текста.

Для полноценного векторного поиска нужен Python 3.10+ и поднятый эндпоинт `EMBED_API_URL`, иначе сложные режимы классификации останутся недоступны.

## Требования
- Нужно: Python и uv (команды через uvx)
- Переменные окружения: `OBSIDIAN_ROOT`, `NOUZ_CONFIG`, `NOUZ_DATABASE_NAME`, `NOUZ_DATABASE_PATH`, `EMBED_ENABLED`, `EMBED_PROVIDER`, `EMBED_MODEL`, `EMBED_API_URL` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

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

**Командой платформы**
```bash
claude mcp add --env OBSIDIAN_ROOT=<OBSIDIAN_ROOT> --env NOUZ_CONFIG=<NOUZ_CONFIG> --env NOUZ_DATABASE_NAME=<NOUZ_DATABASE_NAME> --env NOUZ_DATABASE_PATH=<NOUZ_DATABASE_PATH> --env EMBED_ENABLED=<EMBED_ENABLED> --transport stdio nouz -- uvx nouz-mcp
```
Вместо <…> подставьте свои значения. Ещё 3 переменные окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from nouz-mcp <команда>

### Codex

**Командой платформы**
```bash
codex mcp add nouz --env OBSIDIAN_ROOT=<OBSIDIAN_ROOT> --env NOUZ_CONFIG=<NOUZ_CONFIG> --env NOUZ_DATABASE_NAME=<NOUZ_DATABASE_NAME> --env NOUZ_DATABASE_PATH=<NOUZ_DATABASE_PATH> --env EMBED_ENABLED=<EMBED_ENABLED> -- uvx nouz-mcp
```
Вместо <…> подставьте свои значения. Ещё 3 переменные окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from nouz-mcp <команда>

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "nouz": {
            "command": "uvx",
            "args": [
                "nouz-mcp"
            ],
            "env": {
                "OBSIDIAN_ROOT": "<OBSIDIAN_ROOT>",
                "NOUZ_CONFIG": "<NOUZ_CONFIG>",
                "NOUZ_DATABASE_NAME": "<NOUZ_DATABASE_NAME>",
                "NOUZ_DATABASE_PATH": "<NOUZ_DATABASE_PATH>",
                "EMBED_ENABLED": "<EMBED_ENABLED>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 3 переменные окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from nouz-mcp <команда>

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "nouz": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "nouz-mcp"
            ],
            "env": {
                "OBSIDIAN_ROOT": "<OBSIDIAN_ROOT>",
                "NOUZ_CONFIG": "<NOUZ_CONFIG>",
                "NOUZ_DATABASE_NAME": "<NOUZ_DATABASE_NAME>",
                "NOUZ_DATABASE_PATH": "<NOUZ_DATABASE_PATH>",
                "EMBED_ENABLED": "<EMBED_ENABLED>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 3 переменные окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from nouz-mcp <команда>

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e OBSIDIAN_ROOT=<OBSIDIAN_ROOT> -e NOUZ_CONFIG=<NOUZ_CONFIG> -e NOUZ_DATABASE_NAME=<NOUZ_DATABASE_NAME> -e NOUZ_DATABASE_PATH=<NOUZ_DATABASE_PATH> -e EMBED_ENABLED=<EMBED_ENABLED> nouz uvx nouz-mcp
```
Вместо <…> подставьте свои значения. Ещё 3 переменные окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from nouz-mcp <команда>

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

## Примеры запросов агенту
- Проверь неразмеченные заметки в хранилище через `process_orphans` и предложи для них родителей.
- Запусти `suggest_metadata` для текущей статьи и покажи возможные семантические мосты.
- Пересчитай доменный профиль узлов базы командой `recalc_core_mix`.

## Похожие
- [Reactive Resume](https://affpapa.org/nevibecode/mcp/reactive-resume.md) — MCP-сервер · ★ 44874
- [screenpipe](https://affpapa.org/nevibecode/mcp/screenpipe.md) — MCP-сервер · ★ 22053
- [Inbox Zero](https://affpapa.org/nevibecode/mcp/inbox-zero.md) — MCP-сервер · ★ 12791

_Часть страницы не вошла по размеру — она есть в HTML-версии._

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