seed ▸ tool call opened 0

Give your agents
real web tools.

Turn any site into a typed MCP tool and a REST endpoint your agent can call - Claude, Cursor, or your own. Login, 2FA, and dynamic pages handled, on your accounts.

Writ runs on your own accounts, with your own credentials and data, on sites you are authorized to use.
Agent tool call
writ.order-status({ id: 'A-1042' })
→ { "status": "shipped", "eta": "Thu" }

One workflow, two callable surfaces - MCP tool and REST endpoint.

MCP tool + REST op login & 2FA handled runs on your accounts
obs ▸ agents stall 1
01
The problem

Prompt-only agents can't touch the real web.

Prompt-only agents hallucinate and fail on auth and two-factor. Read-only website-to-MCP tools can fetch page text but can't take action or log in. Your agent needs to do things on sites that were never built for it.

  • Prompt-only agents hallucinate and fail on auth and two-factor.
  • Read-only website-to-MCP tools can fetch text but can't take action or log in.
  • Your agent needs to do things on sites that were never built for it.
act ▸ record · expose · run 3
02
How Writ solves it

Record it, expose it, run it reliably.

Record a real action navigate, fill, click, extract - the durable steps a person would take.
Expose it as a tool Every workflow becomes an MCP tool and a REST op at /v1/{slug}/{path}, callable from Claude, Cursor, or any MCP client.
Runs reliably Recorded recipes plus AI navigation survive UI changes, so the tool keeps working when the site moves.
api ▸ two surfaces 10
03
MCP-native, and a REST API too

One workflow, two callable surfaces.

MCP server · mcp.json
{
  "mcpServers": {
    "writ": {
      "url": "https://api.usewrit.app/mcp",
      "headers": { "Authorization": "Bearer wt_..." }
    }
  }
}
REST op · order-status
# Same workflow as a REST op
POST https://api.usewrit.app/v1/order-status/run
Authorization: Bearer wt_...
→ { "status": "shipped", "eta": "..." }

One workflow, two callable surfaces - MCP tool and REST endpoint.

auth ▸ hard web cleared 28
04
The hard web

Authorized-access automation, not circumvention.

Your tools run on accounts you control.

  • Login walls
  • TOTP + mailbox-OTP 2FA on your own accounts
  • Verification on your own authenticated accounts
  • Dynamic pages
  • Multi-tab flows
log ▸ runs verified 42
05
Observability

Verified, observable runs.

Runs are gateway-mediated, metered, and logged - so you can see that the tool actually ran and what it returned, with full audit trails. Consumer keys, webhook HMAC, and per-key usage analytics give your agent stack the controls it needs.

venue ▸ local or cloud 60
06
Run it your way

Run local for free, or in the cloud.

Local / BYO agent

On a BYO agent your tools run on your hardware with no compute charge and can reach intranet and localhost systems. Bring your own AI keys locally and AI steps are unbilled.

See agents →

Managed cloud

In the cloud your tools are managed and always on, metered by running time, so your agents can call them around the clock.

See pricing →
faq ▸ answered 90
07
FAQ

AI-agent tooling questions.

Which MCP clients work?

Claude, Cursor, and any MCP-compatible client.

Can the agent log in?

Yes - on your own accounts, with your credentials, handling TOTP and mailbox 2FA via Personas.

Is it just read-only?

No - it takes real actions, then returns structured results.

go ▸ tool shipped

Give your agents real web tools.

Record a web action once and expose it as an MCP tool your agents can call.