Page Monitor について
Page Monitorは、ウェブページやローカルHTMLのスナップショットを比較し、一般的な動的ノイズを除去するMCPサーバーです。単回チェックではSHA-256の証跡と構造化差分を返し、定期監視はAPIキーを条件にクラウドサービスが実行します。
主な機能
- 01ページの動的ノイズを除去
- 02ウェブページやローカルHTMLを比較
- 03SHA-256ハッシュと証跡を返却
- 04統合差分で変更点を要約
- 05APIキーによる定期監視のゲート
活用シーン
- 01ページの実質的な変更を確認
- 02記録されたハッシュで差分を検証
- 03定期監視の利用を申請
MCP 対応
単回比較用の`cat1_diff_page`と、定期監視のキーゲート用`cat1_schedule_monitor`を公開します。後者はローカルで監視を開始せず、継続監視はプロジェクトのクラウドサービスが実行します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
docker run -i --rm -e CAT1_API_KEY ghcr.io/jhfg31410-ai/page-monitor-mcp-server:0.1.0CAT1_API_KEYシークレットOptional Cat1 API key for scheduled monitoring. Free single-page diff works without a key.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ghcr.io/jhfg31410-ai/page-monitor-mcp-server:0.1.0stdioツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
page-monitor-mcp-server
SHA-256 スナップショット証拠付きの、決定論的な Web ページ変更監視 MCP サーバーです。単一ページの差分確認は無料で、キーは不要です。7x24 の定期監視には、https://toplformater.click で取得できる Cat1 API キーが必要です。
機能
- ノイズを除去した決定論的な差分確認(
cat1_diff_page):対象の Web ページ(またはローカル HTML)とベースラインを比較し、動的なノイズ(<script>/<style>、ランダムなnonce/request-id、動的カウンター、相対タイムスタンプ、JSON のインデントの違い)を除去します。正規化したテキストの SHA-256 ハッシュ、構造化された変更の概要、統合差分を返します。無料で、キー、アカウント、カードは不要です。 - SHA-256 暗号学的証拠チェーン:すべての
cat1_diff_page呼び出しで、baseline_sha256、target_sha256、diff_patch_sha256、structured_changes、unified_diffを記録するため、どの結果も独立して再取得し、ハッシュを検証できます。変更を捏造することはありません。 - 7x24 定期監視ゲート(
cat1_schedule_monitor):常時稼働の定期監視に必要な Cat1 API キーを要求または検証します。キーがない場合は、https://toplformater.click で取得するための案内を返します(月額 USD 29、7 日間の無料トライアル、カード不要)。キーがある場合は、キーの形式をローカルで確認するだけです(^cat1_(?:live|trial)_[A-Za-z0-9]{16,64}$)。外部の決済または検証エンドポイントを呼び出すことはなく、検証結果を捏造したり、ローカルでスケジュールを実行するふりをしたりすることもありません。実際の 7x24 監視は、当社独自のクラウドサービスで実施されます。このツールはlocal_scheduler_started: falseおよびonline_verified: falseを正直に報告します。
ツール
| ツール | キーが必要 | 用途 |
|---|---|---|
cat1_diff_page | いいえ | 無料の、ノイズを除去した単一ページの差分確認と SHA-256 証拠。入力:target_url(必須)、baseline_source(任意)、baseline_sha256(任意)。 |
cat1_schedule_monitor | 任意(ゲート) | 定期監視キーのゲートと案内。入力:target_url(必須)、interval_minutes(任意、デフォルトは 15)、alert_email(任意)、api_key(任意、または CAT1_API_KEY 環境変数)。 |
クイックスタート
要件
- Python 3.9 以降(標準ライブラリのみ、サードパーティ依存関係なし)、または OCI イメージ用の Docker。
オプション A -- ソースから実行
git clone https://github.com/jhfg31410-ai/page-monitor-mcp-server.git
cd page-monitor-mcp-server
python3 server.py
オプション B -- Docker で実行(イメージ公開後)
docker run -i --rm ghcr.io/jhfg31410-ai/page-monitor-mcp-server:0.1.0
Claude Desktop/Cursor の設定
claude_desktop_config.example.json を MCP クライアントの設定にコピーし、サーバーのパス(または Docker イメージ)を設定します。例(ソース):
{
"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"
}
}
}
}
料金
- 単一ページの差分確認(
cat1_diff_page):無料、キー、アカウント、カードは不要です。 - 7x24 定期監視:月額 USD 29、7 日間の無料トライアル、カード不要です。正式な API キーは https://toplformater.click で取得してください。支払いはすべて当社独自のサイト(Paddle/PayPal)経由で行われます。このサーバーが支払いを扱うことはありません。
ファイル
server.py-- MCPstdioサーバー(initialize、tools/list、tools/call、キーゲートを実装)。engine.py-- ノイズ除去とセマンティック差分のコア(SHA-256、構造化差分)。server.json-- 公式 MCP Registry ディスクリプター(公開リポジトリと Docker イメージは未作成・未公開)。Dockerfile-- OCI イメージのビルド(Python 3.12-slim、依存関係なし)。requirements.txt-- パッケージ一覧(サードパーティ依存関係なし、Python >= 3.9 の標準ライブラリのみ)。claude_desktop_config.example.json-- Claude Desktop/Cursor のマウント例(プレースホルダーキーのみ)。fixtures/t0_sample.html、fixtures/t1_sample.html-- ローカル差分テスト用 HTML スナップショット。
ローカルテストコマンド
ツール一覧(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
無料の差分テスト(cat1_diff_page、キー不要)
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
キーゲートのテスト(cat1_schedule_monitor)
キーなし(案内を返します):
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
形式に一致するデモキーを指定(ローカルでの形式確認のみ。ネットワーク検証およびローカルでのスケジュール実行はありません):
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
ステータス
- バージョンは
0.1.0です。サーバー名はpage-monitor-mcp-serverです。 - このリポジトリは、公式 MCP レジストリへの公開(
server.jsonを同梱)と、Glama / PulseMCP への掲載に向けて準備されています。公開リポジトリ、Docker イメージ、レジストリへの申請は、まだ公開されていません。 - ライセンス:MIT(
LICENSEを参照)。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。