Watching a whole page means every rotating banner counts as a change; pinning a selector such as the pricing table means only the thing you care about does. History is kept on disk, so today can be compared against a snapshot from weeks ago, not just against the last fetch.
An MCP server for monitoring web pages: add a URL to a watch list with an optional CSS selector, fetch it on demand, and compare what comes back against snapshots held in a local SQLite database.
- A URL added to the watch list with an optional CSS selector and label, so only the element you care about counts as a change (watch_url)
- A fetch now, compared against the previous snapshot, returning the diff (check_now)
- Change history browsed for one watched URL or all of them (get_changes, list_watches)
- Any two stored snapshots compared side by side (compare_snapshots)
- One-off extraction with CSS selectors, without adding a watch (extract_content)
- Everything stored locally in SQLite at ~/.webwatch-mcp/webwatch.db
Node, built from a clone or installed globally as @leviai/webwatch-mcp. The SQLite database lives under ~/.webwatch-mcp by default, and an environment variable moves it somewhere else.
One command — npm install -g @leviai/webwatch-mcp
