Skip to content

Solutions · Claude Code

Give Claude Code a real browser.

One command adds WebPilot.si as an MCP server. Claude Code gets its own Chromium that stays logged in, and you can watch it work from any device.

export WEBPILOT_TOKEN=cbu_...   # console → Settings → Tokens
claude mcp add --transport http webpilot https://api.webpilot.si/mcp \
  --header "Authorization: Bearer $WEBPILOT_TOKEN"

How it works

01

What Claude Code gets

Over 50 browser_* tools over MCP. Claude Code opens a tab, takes a snapshot (a list of the page's interactive elements with refs like e12) and acts by ref: click, type, fill a form, choose an option, upload a file. Most pages need no screenshot at all.

Tabs are opened in read mode or act mode. A read tab blocks every write at the network level, so looking around can never submit anything. The agent asks for an act tab only when it has to change something.

  • Snapshots with element refs; read_text for the rendered text
  • Click, type, fill, select, upload, hover, scroll, keys
  • Downloads as text, rows or files; extract tables and links
  • browser_read: a page as Markdown without opening a tab

02

A real browser, not a fetch

The browser is a headed Chromium on its own virtual screen, with no automation flags. Sites see a normal browser with your cookies, so pages that block headless clients usually load as they would for you.

It is yours alone: the user comes from the token, never from what the client sends, and every account runs its own Chromium process and profile.

03

Verify your own web app

Claude Code can open the page it just changed, click through the flow and report what it saw, with screenshots and a run report (HTML plus JUnit XML) when you ask it to record. It can reach any public address; for a dev server on your machine, use the open-source server locally instead (same tools, stdio).

FAQ

Questions people ask

Where do I get the token?

Sign up, then create one in the console under Settings → Tokens. It starts with cbu_ and is shown once; we keep only a hash. Put it in an environment variable (WEBPILOT_TOKEN), not in a file you commit.

Project scope or user scope?

Either. claude mcp add --scope user makes the browser available in every project. For one repository, commit a .mcp.json that reads the token from ${WEBPILOT_TOKEN}, so the secret stays out of git.

Does the browser keep my logins between sessions?

Yes. Each account has its own Chromium profile on our servers: cookies, local storage and the open tabs survive disconnects and restarts. The browser stops after 20 minutes without activity; the profile and tab list stay on disk and come back on the next request.

Does the agent see my passwords?

No. Logins, card fields and authenticator (TOTP) keys live in your vault, encrypted with AES-256-GCM. The agent names an entry (browser_login{site}) and the server types the values into the page. No API returns a stored value.

Can it test localhost?

The hosted browser runs on our servers and cannot reach your machine's localhost. Deploy a preview to a public URL, or run the open-source server on your machine (node server/index.mjs) and register it as a stdio server.

Can I watch what the agent does?

Ask the agent for a viewer link (the browser_viewer tool), or open the live view in the console. Links expire after 10 minutes and are view-only unless your settings allow taking over; the server's relay enforces that, not the page.

Give your agent a browser that remembers.

Start with the free trial. Connect Claude Code, Cursor, Codex or your own code in a minute.