Webwatch Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Webwatch Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A Model Context Protocol (MCP) server for monitoring website changes. Track URLs, detect content changes, compare snapshots, and extract content with CSS selectors — all from your AI assistant.
| Tool | Description |
|---|---|
watch_url | Add a URL to the watch list with optional CSS selector and label |
list_watches | List all monitored URLs with status and statistics |
check_now | Fetch a URL now, compare to previous snapshot, return diff |
get_changes | Browse change history for one or all watched URLs |
compare_snapshots | Compare any two snapshots side-by-side |
extract_content | One-off content extraction with CSS selectors |
# Clone and build
git clone https://github.com/leviai-tools/webwatch-mcp.git
cd webwatch-mcp
npm install
npm run build
# Or install globally
npm install -g @leviai/webwatch-mcpAdd to your claude_desktop_config.json:
{
"mcpServers": {
"webwatch": {
"command": "node",
"args": ["/path/to/webwatch-mcp/build/index.js"],
"env": {
"WEBWATCH_DATA_DIR": "/path/to/data/dir"
}
}
}
}Or if installed globally:
{
"mcpServers": {
"webwatch": {
"command": "webwatch-mcp"
}
}
}| Variable | Default | Description |
|---|---|---|
WEBWATCH_DATA_DIR | ~/.webwatch-mcp | Directory for SQLite database |
You: "Watch https://example.com/pricing — track the .pricing-table element"
→ watch_url(url, selector=".pricing-table", label="Example pricing")
You: "Check if pricing changed"
→ check_now("https://example.com/pricing")You: "Add these competitor pages to my watchlist"
→ watch_url for each URL
You: "Show me all recent changes"
→ get_changes(limit=20)You: "What are the headlines on HN right now?"
→ extract_content("https://news.ycombinator.com", ".titleline > a")All data is stored locally in SQLite at ~/.webwatch-mcp/webwatch.db (configurable via WEBWATCH_DATA_DIR).
Tables:
watches — Monitored URLs with selectors and labelssnapshots — Page content captured at each checkchanges — Detected diffs between consecutive snapshotsMIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.