Writ Cloud
Read, crawl and act on websites, signed in as the user, and turn any site into an API.
Connector by usewrit.app · Domain verified by the MCP Registry
Install
Works with Claude Code, VS Code, Codex, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/usewrit-app-writ-cloud
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Remote endpoint
https://api.usewrit.app/mcpRemote (HTTP)
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.
- Tools
- 16 read · 11 write · 14 delete
- Secrets
- 1 (API keys, tokens or passwords)
- Install scripts
- None found
- Runs as
- Node.js package
Tools by what they do 41
From the running server's own tool list (tools/list) on Oct 25, 2026.
Read 16 · Look things up without changing anything.
writ_browser_contextwrit_browser_networkwrit_browser_sessionswrit_crawl_fileswrit_crawl_statuswrit_diagnose_http_workflowwrit_discovery_statuswrit_export_datawrit_helpwrit_list_webhookswrit_list_workflowswrit_saved_crawl_data
Show 4 more tools
writ_saved_crawlswrit_search_datawrit_workflow_datawrit_workflow_runs
Write 11 · Create, change, send or run things.
writ_browser_ask_userwrit_browser_live_viewwrit_create_automationwrit_create_monitorwrit_deviceswrit_expose_workflow_apiwrit_personaswrit_pin_workflow_toolwrit_run_saved_crawlwrit_scrapewrit_wire_monitor
Delete 14 · Delete, drop, revoke or wipe things.
writ_browser_actwrit_browser_cancelwrit_browser_composewrit_browser_savewrit_browser_usewrit_crawl_sitewrit_create_http_extractionwrit_paymentwrit_record_websitewrit_run_workflowwrit_set_schedulewrit_update_saved_crawl
Show 2 more tools
writ_update_workflowwrit_website_to_api
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
WRIT_API_KEY
Network hosts it talks to 1
api.usewrit.app· found in remote endpoint, install command, code
Files it touches
- Any path the agent passes to its tools
Tools (41)
As the server listed them on Oct 25, 2026. Descriptions are the server’s own words; hidden characters are shown as [U+…].
writ_browser_actAct in a browser sessioncan change or delete dataRuns 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, read_text, count, get_attributes, inspect, list_candidates, get_dom, get_screenshot. NETWORK: capture_network, get_request, rotate_exit. CODE: evaluate_js, search_scripts, read_script. RECORD: extract {variable,script}, api_call (a flow is built step by step with writ_browser_compose add_flow_step), login_post, probe_w…
writ_browser_ask_userAsk the user to step inHands 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 'question' (their text answer). The call that opens the ask returns at once with user_link + tell_user to relay; later calls hold up to 60 s and answer answered, waiting_for_user (the same call again) or expired. Their answer is kept if your turn ends first.
writ_browser_cancelClose a browser sessioncan change or delete dataCloses 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_composeCompose a workflow in a sessioncan change or delete dataAuthors the workflow in an open session beyond a recording: named API functions (define_function with a `flow`, preferred in an API build, or a captured call's index or a lists payload; live-tested as defined; compile_function for an authenticated request), set_inputs, add_steps, test_function, remove_function, remove_step, list. A flow is built in small calls: define_function with its first request, then add_flow_step {function, step, at?} per step, each tested and answered with the step list; a set step's value is read as {ref:'vars.<name>'}. Shapes: writ_help('writ_browser_compose').
writ_browser_contextRead a browser sessionread-onlyRe-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_live_viewLive browser viewThe live browser card's own access: the card ChatGPT and Claude show under writ_browser_use and writ_record_website calls it to read the session's state and get one-time passes for the session's screencast and its take-over channel. The user watches the page in the card and can take it over there. It is not part of a conversation's work.
writ_browser_networkRead a session's network callsread-onlySearches (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 define_function from_index.
writ_browser_saveSave a session as a workflowcan change or delete dataSaves 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 run_example; the workflow runs at zero AI cost through writ_run_workflow. A save that references something no run could resolve is refused with the reasons, and the browser stays open.
writ_browser_sessionsList open browser sessionsread-onlyLists the account's open cloud browser sessions (each resumable by its session_id).
writ_browser_useOpen a browsercan change or delete dataA 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, 403, CAPTCHA). Opens the browser and returns the first page; writ_browser_act drives it (Writ runs no model here). Recording is always on: writ_browser_save turns the session into a workflow that replays without a browser, writ_browser_cancel closes it (an open browser bills). The start answer carries the action vocabular…
writ_crawl_filesList a crawl's captured filesread-onlyThe original files (PDFs, office documents, images, CSVs) a crawl captured, with short-lived download URLs.
writ_crawl_siteCrawl a site into a datasetcan change or delete dataCOLLECTS 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), extract_mode='schema' (uniform records), executor='ai' + extract_prompt (per-page understanding, 5x the page rate). A bounded crawl answers with its rows; an open one returns a crawl_id for writ_crawl_status wait=true. NOT FOR: reading a few pages now (writ_scrape). Every option: writ_help('writ_crawl_site').
writ_crawl_statusCheck a crawlread-onlyStatus of a crawl by crawl_id; wait=true holds up to 75 s and returns the collected rows when it converges.
writ_create_automationCreate an automationCreates 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_help('writ_create_automation').
writ_create_http_extractionBuild an HTTP extractioncan change or delete dataDrafts 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').
Show 26 more tools
writ_create_monitorWatch a page for changesWATCHES 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 watch takes a threshold there). Without `interval` the answer is needs_input: this plan's options and a tell_user for the user, nothing created. The page is read first: a sign-in answers needs_persona, a bot check offers use_residential.
writ_devicesChoose a linked desktopThe user's linked Writ desktops: list, use (scope this connection to one: runs, browsers, personas and monitors then target it), clear, monitors, datasets.
writ_diagnose_http_workflowDiagnose a workflow's HTTP laneread-onlyExplains why a saved workflow's run returned nothing or failed: HTTP-lane readiness and, with task_id, the run's requests and responses.
writ_discovery_statusCheck an API buildread-onlyStatus 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 caller's to finish with writ_website_to_api mode=guided build_id=<id>; its map comes with it).
writ_export_dataExport collected dataread-onlyExports a workflow's full data table as CSV or JSON.
writ_expose_workflow_apiPublish a workflow as a REST APIPublishes a saved workflow as a REST endpoint (a POST URL that waits and returns its JSON). Repeated calls reuse it.
writ_helpWrit tool referenceread-onlyThe 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), 'actions' / 'recording' / '2fa' for the browser rules, 'http_flows' / 'flow_operators' for writing an HTTP flow, or empty for the list of topics.
writ_list_webhooksList inbound webhook URLsread-onlyThe account's inbound webhook URLs and the automations they fire.
writ_list_workflowsList saved workflowsread-onlyLists 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_paymentPay with a card the user approvescan change or delete dataPays 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 confirmation, then Writ places the order; fill; list (card handles only). Details: writ_help('writ_payment').
writ_personasUse the user's saved sign-insThe 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; with none it answers persona_needed: a tell_user for the user, a create_url (a small Writ window with only the sign-in form, pre-filled for the site) and a link_id. action='wait' link_id=<id> is one held call that answers when the user saves it, with its persona_id. Also get, request (a link for another account), sign_in (…
writ_pin_workflow_toolPin a workflow as a toolPins (or unpins) a saved workflow as its own run_<name> tool on this server.
writ_record_websiteRecord a website taskcan change or delete dataRecords 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 browser, bound to the build.
writ_run_saved_crawlRun a saved crawlRuns a saved crawl; max_age returns its recent data at no cost instead of re-crawling.
writ_run_workflowRun a saved workflowcan change or delete dataRuns 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 write function previews with mutation_mode='dry_run'. Runs sign in as the workflow's persona or persona_id; no password is ever passed. Venue, network, files and output shape: writ_help('writ_run_workflow').
writ_saved_crawl_dataRead a saved crawl's dataread-onlyReads the data a saved crawl collected on its last completed run, without crawling.
writ_saved_crawlsList saved crawlsread-onlyLists the crawls saved for re-running, with their scope.
writ_scrapeRead web pagesREAD 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 only got the page's shell says so and gives the retry), behind a bot wall or 403 (an automatic residential retry), or behind the user's sign-in (persona_id). Discussion threads keep their comments. format='html' returns the raw HTML for selectors. NOT FOR: a site-wide dataset (writ_crawl_site) or clicking and typing (writ…
writ_search_dataSearch collected dataread-onlySearches everything the account's workflows already collected for a term, without running anything.
writ_set_scheduleSchedule a workflowcan change or delete dataSchedules 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_update_saved_crawlEdit a saved crawlcan change or delete dataInspects or changes a saved crawl's settings in place.
writ_update_workflowEdit a saved workflowcan change or delete dataInspects 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_website_to_apiTurn a website into an APIcan change or delete dataTURNS 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 user's matching saved workflows and marketplace APIs (skip_existing / skip_marketplace build fresh), then opens a cloud browser bound to the build: capture_network records the site's own calls, writ_browser_network reads them, api_call probes them; a failed probe is evidence, not the end. Functions: HTTP flows first (w…
writ_wire_monitorConnect a monitor to an actionConnects 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 action then runs once, when a check reads a price at or below it. Buying at a price (`buy`): writ_help('writ_wire_monitor').
writ_workflow_dataRead a workflow's collected dataread-onlyReads a saved workflow's collected data as a table: q filters, run_id picks one run, refs returns full records.
writ_workflow_runsList workflow runsread-onlyRun history (status, timing, errors, venue) of one workflow or all of them.
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit
- Oct 10, 2026 (18 days ago)
- Last release
- Oct 10, 2026 (18 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Registry name
app.usewrit/writ-cloud- Version
- 1.0.0
- Auth
- Auth not stated, API key
- Packages
- npm writ-mcp
- License
- MIT
- Repository
- github.com/usewrit/writ-mcp
- Website
- usewrit.app
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
Cite this page
Writ Cloud MCP server. Agent Mart. https://agentmart.dev/connectors/usewrit-app-writ-cloud (last updated 2026-10-24)