WebWatch MCP
Website change monitoring with URL watching, snapshot comparison, and intelligent content extraction for AI assistants
🔍 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 |
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-mcp
Usage 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"
}
}
}
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
Requirements
- Node.js ≥ 18.0.0
License
MIT
関連サーバー
Bright Data
スポンサーDiscover, extract, and interact with the web - one interface powering automated access across the public internet.
Bilibili
Interact with the Bilibili video website, enabling actions like searching for videos, retrieving video information, and accessing user data.
Career Site Jobs
A MCP server to retrieve up-to-date jobs from company career sites.
ShopGraph
Structured product data from the open web — where platform APIs don't reach. Schema.org + AI extraction. Pay per call via Stripe MPP.
MCP Deep Web Research Server
An advanced web research server with intelligent search queuing, enhanced content extraction, and deep research capabilities.
Clawpage
Extract and structure any web page into clean JSON.
Douyin MCP Server
Extract watermark-free video links and copy from Douyin.
Firecrawl
Scrape, crawl, and extract data from any website using the Firecrawl API.
yt-dlp
Download video and audio content from various websites like YouTube, Facebook, and Tiktok using yt-dlp.
Conduit
Headless browser with SHA-256 hash-chained audit trails and Ed25519-signed proof bundles. MCP server for AI agents.
Rapidproxy
Over 70M+ premium IPs via Rapidproxy - Enjoy easy data extraction, avoiding CAPTCHAs, IP blocks with 220+ locations targeting, non-expiring traffic.