Skip to main content
Glama

NOUZ — MCP-сервер для Obsidian

Унифицированный MCP-сервер для семантического управления знаниями в Obsidian. Работает с локальными моделями эмбеддингов — облако не требуется.

MIT License Python 3.10+ MCP

Быстрый старт

git clone https://github.com/KVANTRA-dev/NOUZ-MCP
cd NOUZ-MCP
pip install -r requirements.txt

export OBSIDIAN_ROOT=./vault
export EMBED_API_URL=http://127.0.0.1:1234/v1  # LM Studio or Ollama

python server.py

Подключитесь через любой MCP-совместимый клиент (Claude Desktop и др.), используя транспорт stdio.

Режимы

NOUZ имеет три режима работы. Устанавливаются через переменную окружения MODE или файл config.yaml.

Режим

Описание

Требуются эмбеддинги

luca

Чистый граф — YAML + ссылки, без семантической классификации

Нет

prizma

Граф + семантика — классификация знаков, core_mix, семантические мосты

Да

sloi

Строгая 5-уровневая иерархия — обнаружение циклов, предупреждения о нарушениях

Да

Начните с LUCA, если вам нужна только навигация по графу. Добавьте PRIZMA/SLOI, когда будете готовы определить свои семантические ядра.

Формат заметок

Каждая заметка использует YAML frontmatter:

---
type: module
level: 3
sign: T
status: active
tags:
  - research
parents:
  - Parent Note Name
parents_meta:
  - entity: Parent Note Name
    link_type: hierarchy
---

Your note content here.

Пять уровней

Уровень

Тип

Описание

1

core

Домен верхнего уровня (например, "Математика")

2

pattern

Область знаний внутри домена

3

module

Группировка внутри области

4

quant

Конкретная атомарная заметка

5

artifact

Конечная заметка, ссылка, лог

Поле parents — это список имен заметок (используется Obsidian/ExcaliBrain для вики-ссылок). Поле parents_meta содержит структурированные метаданные связей для графовой логики NOUZ. Поддерживайте их синхронизацию — NOUZ делает это автоматически при записи.

Семантические эталоны (Prizma / Sloi)

Эталоны определяют «оси» вашего семантического пространства — эталонные тексты, представляющие каждый домен знаний. NOUZ классифицирует заметки по косинусному сходству с этими векторами.

Скопируйте config.template.yaml в config.yaml:

mode: prizma

etalons:
  - sign: T
    name: Technology
    text: "programming software architecture infrastructure machine learning neural networks algorithms"
  - sign: S
    name: Science
    text: "physics chemistry biology mathematics formal logic theorems cosmology quantum mechanics"
  - sign: H
    name: Humanities
    text: "philosophy psychology sociology history literature art culture ethics cognitive science"

Рекомендации:

  • Используйте 3–5 доменов — большее количество делает классификацию зашумленной

  • Каждый эталон должен быть плотным списком ключевых слов, а не предложением

  • Запускайте calibrate_cores после изменения эталонов, затем проверьте попарное косинусное сходство

  • Стремитесь к сходству < 0.55 между любыми двумя эталонами для четкого разделения

Инструменты

Все режимы

Инструмент

Описание

read_file(path)

Чтение заметки с разобранными YAML-метаданными

write_file(path, content, metadata)

Запись заметки с YAML frontmatter

list_files(level, sign, tags)

Фильтрация и вывод списка заметок из хранилища

index_all(with_embeddings)

Индексация хранилища в SQLite БД

embed(text)

Получение вектора эмбеддинга от настроенного провайдера

get_parents(path)

Получение родительских узлов (файлы, ссылающиеся на этот)

get_children(path)

Получение дочерних узлов (файлы, на которые ссылается этот)

format_entity_compact(path)

Возврат формулы сущности: (children)[entity]{parents}

Только Prizma / Sloi

Инструмент

Описание

calibrate_cores()

Пересчет эмбеддингов эталонов из конфигурации

recalc_signs()

Автоматическое назначение знаков всем проиндексированным заметкам

recalc_core_mix()

Агрегация core_mix снизу вверх через DAG

suggest_metadata(path)

Предложение знака, уровня, core_mix для заметки

suggest_parents(path)

Предложение родительских ссылок по векторному сходству

Переменные окружения

Переменная

По умолчанию

Описание

OBSIDIAN_ROOT

./obsidian

Путь к вашему Obsidian-хранилищу

MODE

luca

luca / prizma / sloi — переопределяется через config.yaml

EMBED_PROVIDER

openai

openai / gigachat / ollama

EMBED_API_URL

http://127.0.0.1:1234/v1

API-эндпоинт эмбеддингов

EMBED_MODEL

Имя модели (опционально, использует значение по умолчанию провайдера)

EMBED_API_KEY

API-ключ (оставьте пустым для локальных моделей)

EMBED_ENABLED

true

Установите false для полного отключения эмбеддингов

Пример рабочего процесса

# 1. Start server
python server.py

# 2. Index your vault
index_all(with_embeddings=true)

# 3. Calibrate etalons (Prizma/Sloi)
calibrate_cores()

# 4. Classify all notes
recalc_signs()

# 5. Query
suggest_parents("path/to/note.md")
list_files(sign="T", level=4)

Ссылки


MIT License © 2026 KVANTRA

История изменений

v2.1.1

  • Незначительные исправления и рефакторинг

v2.1.0

  • Первый публичный релиз

Install Server
A
security – no known vulnerabilities
A
license - permissive license
C
quality - C tier

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/KVANTRA-dev/NOUZ-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server