Skip to main content
Glama

NOUZ — Servidor MCP para Obsidian

Servidor MCP unificado para la gestión de conocimiento semántico en Obsidian. Funciona con modelos de embedding locales: no requiere nube.

Licencia MIT Python 3.10+ MCP

Inicio rápido

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

Conéctese a través de cualquier cliente compatible con MCP (Claude Desktop, etc.) utilizando el transporte stdio.

Related MCP server: Semantic Mesh Memory (SEM) MCP Server

Modos

NOUZ tiene tres modos de funcionamiento. Se configuran mediante la variable de entorno MODE o config.yaml.

Modo

Descripción

Embeddings requeridos

luca

Grafo puro — YAML + enlaces, sin clasificación semántica

No

prizma

Grafo + semántica — clasificación de signos, core_mix, puentes semánticos

sloi

Jerarquía estricta de 5 niveles — detección de ciclos, advertencias de violación

Comience con LUCA si solo desea navegación por grafos. Añada PRIZMA/SLOI cuando esté listo para definir sus núcleos semánticos.

Formato de nota

Cada nota utiliza frontmatter YAML:

---
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.

Cinco niveles

Nivel

Tipo

Descripción

1

core

Dominio de nivel superior (p. ej., "Matemáticas")

2

pattern

Área de conocimiento dentro del dominio

3

module

Agrupación dentro del campo

4

quant

Nota atómica concreta

5

artifact

Nota hoja, referencia, registro

El campo parents es una lista de nombres de notas (utilizada por Obsidian/ExcaliBrain para wikilinks). El campo parents_meta contiene metadatos de enlaces estructurados para la lógica de grafos de NOUZ. Manténgalos sincronizados: NOUZ gestiona esto automáticamente al escribir.

Etalones semánticos (Prizma / Sloi)

Los etalones definen los "ejes" de su espacio semántico: textos de referencia que representan cada dominio de conocimiento. NOUZ clasifica las notas por similitud de coseno con respecto a estos vectores.

Copie config.template.yaml a 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"

Mejores prácticas:

  • Utilice de 3 a 5 dominios; más dominios hacen que la clasificación sea ruidosa

  • Cada etalón debe ser una lista densa de palabras clave, no una oración

  • Ejecute calibrate_cores después de cambiar los etalones, luego verifique la similitud de coseno por pares

  • Intente obtener una similitud < 0.55 entre dos etalones cualesquiera para una separación limpia

Herramientas

Todos los modos

Herramienta

Descripción

read_file(path)

Leer nota con metadatos YAML analizados

write_file(path, content, metadata)

Escribir nota con frontmatter YAML

list_files(level, sign, tags)

Filtrar y listar notas de la bóveda

index_all(with_embeddings)

Indexar bóveda en base de datos SQLite

embed(text)

Obtener vector de embedding del proveedor configurado

get_parents(path)

Obtener nodos padres (archivos que enlazan a este)

get_children(path)

Obtener nodos hijos (archivos a los que enlaza este)

format_entity_compact(path)

Devolver fórmula de entidad: (hijos)[entidad]{padres}

Solo Prizma / Sloi

Herramienta

Descripción

calibrate_cores()

Recalcular embeddings de etalones desde la configuración

recalc_signs()

Asignar automáticamente signos a todas las notas indexadas

recalc_core_mix()

Agregar core_mix de abajo hacia arriba a través del DAG

suggest_metadata(path)

Sugerir signo, nivel, core_mix para una nota

suggest_parents(path)

Sugerir enlaces padres por similitud vectorial

Variables de entorno

Variable

Predeterminado

Descripción

OBSIDIAN_ROOT

./obsidian

Ruta a su bóveda de Obsidian

MODE

luca

luca / prizma / sloi — anulado por config.yaml

EMBED_PROVIDER

openai

openai / gigachat / ollama

EMBED_API_URL

http://127.0.0.1:1234/v1

Punto final de la API de Embedding

EMBED_MODEL

Nombre del modelo (opcional, utiliza el predeterminado del proveedor)

EMBED_API_KEY

Clave de API (dejar vacío para modelos locales)

EMBED_ENABLED

true

Establecer en false para deshabilitar los embeddings por completo

Flujo de trabajo de ejemplo

# 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)

Enlaces


Licencia MIT © 2026 KVANTRA

Registro de cambios

v2.1.1

  • Correcciones menores y refactorización

v2.1.0

  • Lanzamiento público inicial

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