Writ Cloud
by usewrit.app in Search & web
Read, crawl and act on websites, signed in as the user, and turn any site into an API.
https://api.usewrit.app/mcp- Tools
- 41
- open to any client
- Uptime
- 100%
- last 30 days
- Response time
- 465 ms
- 3.9 s slowest 5%
- Last check
- Passed
- 6 h ago, next any minute now
Reliability
Status and outage history · Atom feed · Watch with other listings
How to connect
Add it to any MCP client that supports remote servers.
{
"mcpServers": {
"writ-cloud": {
"type": "http",
"url": "https://api.usewrit.app/mcp"
}
}
}41 tools
- writ_browser_use
A REAL CLOUD BROWSER FOR A TASK ON A SITE: the user's signed-in account (a persona_id from writ_personas: the password stays sealed in Writ, and sessions never ask for a password), a click, form, submit or search inside an app, or a page a plain fetch cannot open (login wall…
- writ_record_website
Records a repeatable task on a site as a workflow (goal + start url): the same session as writ_browser_use, labelled with its goal, driven with writ_browser_act and saved with writ_browser_save. A goal that asks for an API opens as a writ_website_to_api build instead: the same…
- writ_website_to_api
TURNS A WEBSITE INTO A CALLABLE API (named functions with inputs, returning JSON), built by the caller in a real browser. url = the page that already shows the rows (search results or a listing, not the home page); goal = the inputs and fields wanted. The call first proposes the…
- writ_discovery_status
Status of a writ_website_to_api build. wait=true is one held call (up to 75 s) that follows the build to its newest rung and returns when it is done or parked. Answers: succeeded (workflow_id, functions, run_example), failed, cancelled, or needs_guidance (the build is the…
- writ_browser_act
Runs one batch of actions on an open session and returns the fresh page. Each action is an object, e.g. {"action":"click","selector":"#go"}. DRIVE: navigate, click, fill, type_text, select, check, hover, submit, press_key, scroll, back, wait, wait_for. SEE: query_dom, find_text…
- writ_browser_context
Re-reads an open session: section=page (url, fields, buttons, cleaned DOM), lists (the page's repeating rows with a live-tested define_function payload for writ_browser_compose), map (the evidence of the build the session is bound to).
- writ_browser_network
Searches (operation=search, query, method) or reads in full (operation=detail, index) the backend requests the page made after capture_network: the site's real API. writ_browser_act api_call probes one with other values (a `flow`: several requests); an index feeds…
- writ_browser_compose
Authors the workflow in an open session beyond a recording: named API functions (define_function with a `flow` (preferred in an API build), from a captured call's index, or a lists payload; live-tested as defined; compile_function for an authenticated request), set_inputs…
- writ_browser_save
Saves the open session as a replayable workflow and closes the browser, in the place its browser ran: the user's desktop library or Writ Cloud. Composed functions become callable API functions, declared inputs become its parameters. The answer carries the steps, the inputs and a…
- writ_browser_ask_user
Hands an open session to the Writ user: kind='captcha' (they complete a security check in the live browser), 'twofa' (they supply the one-time code and Writ types it; the code never reaches this conversation), 'sign_in' (they sign in on the live page; no persona applies) or…
- writ_browser_cancel
Closes an open browser session (an open cloud browser bills until it is closed). Unsaved work that did more than visit pages is auto-saved first and the reply names it; discard=true keeps nothing.
- writ_browser_sessions
Lists the account's open cloud browser sessions (each resumable by its session_id).
- writ_personas
The user's own accounts on websites (personas): how Writ signs in as them. No password passes through this tool or the conversation, and its answers never ask for one: credentials are typed only into a Writ window. action='list' domain=<site> shows the personas usable there…
- writ_payment
Pays on a site with one of the user's cards; card numbers never reach this conversation. request (site, max_amount, purpose) returns a tell_user and an open_url where the user approves; wait (grant_id or confirmation_id); checkout pauses at the order button for the user's…
- writ_devices
The user's linked Writ desktops: list, use (scope this connection to one: runs, browsers, personas and monitors then target it), clear, monitors, datasets.
- writ_list_workflows
Lists the workflows saved in the Writ account; each runs on demand without live browsing. Returns id, name, declared inputs, schedule, and whether it is pinned as its own run_<name> tool.
- writ_run_workflow
Runs a saved workflow by workflow_id or name and returns its extracted data (it waits by default). Inputs go as top-level fields or under `inputs`; function_name runs one function of a multi-function API (with the sign-in it needs). max_age reuses a recent result at no cost. A…
- writ_update_workflow
Inspects or edits a saved workflow: an outline, one function's source, targeted function or step edits, a settings patch. copy_to keeps a linked copy on Writ Cloud or the user's desktop. Every option: writ_help('writ_update_workflow').
- writ_create_http_extraction
Drafts or revises a multi-request browserless HTTP extraction (loops, GraphQL, cursor pagination) from captured requests and a plain-language goal. Every option: writ_help('writ_create_http_extraction').
- writ_diagnose_http_workflow
Explains why a saved workflow's run returned nothing or failed: HTTP-lane readiness and, with task_id, the run's requests and responses.
- writ_pin_workflow_tool
Pins (or unpins) a saved workflow as its own run_<name> tool on this server.
- writ_workflow_data
Reads a saved workflow's collected data as a table: q filters, run_id picks one run, refs returns full records.
- writ_search_data
Searches everything the account's workflows already collected for a term, without running anything.
- writ_export_data
Exports a workflow's full data table as CSV or JSON.
- writ_workflow_runs
Run history (status, timing, errors, venue) of one workflow or all of them.
- writ_set_schedule
Schedules a saved workflow: every_minutes, or kind='daily'/'weekly' with time (HH:MM) and days. functions + inputs schedule chosen functions of a multi-function API.
- writ_expose_workflow_api
Publishes a saved workflow as a REST endpoint (a POST URL that waits and returns its JSON). Repeated calls reuse it.
- writ_crawl_site
COLLECTS a site or a section into a queryable, change-tracked dataset (one row per page). Scope: intent (a section, in plain words), rank_cap=N (the top N items of a listing), seed_urls (known pages), or the whole site capped by page_budget. Modes: markdown (default, no AI)…
- writ_saved_crawls
Lists the crawls saved for re-running, with their scope.
- writ_update_saved_crawl
Inspects or changes a saved crawl's settings in place.
- writ_run_saved_crawl
Runs a saved crawl; max_age returns its recent data at no cost instead of re-crawling.
- writ_saved_crawl_data
Reads the data a saved crawl collected on its last completed run, without crawling.
- writ_scrape
READ PAGES NOW, no browser session: one page (url), up to 20 pages in parallel (urls), or a listing plus its top N item pages (url + top_n). Returns clean markdown in 2-10 s, including pages a plain fetch cannot read: rendered by JavaScript (render_mode='browser'; a read that…
- writ_crawl_status
Status of a crawl by crawl_id; wait=true holds up to 75 s and returns the collected rows when it converges.
- writ_crawl_files
The original files (PDFs, office documents, images, CSVs) a crawl captured, with short-lived download URLs.
- writ_create_automation
Creates an automation: on an event (a workflow or crawl completed, a monitor change, a webhook, a schedule) it runs a workflow, sends a notification templated over the event's data, and/or wakes an AI agent. Event, template and webhook options…
- writ_list_webhooks
The account's inbound webhook URLs and the automations they fire.
- writ_create_monitor
WATCHES a page for changes: Writ checks it on a schedule and fires change_detected when the page, a CSS selector's text, a value read by `extract`, or a visual zone changes. Returns the monitor_id that writ_wire_monitor connects to an alert, a workflow or an AI task (a price…
- writ_wire_monitor
Connects a monitor's change_detected event to an action: action='notify' (channels and recipients the account has configured), 'workflow' (runs a saved workflow), or 'ai_task' (an AI agent opens the page and works `prompt`). A price watch takes `threshold` (+ threshold_op): the…
- writ_help
The full reference of any Writ tool (every parameter and its rules) and the complete guide. topic = a tool name (e.g. 'writ_browser_compose', a 'run_<workflow>' tool), 'guide' for the manual (recurring digests, HTTP flow building, buying on a price, crawl and build modes)…
Security scan
No findings
We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.
Recent checks
| When | Result | HTTP | Time |
|---|---|---|---|
| 6 h ago | Passed | 200 | 3.9 s |
| 16 h ago | Passed | 200 | 253 ms |
| 26 h ago | Passed | 200 | 460 ms |
| 36 h ago | Passed | 200 | 454 ms |
| 47 h ago | Passed | 200 | 419 ms |
Show 10 older checks
| 2 days ago | Passed | 200 | 432 ms |
| 3 days ago | Passed | 200 | 490 ms |
| 3 days ago | Passed | 200 | 606 ms |
| 4 days ago | Passed | 200 | 539 ms |
| 4 days ago | Passed | 200 | 556 ms |
| 4 days ago | Passed | 200 | 465 ms |
| 5 days ago | Passed | 200 | 473 ms |
| 5 days ago | Passed | 200 | 515 ms |
| 6 days ago | Passed | 200 | 438 ms |
| 6 days ago | Passed | 200 | 458 ms |