Skip to main content
Glama

NOUZ — Obsidian用MCPサーバー

Obsidianでのセマンティックナレッジマネジメントを実現する統合MCPサーバー。ローカルの埋め込みモデルで動作するため、クラウドは不要です。

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

stdioトランスポートを使用して、MCP対応クライアント(Claude Desktopなど)に接続します。

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

モード

NOUZには3つの動作モードがあります。MODE環境変数またはconfig.yamlで設定します。

モード

説明

埋め込みが必要

luca

純粋なグラフ — YAML + リンク、セマンティック分類なし

いいえ

prizma

グラフ + セマンティクス — 符号分類、core_mix、セマンティックブリッジ

はい

sloi

厳格な5段階階層 — サイクル検出、違反警告

はい

グラフナビゲーションのみが必要な場合はLUCAから始めてください。セマンティックコアを定義する準備ができたら、PRIZMA/SLOIを追加します。

ノート形式

各ノートは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.

5つのレベル

レベル

タイプ

説明

1

core

最上位ドメイン(例:「数学」)

2

pattern

ドメイン内の知識領域

3

module

分野内のグループ化

4

quant

具体的なアトミックノート

5

artifact

リーフノート、参照、ログ

parentsフィールドはノート名のリストです(Obsidian/ExcaliBrainのウィキリンクで使用)。parents\_metaフィールドは、NOUZグラフロジック用の構造化されたリンクメタデータを保持します。これらを同期させてください。NOUZは書き込み時に自動的に処理します。

セマンティック・エタロン (Prizma / Sloi)

エタロンはセマンティック空間の「軸」を定義します。これは各知識ドメインを表す参照テキストです。NOUZは、これらのベクトルに対するコサイン類似度によってノートを分類します。

config.template.yamlconfig.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フロントマターを含むノートを書き込む

list_files(level, sign, tags)

ボルトからノートをフィルタリングしてリスト表示する

index_all(with_embeddings)

ボルトをSQLite DBにインデックス化する

embed(text)

設定されたプロバイダーから埋め込みベクトルを取得する

get_parents(path)

親ノード(これにリンクしているファイル)を取得する

get_children(path)

子ノード(これがリンクしているファイル)を取得する

format_entity_compact(path)

エンティティ式を返す: (children)[entity]{parents}

Prizma / Sloiのみ

ツール

説明

calibrate_cores()

設定からエタロンの埋め込みを再計算する

recalc_signs()

インデックス化されたすべてのノートに符号を自動割り当てする

recalc_core_mix()

DAGを通じてボトムアップでcore_mixを集計する

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