Skip to main content
Glama

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:

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

Related MCP server: personal-llm-wiki-kit

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

WikiStrata CLI

Generated Summary

WikiStrata Summary

Obsidian Graph View

WikiStrata Graph View

Quickstart

cd <project-root>
python -m venv .venv
.venv\Scripts\activate
python -m pip install -e .

Then:

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.

Available Tools

10 tools
browse_treeC

Browse the wiki tree by node id.

Inputs: node_id, max_depth.

get_tree_pathC

Resolve the tree path for a document by path, title, or source page ID.

Inputs: path, title, page_id.

inspect_conceptC

Inspect a concept from the wiki concept registry.

Inputs: name (required).

inspect_entityC

Inspect an entity from the wiki entity registry.

Inputs: name (required).

read_documentB

Read a wiki document by path, title, or source page ID.

Inputs: path, title, page_id.

reload_wikiC

Reload wiki markdown and registry files from disk.

Inputs: no named parameters.

search_in_subtreeC

Search only inside a selected tree node.

Inputs: ancestor_id (required), query (required), doc_type, year, +2 more.

search_wikiB

Search wiki documents by title, path, tags, and body text.

Inputs: query (required), doc_type, year, solution, +1 more.

wiki_statsA

Return document and registry counts for the current wiki.

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.2/5.0

    Scored across 10 tools

    Disambiguation5/5

    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.

    Naming Consistency5/5

    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.

    Tool Count5/5

    10 tools is well-scoped for a wiki server, covering browsing, searching, reading, inspection, and admin functions without being excessive or insufficient.

    Completeness3/5

    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.

    Related MCP Connectors

    Related MCP Servers