NOUZ MCP Server
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.
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.pyConé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 | Sí |
sloi | Jerarquía estricta de 5 niveles — detección de ciclos, advertencias de violación | Sí |
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_coresdespués de cambiar los etalones, luego verifique la similitud de coseno por paresIntente obtener una similitud < 0.55 entre dos etalones cualesquiera para una separación limpia
Herramientas
Todos los modos
Herramienta | Descripción |
| Leer nota con metadatos YAML analizados |
| Escribir nota con frontmatter YAML |
| Filtrar y listar notas de la bóveda |
| Indexar bóveda en base de datos SQLite |
| Obtener vector de embedding del proveedor configurado |
| Obtener nodos padres (archivos que enlazan a este) |
| Obtener nodos hijos (archivos a los que enlaza este) |
| Devolver fórmula de entidad: |
Solo Prizma / Sloi
Herramienta | Descripción |
| Recalcular embeddings de etalones desde la configuración |
| Asignar automáticamente signos a todas las notas indexadas |
| Agregar core_mix de abajo hacia arriba a través del DAG |
| Sugerir signo, nivel, core_mix para una nota |
| Sugerir enlaces padres por similitud vectorial |
Variables de entorno
Variable | Predeterminado | Descripción |
|
| Ruta a su bóveda de Obsidian |
|
|
|
|
|
|
|
| Punto final de la API de Embedding |
| — | Nombre del modelo (opcional, utiliza el predeterminado del proveedor) |
| — | Clave de API (dejar vacío para modelos locales) |
|
| Establecer en |
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
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