Cursor just shipped Automations — always-on background agents that run continuously, call MCP servers, and take actions on your behalf while you sleep.
That's powerful. It's also a black box.
Your Automation ran at 3am. It called your browser MCP. It did something. The logs say it completed. But what did it actually do?
If your answer is "I trust it," that's fine — until it isn't. One silent failure, one incorrect form submission, one page that loaded wrong, and you're debugging a ghost.
Visual audit trails solve this.
What Cursor Automations Actually Do
Cursor Automations are persistent background agents that:
- Run on a schedule or trigger
- Call MCP tools natively (including browser MCPs)
- Take multi-step actions autonomously
- Complete silently — no interactive session
The problem: MCP tool calls are logged as text. browser_action: click #submit tells you what was attempted. It doesn't tell you what the page actually showed when that happened.
Adding Visual Proof with PageBolt MCP
PageBolt's MCP server gives your Cursor Automations a screenshot after every step — visual proof of exactly what the agent saw and did.
Install it:
npm install -g pagebolt-mcp
Add to your Cursor MCP config (~/.cursor/mcp.json):
{
"mcpServers": {
"pagebolt": {
"command": "pagebolt-mcp",
"env": {
"PAGEBOLT_API_KEY": "your-api-key"
}
}
}
}
Now your Automation has access to take_screenshot, generate_pdf, inspect_page, and run_sequence as native tools.
A Real Automation Pattern
Here's a Cursor Automation that fills a form and captures visual proof:
// Cursor Automation: submit-and-verify.js
// Runs every hour, submits report form, screenshots result
const steps = [
{ action: "navigate", url: "https://internal.app/reports/submit" },
{ action: "fill", selector: "#report-data", value: getLatestData() },
{ action: "click", selector: "#submit-btn" },
{ action: "wait", ms: 2000 },
// PageBolt MCP captures what actually happened
];
When your Automation calls PageBolt's run_sequence tool with these steps, it returns a screenshot of the final state. You see exactly what the agent saw: success message, error state, or an unexpected page.
What Visual Proof Catches
Without screenshots, these failures are silent:
- Form validation errors — agent thinks it submitted, server rejected it
- Session expiry — agent hits a login wall mid-workflow
- UI changes — the button moved, selector didn't fire
- Rate limits — page returned a 429, agent marked it "done"
- Data corruption — wrong field populated, wrong value entered
Each of these shows up immediately in a screenshot. None of them appear in text logs.
The Audit Trail Pattern
For compliance-sensitive Automations, store screenshots with timestamps:
import requests
import datetime
def run_automation_with_audit(steps, audit_dir):
"""Run browser automation steps and save visual proof."""
response = requests.post(
"https://api.pagebolt.dev/sequence",
headers={"Authorization": f"Bearer {PAGEBOLT_API_KEY}"},
json={
"steps": steps,
"screenshot": True,
"format": "png"
}
)
result = response.json()
timestamp = datetime.datetime.utcnow().isoformat()
# Save screenshot as audit evidence
screenshot_path = f"{audit_dir}/{timestamp}-automation-result.png"
with open(screenshot_path, "wb") as f:
f.write(result["screenshot"])
return {
"completed_at": timestamp,
"screenshot": screenshot_path,
"success": result.get("success", False)
}
Every Automation run now produces a dated screenshot. If something goes wrong, you have a visual record of exactly what the agent saw.
Why This Matters Now
Cursor Automations are early. Most teams are running them without any audit layer because there wasn't one.
As these agents do more — submitting forms, making API calls, managing files, triggering workflows — the cost of a silent failure scales up. A missed form submission is annoying. A missed compliance report is a problem.
The time to add visual proof is before you need it.
Getting Started
- Get a free PageBolt API key — 100 requests/month, no credit card
- Add
pagebolt-mcpto your Cursor MCP config - Your Automations can now call
take_screenshotafter any action
The MCP server works natively in Cursor — no code changes to existing Automations, just a new tool available in the context.
PageBolt is a browser automation and screenshot API with a native MCP server. Use code LAUNCH25 for 25% off your first month.
Top comments (0)