mcpField
P
Page Monitor

Page Monitor

Local
toplformater.clickBrowser Automation0Updated 2w ago

About Page Monitor

Page Monitor is an MCP server for comparing web pages or local HTML snapshots while filtering common dynamic noise. It provides SHA-256 evidence and structured diffs for single checks; scheduled monitoring is handled by a cloud service and gated by an API key.

Key features

  1. 01Filter dynamic page noise
  2. 02Compare pages or local HTML
  3. 03Return SHA-256 hashes and evidence
  4. 04Summarize changes with unified diffs
  5. 05Gate scheduled monitoring with an API key

Use cases

  1. 01Check a page for meaningful changes
  2. 02Verify a diff against recorded hashes
  3. 03Request access to scheduled monitoring

MCP support

Exposes `cat1_diff_page` for a single comparison and `cat1_schedule_monitor` for the scheduled-monitoring key gate. The latter does not start a local schedule; continuous monitoring runs through the project's cloud service.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"jhfg31410-ai-page-monitor": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"CAT1_API_KEY",
"ghcr.io/jhfg31410-ai/page-monitor-mcp-server:0.1.0"
],
"env": {
"CAT1_API_KEY": "<CAT1_API_KEY>"
}
}
}
}
Run commanddocker run -i --rm -e CAT1_API_KEY ghcr.io/jhfg31410-ai/page-monitor-mcp-server:0.1.0
Environment variables to set
CAT1_API_KEYSecretOptional Cat1 API key for scheduled monitoring. Free single-page diff works without a key.

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
ocighcr.io/jhfg31410-ai/page-monitor-mcp-server:0.1.0

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

page-monitor-mcp-server

Deterministic web page change monitoring MCP server with SHA-256 snapshot evidence. Free single-page diff, no key required; 7x24 scheduled monitoring via a Cat1 API key from https://toplformater.click.

What it does

  • Noise-filtered deterministic diff (cat1_diff_page): compares a target web page (or local HTML) against a baseline, stripping dynamic noise -- <script>/<style>, random nonce/request-id, dynamic counters, relative timestamps, and JSON indentation differences -- and returns the normalized text's SHA-256 hashes, a structured change summary, and a unified diff. Free, no key, no account, no card.
  • SHA-256 cryptographic evidence chain: every cat1_diff_page call records baseline_sha256, target_sha256, diff_patch_sha256, structured_changes, and unified_diff, so any result can be independently re-fetched and hash-verified. No hallucinated changes.
  • 7x24 scheduled monitoring gate (cat1_schedule_monitor): requests or validates a Cat1 API key for always-on scheduled monitoring. Without a key it returns directions to get one at https://toplformater.click (USD 29/month, 7-day free trial, no card required). With a key it only checks the key format locally (^cat1_(?:live|trial)_[A-Za-z0-9]{16,64}$); it never calls an external payment or verification endpoint, never fabricates a verification result, and never pretends to run the schedule locally. Actual 7x24 monitoring is performed by our own cloud service. The tool honestly reports local_scheduler_started: false and online_verified: false.

Tools

ToolKey requiredPurpose
cat1_diff_pageNoFree single-page noise-filtered diff + SHA-256 evidence. Inputs: target_url (required), baseline_source (optional), baseline_sha256 (optional).
cat1_schedule_monitorOptional (gate)Scheduled-monitoring key gate + directions. Inputs: target_url (required), interval_minutes (optional, default 15), alert_email (optional), api_key (optional, or CAT1_API_KEY env var).

Quickstart

Requirements
  • Python 3.9+ (standard library only, zero third-party dependencies), or Docker for the OCI image.
Option A -- Run from source
git clone https://github.com/jhfg31410-ai/page-monitor-mcp-server.git
cd page-monitor-mcp-server
python3 server.py
Option B -- Run with Docker (after the image is published)
docker run -i --rm ghcr.io/jhfg31410-ai/page-monitor-mcp-server:0.1.0
Claude Desktop / Cursor configuration

Copy claude_desktop_config.example.json into your MCP client config and set the server path (or the Docker image). Example (source):

{
  "mcpServers": {
    "page-monitor-mcp-server": {
      "command": "python3",
      "args": ["/path/to/page-monitor-mcp-server/server.py"],
      "env": {
        "CAT1_API_KEY": "YOUR_CAT1_KEY_HERE_OPTIONAL"
      }
    }
  }
}

Pricing

  • Single-page diff (cat1_diff_page): free, no key, no account, no card.
  • 7x24 scheduled monitoring: USD 29/month, 7-day free trial, no card required. Get a formal API key at https://toplformater.click. All payments go through our own site (Paddle / PayPal); this server never handles payments.

Files

  • server.py -- MCP stdio server (implements initialize, tools/list, tools/call, and the key gate).
  • engine.py -- noise-filtering and semantic diff core (SHA-256, structured diff).
  • server.json -- Official MCP Registry descriptor (public repo and Docker image not yet created/published).
  • Dockerfile -- OCI image build (Python 3.12-slim, zero dependencies).
  • requirements.txt -- package list (zero third-party dependencies, Python >= 3.9 stdlib only).
  • claude_desktop_config.example.json -- Claude Desktop / Cursor mount example (placeholder key only).
  • fixtures/t0_sample.html, fixtures/t1_sample.html -- local diff test HTML snapshots.

Local test commands

List tools (tools/list)
printf '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05"}}\n{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}\n' | python3 server.py
Free diff test (cat1_diff_page, no key)
printf '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"cat1_diff_page","arguments":{"baseline_source":"fixtures/t0_sample.html","target_url":"fixtures/t1_sample.html"}}}\n' | python3 server.py
Key-gate test (cat1_schedule_monitor)

No key (returns directions):

printf '{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"cat1_schedule_monitor","arguments":{"target_url":"https://news.ycombinator.com/","interval_minutes":5}}}\n' | python3 server.py

With a format-matching demo key (local format check only; no network verification, no local scheduling):

printf '{"jsonrpc":"2.0","id":5,"method":"tools/call","params":{"name":"cat1_schedule_monitor","arguments":{"target_url":"https://news.ycombinator.com/","interval_minutes":5,"api_key":"cat1_trial_DemoFormatCheckOnly9999"}}}\n' | python3 server.py

Status

  • Version 0.1.0. Server name page-monitor-mcp-server.
  • This repository is prepared for publication to the Official MCP Registry (server.json included) and for listing on Glama / PulseMCP. The public repository, Docker image, and registry submission are not yet published.
  • License: MIT (see LICENSE).

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.