mcp-page-monitor
Enables monitoring web pages for changes using Playwright, storing snapshots in SQLite, and optionally analyzing changes with an LLM for business impact assessment.
README
mcp-page-monitor
MCP server for monitoring web page changes. Uses Playwright to capture page content, SQLite for snapshot storage, and optional LLM integration for business impact analysis.
Available on npm and the MCPize marketplace.
Tools
monitor_page
Register a URL to watch for changes. Takes an initial snapshot immediately.
| Parameter | Type | Required | Description |
|---|---|---|---|
url |
string | yes | URL to monitor |
label |
string | no | Human-readable label |
selector |
string | no | CSS selector to monitor a specific element |
check_interval_minutes |
number | no | Check frequency (1–10080). Default: 60 |
check_changes
Browse a monitored URL with Playwright, capture current content, and diff against the stored snapshot.
| Parameter | Type | Required | Description |
|---|---|---|---|
url |
string | yes | URL to check (must be registered first) |
Returns { changed, diff, timestamp } — diff includes added/removed line counts, changed sections, and a unified diff string.
analyze_change
Analyze a page diff using an LLM to summarize what changed and assess business impact.
| Parameter | Type | Required | Description |
|---|---|---|---|
url |
string | yes | URL whose changes to analyze |
diff_text |
string | no | Provide diff text directly instead of computing from snapshots |
Returns { summary, impact, severity } — severity is low | medium | high | critical.
Falls back to deterministic analysis (pattern matching for pricing changes, errors, policy updates, etc.) when no LLM endpoint is configured.
list_monitored_pages
List all URLs currently being monitored.
remove_monitored_page
Stop monitoring a URL.
| Parameter | Type | Required | Description |
|---|---|---|---|
url |
string | yes | URL to stop monitoring |
Installation
npm install mcp-page-monitor
Or run directly:
npx mcp-page-monitor
Requirements
- Node.js 22+
- Chromium browser (Playwright uses it for page rendering)
Install Playwright browsers if needed:
npx playwright install chromium
Configuration
Claude Desktop / Cursor / MCP Client
Add to your MCP client config:
{
"mcpServers": {
"page-monitor": {
"command": "npx",
"args": ["mcp-page-monitor"],
"env": {
"PLAYWRIGHT_CHROMIUM_PATH": "/usr/bin/chromium-browser"
}
}
}
}
Environment Variables
| Variable | Default | Description |
|---|---|---|
PAGE_MONITOR_DB_PATH |
~/.mcp-page-monitor/page-monitor.db |
SQLite database location |
PLAYWRIGHT_CHROMIUM_PATH |
/usr/bin/chromium-browser |
Path to Chromium executable |
CHROME_PATH |
— | Fallback browser path |
PAGE_TIMEOUT_MS |
30000 |
Page navigation timeout |
LLM_ENDPOINT |
— | LLM API endpoint for analyze_change (e.g. OpenAI-compatible /v1/chat/completions) |
LLM_API_KEY |
— | Bearer token for LLM endpoint |
LLM_MODEL_ID |
gpt-4o-mini |
Model to use for analysis |
LLM_SOURCE_SYSTEM |
mcp-page-monitor |
Source identifier sent to LLM |
How It Works
- Register a page with
monitor_page— takes an initial snapshot via headless Chromium - Check for changes with
check_changes— fetches current content and computes a line-level diff (LCS-based) against the last snapshot - Analyze changes with
analyze_change— sends the diff to an LLM for business impact assessment, or uses built-in heuristics (pricing detection, error detection, policy changes) when no LLM is available
All snapshots are stored in a local SQLite database with WAL mode enabled for concurrent access.
Development
git clone https://github.com/deialedin/mcp-page-monitor
cd mcp-page-monitor
npm install
npm run build # Compile TypeScript
npm test # Run 26 tests
npm run dev # Watch mode with tsx
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.