A side-by-side look at the Nouz and LINZA MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Nouz for knowledge & memory work as a local process; choose LINZA MCP for knowledge & memory as a local process. You can also run both side by side in one mcpServers block.
OBSIDIAN_ROOT, NOUZ_CONFIG, EMBED_API_URL.read_file, write_file, update_metadata.LINZA_VAULT, LINZA_EMBED_PROVIDER, LINZA_EMBED_URL, LINZA_EMBED_MODEL.index_all, search, read_file.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Knowledge & Memory | Knowledge & Memory |
| Quality signal | 59/100 · Good | 59/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | No auth required |
| Pricing | Not declared | Free |
| Required env vars | OBSIDIAN_ROOTNOUZ_CONFIGEMBED_API_URL | LINZA_VAULTLINZA_EMBED_PROVIDERLINZA_EMBED_URLLINZA_EMBED_MODEL |
| Verified owner | Community listing | Community listing |
| GitHub stars | 22 | 4 |
| Directory activity | 1 views 0 installs 0 upvotes | 2 views 0 installs 0 upvotes |
| Tools | 8 | 7 |
| Full listing | View Nouz | View LINZA MCP |
read_fileRead one Markdown note from the local knowledge base. Returns the note body, YAML frontmatter, hierarchy metadata, parent links, explicit tags, and warnings as JSON. Use this before write_file when you need to preserve existing content or inspect current metadata. Side effect: refreshes this file in the local SQLite index so later classification and parent suggestions use current data. It never changes the file.write_fileCreate or replace one Markdown note with YAML metadata. Use it when an agent has an explicit final content body and metadata to save. This is a destructive write: it replaces the complete file, unless content_lock=true is used to preserve the existing body and update only metadata. Before writing, the server validates that parent links do not create graph cycles, syncs parents and parents_meta, and then refreshes the local index. Use read_file first for existing notes and suggest_metadata first when you want classification hints.update_metadataUpdate only YAML frontmatter for an existing note and preserve the Markdown body exactly. Use this for safe changes to type, level, sign, artifact_sign, tags, parents, and parents_meta when the note content must not be touched.list_filesList notes already known to the local index. Returns lightweight records with path, type, level, and sign, without loading full note bodies. Use this for inventory, filtering, and finding files to inspect next. Set no_metadata=true to find Markdown files without YAML metadata. Use get_children or get_parents when you need graph traversal from a specific note.get_childrenTraverse the hierarchy downward from one note. Returns all direct and transitive child note paths from the local graph index. Use this to answer 'what does this topic/module contain?' It is read-only and does not recompute semantic classification. Use get_parents for the opposite direction.get_parentsReturn the parent links of one note from the graph index. Each result includes the parent entity name and link_type, such as hierarchy, derived_from, semantic, temporary, tag, analogy, or error. Use this to understand where a note belongs before editing links. It is read-only. Use suggest_parents when a note has no parents and you want candidate links.suggest_metadataAnalyze one note and propose knowledge-graph metadata for review. Returns suggested domain sign, material type, hierarchy level, explicit tags, tag quality, tag candidates with chunk evidence, bridge candidates, and hierarchy warnings. Use this before write_file when you want classification help, or to audit an existing note. It is read-only and never edits YAML. Semantic fields require embeddings and are available in PRIZMA/SLOI modes. The optional context object lets an agent test metadata overrides without changing the note.index_allScan the whole Markdown vault and rebuild the local SQLite index of files, metadata, and graph links. Use this after adding, moving, or reorganizing notes outside NOUZ. It is safe to run repeatedly and reports missing parent links. In PRIZMA/SLOI, with_embeddings=true also updates file and chunk embeddings for retrieval and semantic classification, which is slower and requires an embedding provider. This tool indexes data; it is not a search tool.index_allRebuild the LINZA sidecar index for the configured Markdown vault. Use after first setup or after notes change; writes only .linza/linza.db and does not modify note bodies.searchFind relevant indexed Markdown notes by semantic/lexical query. Use before read_file when the path is unknown; may record search history in the LINZA sidecar.read_fileRead one vault-relative Markdown file exactly as stored. Use after search or when the path is known; does not write files or sidecar state.get_statsReturn quick LINZA sidecar status: indexed file count, profiles, semantic bridges, and active profile. Use for health checks.scan_vaultRun a read-only vault diagnostic over files, links, metadata, and LINZA setup. Use at first contact or when deciding what to fix next.guide_next_stepsRead the current LINZA state and recommend the next safe onboarding/review step in plain language. This is the navigator for agents and users; it does not write files.agent_workspaceMain LINZA workflow facade. Choose one action to inspect the workspace, ingest artifacts, review/apply supervised items, explain connections, search memory, export context, or run diagnostics. Safe actions are read-only; apply actions preview by default with dry_run=true.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"nouz": {
"command": "uvx",
"args": [
"nouz-mcp"
],
"env": {
"OBSIDIAN_ROOT": "YOUR_OBSIDIAN_ROOT_HERE",
"NOUZ_CONFIG": "YOUR_NOUZ_CONFIG_HERE",
"EMBED_API_URL": "YOUR_EMBED_API_URL_HERE"
}
}
}
}
{
"mcpServers": {
"semiotronika-linza-mcp": {
"command": "uvx",
"args": [
"linza-mcp"
],
"env": {
"LINZA_VAULT": "YOUR_LINZA_VAULT_HERE",
"LINZA_EMBED_PROVIDER": "YOUR_LINZA_EMBED_PROVIDER_HERE",
"LINZA_EMBED_URL": "YOUR_LINZA_EMBED_URL_HERE",
"LINZA_EMBED_MODEL": "YOUR_LINZA_EMBED_MODEL_HERE"
}
}
}
}