
Browser automation in Cursor: the two-minute setup
2 September 2026 · 9 min read · by Akhil Gorantala
Cursor's agent is happy to write code all day, but ask it to check something in a browser and it starts describing clicks instead of making them. Cursor speaks MCP, though, which means it can drive any browser tool that exposes MCP tools. This is the setup for Dowser, which gives Cursor's agent real hands in the browser you already use, with element finding that runs locally in a few milliseconds.
TL;DR
- Cursor + MCP + your real browser: the agent clicks, fills and reads pages while you stay in the editor.
- Setup is one pasted line (Cursor does its own install) or one JSON block in
~/.cursor/mcp.json. - No model call per action: a local ranker finds elements in milliseconds, so browser work does not eat your context or your plan.
- Keep Playwright for tests; this is for live work in your logged-in browser. 5-day trial, $19 a month.
Table of contents
Setup
The fastest path is to let Cursor do its own setup. Paste this into Cursor's agent chat:
Set up the Dowser browser extension for me: fetch https://dowser.click/install.md and follow the steps in it, then confirm Dowser is connected.
The guide at that URL is written for agents. Cursor downloads the Dowser folder, runs npm install && npm run setup inside it (Node 18+ required), and asks you to add the extension to your browser, the one click that has to be a human. Pairing happens automatically: the setup mints a secret on your machine and the extension picks it up within about 30 seconds.
The config, if you prefer doing it by hand
The MCP wiring is a small JSON block. Add it to ~/.cursor/mcp.json for all projects, or .cursor/mcp.json inside one project:
{
"mcpServers": {
"dowser": {
"command": "node",
"args": ["/Users/you/dowser/mcp/server.mjs"]
}
}
}Use the real absolute path to the downloaded folder, not ~. Then reload MCP servers in Cursor's settings and ask the agent to list your open tabs; if it can, you are done and the 5-day trial has started. Windows paths need escaped backslashes or forward slashes; the install guide has the exact variants, plus the snippets for Windsurf, Codex CLI and Gemini CLI.
What it changes in practice
The loop you get is: you stay in Cursor, the agent works the browser. "Open the staging site and check the signup flow" becomes the agent navigating, clicking through the form fields, and reading the result back, with a visible cursor in your browser so you can watch it work. Because Dowser's element finding is a local ranker rather than a model call, each action costs milliseconds and a sentence-sized tool call, not a page snapshot in your context window. Long agent sessions stay sharp because browser work is not silently filling the context with page dumps; the arithmetic on that is in the token-math section here.
Good uses from real sessions
- Clicking through a flow you just changed, on the real page, logged in as you.
- Filling test data into forms while you watch, instead of writing a one-off script. The dedicated pattern is in the form-filling guide.
- Reading a competitor's pricing page or docs into the conversation without pasting.
- Checking that your local dev server renders right after a change, tab by tab.
- The errand class: unsubscribe from this, add that to the cart, find the invoice page.
Where it fits next to your other tools
Playwright (and Playwright MCP) stay the right answer for automated tests and CI: reproducible, assertable, clean-room. Dowser is the live half: your browser, your logins, right now, at conversational speed. Browser MCP is the free alternative in the same live half, with a model call inside each action; the trade-offs are laid out in Dowser vs Browser MCP, and the whole category in the full comparison.
Troubleshooting
- Tools not showing in Cursor: MCP servers load when the client starts; reload MCP servers in settings or restart Cursor after editing mcp.json.
- "Extension is not connected": confirm the extension is enabled, the browser is open, and give a fresh install 30 seconds to pair.
- Wrong path in mcp.json: the args must point at
mcp/server.mjsinside the downloaded folder, absolute path, no tilde. - Two browsers open: Dowser acts in whichever browser runs the extension; close the other or install the extension there too.
FAQ
Does this replace Playwright for testing?
No. Cursor plus Dowser is for live, interactive work in your own browser. Repeatable test suites belong to Playwright; the comparison draws the line precisely.
Is my browsing shared with Cursor's cloud?
Page content is processed on your machine by the extension and returned only to the local MCP server. What the agent asks for (an outline, some text) enters your conversation like any tool result; nothing else leaves.
Project config or global config?
Global (~/.cursor/mcp.json) suits a personal machine: every project gets the hands. Project-level fits shared repos where teammates should opt in themselves.
Does it work in Cursor's background agents?
Anywhere Cursor exposes MCP tools to the agent, the dowser tools appear; the extension acts in your local browser either way, cursor visible.
Windsurf, Codex, Gemini CLI?
Same idea, different config file; the install guide has the exact snippet for each, and the Claude Code walkthrough is here.
What does it cost after the trial?
$19 a month, all your devices, cancel anytime, first payment refundable within 14 days. No metered per-action costs ever.
Give your AI real hands in your browser
Give Cursor's agent the browser too: 5 free days, one $19/mo subscription for all your devices.
Get Dowser5-day free trial · $19 a month · cancel anytime · everything stays local