Universal automation

Point Molar at any website and say "do X" — generic task execution, structured extraction, state validation, login, and file download for humans and agents.

Universal automation

Molar is not only a QA tool — it is a universal browser-automation platform. Any human or agent can point it at a website and describe a task in plain English: fill a form, extract structured data, log in, download a file, or chain a multi-step workflow. The same VLM-first agent that powers Cartographer executes the task in a real browser, live-streams the viewport, and returns a structured result.

Note:

QA vs. tasks. Scenarios are for repeatable, asserted tests. Universal automation is for one-shot or ad-hoc work — "grab every invoice from this dashboard," "sign in and export the CSV," "check whether the pricing page still lists the Team plan."

The primitives

Every capability maps to one MCP tool (for agents) and one CLI verb (for humans). All return structured JSON with an error.hint field so agents can self-correct.

CapabilityMCP toolCLIScopeReturns
Run any taskmolar_run_taskmolar run "<task>" --url <u>mcp:actStep trace + final state
Extract structured datamolar_extractmolar extract "<schema>" --url <u>mcp:exploreJSON matching your schema
Validate page statemolar_verifymolar verify "<claim>" --url <u>mcp:explore{ pass: boolean, evidence }
Fill a formmolar_fill_formvia runmcp:actSubmitted fields + result
Log inmolar_loginvia runmcp:act + mcp:identityAuthenticated session handle
Download a filemolar_downloadvia runmcp:actArtifact URL + checksum
Map a sitemolar_map_sitemcp:exploreRoute map
Explore a targetmolar_explore_targetmcp:exploreTrajectory + findings

Note:

mcp:act and mcp:identity are high-risk scopes — they take state-changing actions and handle credentials. They are granted only via explicit OAuth consent, never on a pre-verify agent token. See MCP scopes.

Run a task

molar run "Add the MacBook stand to the cart and go to checkout" \
  --url https://shop.example.com --json

Execution is target-aware by default: localhost and private development URLs use the warm local CloakBrowser daemon; public URLs use hosted Cartographer. Override with --execution local or --execution hosted. Local execution does not require a hosted token and returns owner-only local screenshot, WebM, and HAR paths. JSON always includes execution_mode; an automatic preflight fallback also includes fallback_reason. Molar never retries through hosted execution after a local task may have started.

{
  "ok": true,
  "task_id": "task_9fk2",
  "steps": 7,
  "final_url": "https://shop.example.com/checkout",
  "live_view": "https://app.molar.it/live/task_9fk2",
  "trace": "molar://traces/task_9fk2"
}

The live_view URL streams the browser in real time (see Live view & recording). The trace handle opens in Trace for step-by-step replay.

From an agent (MCP)

// tools/call
{
  "name": "molar_run_task",
  "arguments": {
    "url": "https://shop.example.com",
    "task": "Add the MacBook stand to the cart and go to checkout",
    "max_steps": 20
  }
}

Long-running tasks are task-augmentable (SEP-1686): the call returns a taskId immediately, and the agent polls tasks/get or reconnects after a disconnect without losing progress.

Extract structured data

Give a JSON schema (or a plain description) and Molar returns data that matches it:

molar extract '{ "plans": [{ "name": "string", "price_monthly": "number" }] }' \
  --url https://molar.it/pricing --json
{
  "ok": true,
  "data": { "plans": [
    { "name": "Free", "price_monthly": 0 },
    { "name": "Team", "price_monthly": 40 }
  ] }
}

Extraction is DOM-anchored — coordinates are snapped to real elements (WebTestPilot Set-of-Marks technique), so values are grounded rather than hallucinated.

Validate & verify

molar_verify returns a boolean plus the evidence behind it — ideal as a CI gate or an agent's self-check after writing code:

molar verify "the dashboard shows a welcome banner after login" \
  --url http://localhost:3000 --json
{ "ok": true, "pass": true, "execution_mode": "local", "evidence": { "screenshot": "…", "har": "…" } }

The agent verification loop

The core workflow Molar unlocks for coding agents: write code → verify it works in a real browser → read the result → fix → repeat, with no human in the loop.

Because every result is structured and every run has a replayable trace and a live-view URL, the agent can diagnose failures the same way a human would — by watching what the browser actually did.

Determinism with Clones

Point tasks at Clones so logins, payments, OTPs, and emails resolve against stateful stand-ins instead of real vendors. Combined with molar_login and agent comms OTP relay, a task can sign up, receive a verification code, and complete checkout — fully hermetic, no real customer touched.