Are you the author? Sign in to claim
A local knowledge navigation server that exposes structured documentation to AI agents through the Model Context Protoco
A local knowledge navigation server that exposes structured documentation to AI agents through the Model Context Protocol (MCP).
Structured Knowledge Filesystem is designed for documentation that already has a meaningful hierarchy, such as product docs, engineering guides, standard operating procedures, and Git-managed knowledge bases. It preserves that human-curated structure and gives an agent three focused, read-only capabilities:
list_directory: browse the knowledge tree;search: run deterministic searches across Markdown, MDX, and text files;read_file: read the source document after its location has been confirmed.The intended workflow is browse → search → read. The agent does not need to guess paths, and the answer can include a traceable source file.
Many knowledge systems immediately flatten documents into chunks and vector indexes. This project takes a different approach when the hierarchy itself carries meaning:
The repository includes example-knowledge/, a multi-level Markdown knowledge base containing three fictional products:
Reusable evaluation questions and expected source files are in examples/evaluation.md. The complete MCP client setup and tool-call walkthrough are in examples/mcp-usage.md.
The MCP Go SDK is downloaded automatically through Go Modules. ripgrep is optional.
This project follows semantic versioning. The first public release is 1.0.0.
Release notes are tracked in CHANGELOG.md.
Run directly from the repository:
go run .\cmd\structured-knowledge-filesystem --root C:\path\to\knowledge
Or use a JSON configuration file:
go run .\cmd\structured-knowledge-filesystem --config .\config.example.json
The sample configuration points to example-knowledge/. Relative roots in a configuration file are resolved relative to the configuration file itself.
Build a platform-native binary:
go build -o structured-knowledge-filesystem.exe .\cmd\structured-knowledge-filesystem
The binary uses the built-in Go search backend by default, so no external search executable is required.
The built-in backend searches Markdown, MDX, and plain-text files in-process and is selected when ripgrep_path is omitted. It keeps the application as a single cross-platform binary.
For larger repositories, optionally install ripgrep and configure its executable:
{
"root": "./example-knowledge",
"ripgrep_path": "rg"
}
Both backends return the same file paths, line numbers, columns, and matching text.
Copy the mcpServers block from examples/mcp-client-config.json into your MCP client's configuration and replace the paths with absolute paths on your machine:
{
"mcpServers": {
"structured-knowledge-filesystem": {
"command": "C:\\path\\to\\structured-knowledge-filesystem.exe",
"args": [
"--config",
"C:\\path\\to\\structured-knowledge-filesystem\\config.example.json"
]
}
}
}
MCP clients typically start the process automatically. Standard output is reserved for the MCP protocol, so startup diagnostics are written to standard error and should be inspected through the client's MCP logs.
Run the full test suite:
go test ./...
Recommended pre-release checks:
go test -race ./...
go vet ./...
go build ./cmd/structured-knowledge-filesystem
The CI workflow runs tests, race detection, vet, and builds on Ubuntu, Windows, and macOS.
After connecting the server to an MCP client, ask:
Where is the retry policy for failed payments in Product Alpha?
The expected behavior is to inspect product-alpha/order-management/, search for PAYMENT_FAILED, read payment-retry.md, and cite the source path in the answer.
The product direction, milestones, scope, and longer-term ideas are documented in PROJECT_PLAN.md.
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots
Google's universal MCP server supporting PostgreSQL, MySQL, MongoDB, Redis, and 10+ databases
Official GitHub integration for repos, issues, PRs, and CI/CD workflows