Have an AI Agent Watch a Page for Changes
Add the Rendex MCP server to Claude, Cursor, or Claude Code and the agent gains the full Rendex Watch toolset. Ask it to monitor a page and it validates the scope, creates the watch, and can force a check and read back exactly what changed — a pixel-and-text diff with an optional plain-English summary — all in the conversation, with no dashboard to open.
Last updated 2026-07-21
The Problem
Change monitoring is a natural thing to ask an assistant — 'tell me when this competitor drops their price' — but agents can't do it out of the box. They have no persistent store for a baseline, no scheduler to re-check, and no diff engine, so the request either gets refused or turns into a brittle 'fetch this page every time you remember' hack that misses changes and can't say what actually moved.
The Solution
The Rendex MCP server exposes the complete Watch surface as tools. watch_test dry-runs a scope (no watch, no baseline) so the agent can confirm the right URL, selector, and capture identity first. watch_create then registers a monitor with an interval, a diffMode (the default 'both' catches any change — a pixel diff with a highlighted overlay AND a full-page text diff), a notify email or HMAC-signed webhook, and an optional Pro+ AI 'what changed' summary. watch_run forces a check on demand; watch_list, watch_get, and watch_runs inspect state and history (each change carries signed before/after/overlay image URLs); watch_update edits in place; watch_delete removes it. Rendex owns the baseline, the schedule, and the diff — the agent just drives the tools.
How the Workflow Runs
watch_test the scope
A dry run — no watch, no baseline — to confirm the URL/selector and identity capture what the user means.
watch_create
Create the monitor: interval, diffMode 'both' (pixel + text), a notify email or webhook, optional AI summary.
watch_run + watch_runs
Force a check on demand and read the run history — each change carries a signed before/after/overlay image URL.
Input → Rendered Output

Rendered by Rendex
What You Need
- A Rendex API key — the free tier supports daily watches with email alerts, no card required.
- An MCP client: Claude Desktop, Claude Code, or Cursor.
- The Rendex MCP server configured with your key (remote at mcp.rendex.dev, or the stdio server via npx) — see /docs/mcp.
- For faster intervals, webhooks (Basic+), or the AI 'what changed' summary (Pro+): a paid plan.
What This Recipe Uses
Test before you commit
watch_test does a dry run — no watch, no baseline, no charge — so the agent can confirm a URL, selector, and capture identity are right before watch_create registers the real monitor.
Pixel + text, catches anything
The default diffMode 'both' runs a visual pixel diff (with a highlighted overlay) and a full-page text diff and alerts on either — so a change is caught whether it's visual or textual, no sensitivity guessing.
Full lifecycle in chat
Eight tools — test, create, list, get, run, runs, update, delete — mean the agent can stand up a monitor, force a check on demand, inspect run history, retune it, and tear it down without a dashboard.
Sees what changed, not just that it did
Each detected change returns signed before/after/overlay image URLs, and an optional Pro+ AI summary gives a one-sentence 'what changed' the agent can relay directly.
Build It
// The agent stands up a daily monitor with an email alert.
{
"tool": "watch_create",
"arguments": {
"url": "competitor.com/pricing",
"name": "Competitor pricing",
"intervalMinutes": 1440,
"diffMode": "both",
"notifyEmail": "you@yourcompany.com",
"renderParams": { "selector": "#pricing", "fullPage": false }
}
}
// -> { "data": { "id": "...", "status": "active", "nextCheckAt": "..." } }// Don't wait for the schedule — check now, then read the run.
{ "tool": "watch_run", "arguments": { "id": "WATCH_ID" } }
{ "tool": "watch_runs", "arguments": { "id": "WATCH_ID", "limit": 1 } }
// -> { "data": [{ "changed": true, "aiSummary": "The Pro plan rose from $179 to $199.",
// "beforeUrl": "...", "afterUrl": "...", "overlayUrl": "..." }] }# watch_create wraps POST /v1/watches under the hood.
curl -X POST https://api.rendex.dev/v1/watches \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "url": "https://competitor.com/pricing", "intervalMinutes": 1440,
"diffMode": "both", "notifyEmail": "you@yourcompany.com" }'
# -> { "data": { "id": "...", "status": "active" } }100 free API calls/month — no credit card required. Get your API key and start building.
Reach for this when the user's request is really 'watch this and tell me when it moves' — a competitor's pricing page, a vendor's terms, an API's status page, a job listing, a regulator's notice. What makes it work as an agent capability rather than a hack is that Rendex holds the three things an agent lacks: the baseline capture, the recurring schedule, and the diff engine. The agent's job shrinks to orchestration — and the tool set is shaped for exactly that: watch_test lets it prove the scope before committing (so it isn't monitoring the wrong element), diffMode 'both' means it catches a visual OR a text change without the user choosing a sensitivity, and watch_runs hands back signed before/after/overlay images so the agent can describe the change, not just announce one. The interval floor scales with plan (daily on Free, down to five minutes on Enterprise), a notify email works on any plan while webhooks are Starter+ and the AI summary is Pro+, so a user can stand up a real monitor on the free tier from inside a chat and only upgrade when they need faster checks or automated delivery.