Mcp Page Monitor — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Mcp Page Monitor (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
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.
monitor_pageRegister 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_changesBrowse 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_changeAnalyze 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_pagesList all URLs currently being monitored.
remove_monitored_pageStop monitoring a URL.
| Parameter | Type | Required | Description |
|---|---|---|---|
url | string | yes | URL to stop monitoring |
npm install mcp-page-monitorOr run directly:
npx mcp-page-monitorInstall Playwright browsers if needed:
npx playwright install chromiumAdd to your MCP client config:
{
"mcpServers": {
"page-monitor": {
"command": "npx",
"args": ["mcp-page-monitor"],
"env": {
"PLAYWRIGHT_CHROMIUM_PATH": "/usr/bin/chromium-browser"
}
}
}
}| 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 |
monitor_page — takes an initial snapshot via headless Chromiumcheck_changes — fetches current content and computes a line-level diff (LCS-based) against the last snapshotanalyze_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 availableAll snapshots are stored in a local SQLite database with WAL mode enabled for concurrent access.
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 tsxMIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.