Builds a local semantic graph over Markdown and Obsidian notes with local embeddings, classification, hierarchy and link discovery.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add nouz --env OBSIDIAN_ROOT='<OBSIDIAN_ROOT>' -- uvx nouz-mcp~/.codex/config.toml
[mcp_servers.nouz]
command = "uvx"
args = ["nouz-mcp"]
env = { OBSIDIAN_ROOT = "<OBSIDIAN_ROOT>" }
# codex mcp add nouz --env OBSIDIAN_ROOT='<OBSIDIAN_ROOT>' -- uvx nouz-mcp~/.cursor/mcp.json
{
"mcpServers": {
"nouz": {
"command": "uvx",
"args": [
"nouz-mcp"
],
"env": {
"OBSIDIAN_ROOT": "<OBSIDIAN_ROOT>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"nouz": {
"type": "stdio",
"command": "uvx",
"args": [
"nouz-mcp"
],
"env": {
"OBSIDIAN_ROOT": "<OBSIDIAN_ROOT>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"nouz": {
"command": "uvx",
"args": [
"nouz-mcp"
],
"env": {
"OBSIDIAN_ROOT": "<OBSIDIAN_ROOT>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"nouz": {
"command": "uvx",
"args": [
"nouz-mcp"
],
"env": {
"OBSIDIAN_ROOT": "<OBSIDIAN_ROOT>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"nouz": {
"command": "uvx",
"args": [
"nouz-mcp"
],
"env": {
"OBSIDIAN_ROOT": "<OBSIDIAN_ROOT>"
}
}
}
}Environment variables
OBSIDIAN_ROOT
Replace the placeholders with your own credentials and keep them out of version control.