WikiStrata
# WikiStrata
Build a Markdown wiki and MCP layer from a Confluence tree.
WikiStrata is a public-facing, Confluence-first toolkit for turning internal documentation into structured Markdown, searchable indexes, and agent-friendly MCP context.
Language versions:
- [Korean](./README.ko.md)
- [Japanese](./README.ja.md)
This is a prototype and a concept. Take it, adapt it, make it yours.
WikiStrata is currently `Confluence-first`.
It is built to help a team connect a Confluence tree, ingest it into immutable source files, rebuild it into Markdown, and expose that wiki through MCP.
## Goals
- ingest Confluence page trees as immutable Layer 1 source data
- rebuild them into a structured Layer 2 wiki using schema-driven rules
- expose the wiki through stdio and HTTP MCP transports
- provide reusable onboarding via `init`-style schema suggestion workflows
## Current public-safe scope
- generic Confluence ingest and attachment extraction
- schema-driven sample build pipeline
- Whoosh-backed search indexing
- public CLI for init, ingest, build, index, stats, and MCP entrypoints
- stdio MCP server
- HTTP MCP server with CIDR and token gates
- synthetic sample schema and test coverage
- a tiny committed sample vault for GitHub browsing
## Screenshots
### CLI

### Generated Summary

### Obsidian Graph View

## Quickstart
```powershell
cd <project-root>
python -m venv .venv
.venv\Scripts\activate
python -m pip install -e .
```
Then:
```powershell
wikistrata init --write-starter-schema
wikistrata sample-project .\wikistrata-sample
cd .\wikistrata-sample
wikistrata build-wiki
wikistrata build-index
wikistrata search "refund policy"
wikistrata rebuild
wikistrata-mcp
```
## Documentation
- `docs/CONFLUENCE_FIRST.md`
- `docs/QUICKSTART.md`
- `docs/SCHEMA_GUIDE.md`
- `docs/SAMPLE_DATASET.md`
- `docs/SCREENSHOT_GUIDE.md`
- `docs/INIT_ONBOARDING_DESIGN.md`
- `docs/REPO_BOUNDARY.md`
- `docs/RELEASE_CHECKLIST.md`
- `docs/PUBLIC_CONVERSION_AUDIT.md`
## Included samples
- `examples/sample-vault/`
- a very small committed markdown sample for GitHub browsing
- `wikistrata sample-project ...`
- the fuller synthetic demo flow for screenshots, Obsidian, and CLI demos
## What is happening in this workspace
This workspace is being built with a whitelist strategy.
Only generic engine code, generic schema examples, synthetic sample data, and public documentation should land here.
See:
- `docs/PUBLIC_CONVERSION_AUDIT.md`
- `docs/WHITELIST.md`
- `docs/MIGRATION_PLAN.md`
## Release gates
The project should not be published until all of the following are true.
- no company names, brand names, internal URLs, page IDs, or internal examples remain
- schema files are synthetic and domain-neutral
- tests use synthetic fixtures only
- documentation is rewritten for public users
- the package name, CLI help text, and MCP server metadata are public-ready
## Immediate priorities
1. Move only generic core modules into `src/wikistrata`.
2. Replace internal schema and fixtures with synthetic examples.
3. Rewrite public docs around setup, schema customization, and MCP usage.
4. Rename the package and CLI surface from internal names to public names.
## Deferred work
These items do not block the split itself.
- `build_wiki.py` refactor
- production LLM synthesis automation
- PPT image extraction
- auth modernization beyond Basic Auth
## Project Status
WikiStrata is an early public release.
The public surface is intentionally narrow and strong:
- Confluence-first ingest
- Markdown wiki generation
- Whoosh-based search
- stdio and HTTP MCP access
Broader multi-source onboarding and richer automation can come later.
TDQS
Scored across 10 tools
Each tool targets a distinct aspect of the wiki: tree navigation, path resolution, concept/entity inspection, document reading, related documents, search (general and subtree), reloading, and statistics. No overlapping purposes.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., browse_tree, inspect_concept, search_wiki). Even compound names like get_tree_path and search_in_subtree maintain the pattern.
10 tools is well-scoped for a wiki server, covering browsing, searching, reading, inspection, and admin functions without being excessive or insufficient.
The tool set covers reading, searching, and browsing, but lacks any create, update, or delete operations for documents or registry entries. This is a notable gap for a wiki system, though the server may be intended as read-only.