shared-wiki-mcp
# Shared Wiki
A small Markdown wiki with a CLI and MCP server. Search linked notes, read context,
queue review questions, capture feedback, and propose edits without overwriting
existing notes. Proposals record the target's content hash for stale-edit checks.
[Philosophy](PHILOSOPHY.md) · [Architecture and compatibility](ARCHITECTURE.md) · [Roadmap](ROADMAP.md).
[Input and attention plan](INPUTS.md) maps the next additions across the repository.
Requires Python 3.11+. From a checkout or unpacked source distribution:
```sh
python3 -m venv .venv
.venv/bin/python -m pip install -e .
cp -R examples/vault vault
.venv/bin/shared-wiki validate
.venv/bin/shared-wiki search "storage"
.venv/bin/shared-wiki queue
```
Use `--vault PATH` (before the command) or `WIKI_VAULT` for another vault. Notes use
YAML frontmatter
(`id`, `title`, `created`, `updated`), millisecond timestamps, and `[[note.name]]`
links; see [examples](examples/vault).
For an MCP host, launch `.venv/bin/shared-wiki-mcp --vault /absolute/path/to/vault`
over stdio. Writes create separate inbox or proposal notes. Applying proposals,
remote synchronization, and Slack/GitHub connectors are not implemented.
```sh
PYTHONDONTWRITEBYTECODE=1 .venv/bin/python -m unittest discover -s tests -v
```
Source distributions include the design docs, tests, and synthetic example vault.
Wheels contain only the runtime package and package metadata; provide your own
vault when installing a wheel.
Licensed under [Apache 2.0](LICENSE).
TDQS
Scored across 7 tools
Each tool targets a distinct operation: search for discovery, read for a single note's body/metadata, context for bounded multi-source excerpts, changes for a time-based delta, capture for inbox writes, propose for replacement drafts, review_queue for ranking open questions. The only soft overlap is wiki_search vs wiki_context (both return excerpts), but the descriptions clarify that one is ranked retrieval and the other is question-scoped gathering.
All seven tools share the wiki_ prefix and snake_case, giving a predictable namespace. However, the second element mixes verbs (search, read, capture, propose) with nouns (review_queue, changes, context), so the verb_noun pattern is not uniformly applied.
Seven tools is a tight, well-scoped surface for a shared wiki: retrieval, inspection, review, change tracking, and two write paths. Every tool maps to a real workflow step with no filler.
Read/discovery/write-capture are covered, but two lifecycle paths dead-end: wiki_propose creates a proposed replacement with no tool to list, accept, or reject proposals, and wiki_review_queue surfaces open questions with no tool to answer or resolve them. Agents can work around this by reading and capturing notes, but the review/proposal loop is incomplete.