Install, wire, query.
Watcher is a local-first daemon. You install it, point it at a folder, and it compiles a cited wiki and a fact store you can query over MCP. This page takes you from nothing to your first grounded answer.
Install
Watcher runs on Node 20+. The package is published to the public npm registry as @3030-labs/wotw under the AGPL-3.0 license. Install it globally to get the wotw command on your path.
npm i -g @3030-labs/wotwThen create a workspace and start the daemon:
wotw init
wotw startPer-OS install
The same npm package runs everywhere Node 20+ runs. Pick the path that fits your machine.
# Node 20+ via Homebrew, then a global install
brew install node
npm i -g @3030-labs/wotw
wotw --version# Run without a global install using npx
npx @3030-labs/wotw --version
npx @3030-labs/wotw init
npx @3030-labs/wotw start# Mount your sources, run the daemon in a Node 20 container
docker run --rm -it \
-v "$PWD:/work" -w /work \
-p 7777:7777 \
node:20 \
npx @3030-labs/wotw serve --http 0.0.0.0:7777Wire into your MCP client
Watcher speaks the Model Context Protocol. Run wotw serve and point any MCP client at it. The client gets 17 tools, including query_facts, so an agent can pull atomic facts instead of stuffing whole documents into context.
A stdio client launches the daemon directly. Add this to your client’s MCP server config:
{
"mcpServers": {
"watcher": {
"command": "wotw",
"args": ["serve", "--stdio"]
}
}
}For a long-running daemon, serve over HTTP and connect the client to the URL:
wotw serve --http 127.0.0.1:7777
# client connects to: http://127.0.0.1:7777/mcpQuery
Once the daemon has compiled your sources, ask it questions. wotw query returns a grounded answer where every claim carries a fact_hash back to its source. wotw search finds the pages and facts behind it.
# grounded answer, every claim cited
wotw query "how is the rate limiter sized?"
# find the pages and facts behind it
wotw search "token bucket"CLI reference
The full verb set. Run wotw <verb> --help for the flags on any one.
- wotw init
- Create a workspace: config, facts.db, wiki/, and the genesis chain record.
- wotw start
- Start the daemon in the background. It polls watched sources and compiles.
- wotw stop
- Stop the running daemon.
- wotw status
- Report daemon state, watched sources, queue depth, and chain head.
- wotw audit
- Recompute the append-only hash chain. With --verify, confirm the head is intact.
- wotw logs
- Tail the daemon log stream.
- wotw serve
- Expose the MCP server over stdio or HTTP for a client to connect to.
- wotw query
- Ask a question. Returns grounded answers with a fact_hash per claim.
- wotw search
- Full-text and semantic search across pages and facts.
- wotw facts
- List, inspect, or export atomic facts from facts.db.
- wotw synthesize
- Compile or recompile wiki pages from the current fact set.
- wotw keys
- Manage signing keys and inspect the attestation substrate.
- wotw user
- Manage users and roles for multi-user workspaces.