Executive Summary: In the KruschDev MCP ecosystem, krusch-context-mcp governs abstract project invariants and krusch-git indexes Git repositories and AST caller/callee graphs. Yet a massive blind spot remained: everything on the host OS and across multi-node server fleets outside a single Git repo—unstructured PDFs and DOCX files in ~/Documents and ~/Downloads, systemd service units in /etc/systemd/system, storage mount tables in /etc/fstab, and .env configurations across remote compute nodes. krusch-fs-mcp closes that gap as a lightweight, opt-in 6-verb Model Context Protocol server powered by KruschNexus Library Mode.
6 Verbs
Disciplined MCP Tool Surface
(Search, Locate, Tree, Read, Remember, Sync)
SHA-256
Page-Anchored Memory &
Automatic STALE_DRIFT Detection
Zero Daemon
Agentless SSH/Tailscale Fleet Indexing
(Single SQLite WAL or Postgres DB)
100% Redacted
.env Structural Key Indexing
with Secret Value Redaction

1. The OS Filesystem Blind Spot in Agentic Workflows

When an AI coding or SRE agent needs to answer a question about the host operating system or a multi-node cluster—such as "Which drives are protected in /etc/fstab across our production servers?", "Where is that downloaded whitepaper PDF?", or "Which node defines OLLAMA_MODELS in its systemd unit?"—default filesystem tools force the model into three anti-patterns:

2. Architectural Separation of Concerns: Why Opt-In Beats Monoliths

Rather than bloating krusch-context-mcp or krusch-git with OS document parsers and SSH fleet scanners, we designed krusch-fs-mcp as an independent, opt-in MCP server:

MCP Server Primary Domain Core Abstractions
krusch-context-mcp (Tier 1) Working Memory & Invariant Steering Decisions, Invariants, Bugs, Lessons, Blockers, Pre-Commit Nudges
krusch-git (Tier 2A) Git Repositories & Source Code Git Commit DAGs, AST Symbol Declarations, Caller/Callee Dependency Graphs
krusch-fs-mcp (Tier 2B) OS Filesystems & Multi-Node Fleets KruschNexus Page Trees, PDF/DOCX/Config Ingestion, SHA-256 Page-Anchored Memories

3. KruschNexus Library Mode: Every File Is a Page Tree

Instead of slicing files into arbitrary 500-token sliding windows that sever headings from tables, krusch-fs-mcp embeds KruschNexus Library Mode (ingest_document_from_bytes) with a zero-dependency fallback chunker:

4. Co-Located PageMemory with Automatic SHA-256 Drift Verification

The signature capability of krusch-fs-mcp is Page-Anchored Memory (krusch_fs_remember_on_page). When an agent or operator discovers a critical operational rule inside a file—such as a protected OS drive in /etc/fstab or a key clause on Page 4 of a PDF—it pins that annotation directly to the tuple (node, file_path, page_number, page_hash):

krusch_fs_remember_on_page({
  node: "primary-state-node",
  path: "/etc/fstab",
  page_number: 1,
  category: "warning",
  note: "CRITICAL OS DRIVE PROTECTION: Root partition (/) is the protected boot SSD on this node. All large datasets and vector caches must target dedicated secondary NVMe storage."
})

Whenever any future agent reads that page via krusch_fs_read_page or searches via krusch_fs_search, the co-located PageMemory is returned automatically alongside the page text—with live cryptographic drift verification:

5. Multi-Layer Privacy & Secret Shield (shield.py)

Indexing an operating system or a multi-node server fleet requires strict, fail-closed security boundaries:

  1. Path & Glob Denylist: Hard-blocks ~/.ssh, ~/.gnupg, ~/.aws, browser profiles, *.pem, *.key, id_rsa, id_ed25519, and package lockfiles (package-lock.json, pnpm-lock.yaml, Cargo.lock, poetry.lock, uv.lock).
  2. Structural .env Key Indexing with Value Redaction: Agents frequently need to know which service defines an environment variable without seeing the secret itself. When krusch-fs-mcp indexes any .env file, it transforms KEY=secret_value into KEY = [REDACTED BY KRUSCH-FS SHIELD]—making variable names searchable across the fleet while guaranteeing zero secret leakage.
  3. Inline Token Scrubbing: Regex sanitizers automatically scrub inline OpenAI/Anthropic keys (sk-...), GitHub PATs (ghp_...), Slack tokens (xoxb-...), AWS access keys (AKIA...), and PEM private key blocks before text ever reaches SQLite or Postgres.

6. Zero-Daemon Multi-Node Fleet Indexing Over Tailscale SSH

To index an entire bare-metal server fleet without maintaining fragile background daemons on every machine, krusch-fs-mcp uses an agentless SSH/Tailscale scanner configured via ~/.krusch-fs/fleet.json:

Explore krusch-fs-mcp on GitHub

MIT Licensed · Python 3.11+ · SQLite WAL & PostgreSQL Support · KruschNexus Library Mode

View Repository (v0.3.1) →