Skip to main content
Glama
mcp-page-monitor

mcp-page-monitor

by deialedin

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

Related MCP server: mcp-page-monitor

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

Available Tools

5 tools
analyze_changeA

Send a page diff to an LLM and get a business impact analysis including severity, change type, key changes, and recommended actions.

NameRequiredDescriptionDefault
urlYesThe URL whose changes to analyze
diff_textNoOptional: provide diff text directly instead of computing from latest snapshots
check_changesA

Browse a monitored URL with Playwright, capture current content, diff against the stored snapshot, and return any changes found.

NameRequiredDescriptionDefault
urlYesThe URL to check for changes (must be previously registered)
list_monitored_pagesA

List all URLs currently being monitored for changes.

NameRequiredDescriptionDefault

No parameters

monitor_pageA

Register a URL to watch for changes. Takes an initial snapshot immediately. Optionally specify a CSS selector to monitor a specific element.

NameRequiredDescriptionDefault
urlYesThe URL to monitor for changes
labelNoHuman-readable label for this page
selectorNoCSS selector to monitor a specific element instead of the full page
check_interval_minutesNoHow often to check for changes (1 min to 7 days). Default: 60
remove_monitored_pageA

Stop monitoring a URL and deactivate it from the watchlist.

NameRequiredDescriptionDefault
urlYesThe URL to stop monitoring

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updatesv1.0.0
    • First observedanalyze_change
    • First observedcheck_changes
    • First observedlist_monitored_pages
    • First observedmonitor_page
    • First observedremove_monitored_page

TDQS

A4.2/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a distinct role in the monitoring lifecycle: registering, checking, analyzing, listing, and removing. There is no overlap or ambiguity between their purposes.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (monitor_page, check_changes, analyze_change, list_monitored_pages, remove_monitored_page). The naming is uniform and predictable.

Tool Count5/5

With exactly 5 tools, the set is well-scoped for a page monitoring service. Each tool covers a necessary operation without unnecessary bloat.

Completeness4/5

The core lifecycle of adding, checking, listing, and removing monitored pages is fully covered, plus an analysis step. A minor gap is the lack of an update operation (e.g., changing the CSS selector), requiring remove and re-add, but this is not a significant workflow blocker.

Maintenance

ActivityInactive
ResponsivenessNo recent community issues

Related MCP Connectors

Related MCP Servers