
WebWatch MCP
from leviai-ai
Website change monitoring with URL watching, snapshot comparison, and intelligent content extraction for AI assistants
๐ฅ๐ฅ๐ฅโ VerifiedFreeNeeds API keys
๐ WebWatch MCP
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.
Features
- Watch URLs โ Monitor any webpage for content changes
- CSS Selectors โ Track specific elements (prices, headlines, stock info)
- Snapshot History โ SQLite-backed storage of every page state
- Diff Detection โ See exactly what changed, line by line
- Content Extraction โ Pull structured data from any page on demand
Tools
| 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 |
Environment Variables
| Variable | Default | Description |
|---|---|---|
WEBWATCH_DATA_DIR | ~/.webwatch-mcp | Directory for SQLite database |
Example Workflows
Monitor a pricing page
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")Track competitor changes
You: "Add these competitor pages to my watchlist"
โ watch_url for each URL
You: "Show me all recent changes"
โ get_changes(limit=20)Extract data on demand
You: "What are the headlines on HN right now?"
โ extract_content("https://news.ycombinator.com", ".titleline > a")Data Storage
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 snapshots
License
MIT
Copy & paste โ that's it
# 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-mcpBefore it works, you'll need: WEBWATCH_DATA_DIR
Installation
# 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-mcpUsage with Claude Desktop
Add 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"
}
}
}Requirements
- Node.js โฅ 18.0.0
No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.