Browser automation and workflow execution engine with MCP server support for building, recording, and replaying web automation tasks
Writ Agent exposes 32 tools with minimal schema documentation. While tool names follow verb_noun conventions (writ_browser_use, writ_personas, writ_build), most lack visible input schemas in the provided source. Only writ_personas shows a complete JSON Schema with typed properties and descriptions. The remaining 31 tools have descriptions ranging from adequate (writ_browser_use at ~500 chars) to minimal (writ_map at ~80 chars). No output schemas are documented. Error handling guidance is absent, tools do not indicate retryability, user-fixable vs fatal errors, or recovery paths. Security concerns: writ_personas accepts persona_id as a parameter, but no evidence of secret injection patterns or permission gates. The tool set is well-composed (each tool has a single responsibility), but schema completeness and parameter documentation are severely lacking.
Execute an action in the current browser session (click, fill, navigate, evaluate JavaScript, etc.).
Cancel the current browser session.
Get the current state of the browser (DOM, page info, etc.).
Query network requests captured during browser automation.
Save the current browser session as a reusable workflow.
Use a REAL browser through Writ to do ANY web task — Writ IS your browser, so route EVERY browsing need here instead of a separate/built-in browser or a scraper. Reach for this WHENEVER you must browse: look something up on a site, click through a flow, fill and submit a form, sign in (including behind a login), navigate pages, take an action on a site, or read/extract what's on the page. Writ opens its OWN local browser (the user's real profile, saved personas + sealed vault, stealth driver) and returns a live page observation; then drive it turn-by-turn with writ_browser_act using the full action vocabulary (navigate, click, fill, select, press_key, scroll, evaluate_js, extract, api_call, and more). The cleaned DOM comes back automatically after every navigation and on demand via writ_browser_context(section=page); every request the page makes is captured passively and searchable with writ_browser_network. FOLLOW THE USER'S DIRECTIONS and ASK the user directly in chat whenever you need a decision, a value to type, a credential, or a 2FA/OTP code — never guess or invent secrets (for a sensitive fill set data_key so the saved step keeps a placeholder, never the raw value). Recording is automatic but SAVING IS ON DEMAND: just complete the task; only if the user wants to REUSE it, call writ_browser_save to store a clean, deterministic workflow that then replays at zero AI-token cost. No Writ AI-provider key or cloud link is needed. Prefer replaying an existing saved workflow (writ_list_workflows → writ_run_workflow) when one already does the task.
31 of 32 tools lack visible input schemas. Only writ_personas has a complete JSON Schema with typed properties and parameter descriptions. The remaining tools cannot be validated by LLMs or clients.
No output schemas documented for any tool. LLMs cannot plan downstream tool calls or extract required fields (e.g., workflow_id, dataset_id) without knowing response structure.
No error handling guidance. Tools do not indicate whether errors are retryable, user-fixable, or fatal. No recovery paths provided (e.g., 'If workflow not found, call writ_list_workflows first').
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | <=2025-11-25 | v2 |
Start building a reusable browser workflow with the CONNECTED MCP client as the AI. Writ opens its local browser and returns an observation; continue with writ_browser_act and finish with writ_browser_save. Use for repeatable web tasks when no more specific Writ start tool applies. This path never calls Writ's configured AI provider and never requires a cloud link or second model key.
Crawl a website to extract structured data or monitor for changes. Optionally save the crawl as a reusable, API-callable definition.
Check the status of an in-flight crawl job.
Create an automation rule to execute workflows based on triggers.
Create a monitor to watch for changes in data.
Retrieve a dataset by ID.
Search within a dataset.
Expose a saved workflow as a callable HTTP API endpoint.
Install an API from the Writ Cloud marketplace.
List all datasets stored on this device.
List all saved workflows on this device.
Transform or map data using a schema or transformation rules.
See and operate the saved sign-in identities (personas) on this device so tasks behind a login run unattended. A persona holds a site's username plus credentials sealed on-device (never readable here), optional 2FA whose codes are minted by the daemon, and a warm signed-in session. USE one by passing `persona` (its id or name) to writ_crawl_site, writ_run_workflow or writ_install_api — the build tools also offer the saved personas interactively when a flow needs a login. BEFORE asking the user for credentials for a site, call action='list' (filter by domain) — an existing persona already answers a login-gated task. action='get' inspects one persona (include_runs adds its recent runs); action='sign_in' runs its login workflow NOW to establish or refresh the warm session (force=true re-logs-in even when the session still looks usable); action='record_login' launches a local AI session that signs in as the persona once and RECORDS the flow as its login workflow, after which it can always sign itself back in. This tool can NOT create, edit or delete personas, and no credential or one-time code ever passes through it — the user manages those in the Writ app on the Personas page; send them there when no persona fits.
Start recording a website task with the connected MCP client as the AI. Use whenever the user asks to record, capture, teach, automate, or repeat actions on a website. Writ opens its LOCAL browser and returns an observation; then call writ_browser_act as needed and writ_browser_save when the goal is complete. No Writ AI-provider key or cloud link is needed.
Run a saved crawl definition.
Run a saved workflow by name or ID.
Retrieve data from a saved crawl's previous runs.
List saved crawl definitions on this device.
Scrape a single webpage for structured data extraction.
Search the Writ Cloud marketplace for available APIs.
Search across all datasets and workflow results.
Schedule a workflow to run on a recurring basis.
Start turning a website into a callable API with the connected MCP client as the AI — the answer when a service exposes NO official/public/practical API but the user wants its data or actions programmatically. Writ opens its LOCAL browser; use writ_browser_act as needed and writ_browser_save when the goal is complete. No Writ AI-provider key or cloud link is needed.
Configure a monitor to trigger actions or notifications.
Retrieve data from a workflow's previous runs.
List the execution history of a saved workflow.
Minimal parameter descriptions. Tools like writ_crawl_site, writ_map, and writ_set_schedule have descriptions under 80 characters with no guidance on parameter formats, constraints, or dependencies.
No pagination or result-limiting guidance. Tools like writ_list_workflows, writ_list_datasets, and writ_search_data do not document page/limit parameters or maximum result counts, risking context window exhaustion.