mcp-page-monitor

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.

Category
Visit Server

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

  1. Register a page with monitor_page — takes an initial snapshot via headless Chromium
  2. Check for changes with check_changes — fetches current content and computes a line-level diff (LCS-based) against the last snapshot
  3. 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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured