Skip to content

MCP Overview

If you’re building applications, UseBrowser becomes the missing piece in your development workflow. Claude Code already writes your code — now it can also test it in a real browser, fill forms, verify UI, scrape test data, and interact with web APIs.

UseBrowser runs an MCP server (Model Context Protocol) that exposes your browser as tools to any AI agent.

AI Agent ──SSE──→ localhost:9225 ──CDP──→ UseBrowser

Starts automatically. Claude Code in the built-in terminal already has access.

  • E2E testing — Claude navigates your app, fills forms, verifies outputs — in your real browser with real extensions and state
  • API debuggingbrowser_capture_har() captures all network traffic. Inspect request/response pairs, headers, cookies
  • Scrape test fixtures — Pull real data from production sites for test cases
  • Visual verificationbrowser_screenshot() before and after changes
  • Cookie/storage inspection — Debug auth flows with browser_get_cookies() and browser_get_storage()

Every tool call saves output to a timestamped directory:

~/.usebrowser/data/artifacts/{tool}_{YYYYMMDD_HHMMSS}_{ms}/
├── manifest.json # What was captured
├── screenshot.jpg # Compressed screenshot
├── result.json # Tool return data
└── error.txt # If something went wrong

Useful for debugging, auditing, or chaining tools.

Any MCP-compatible agent on your network can control the browser. On the remote machine, create or edit .mcp.json:

{
"mcpServers": {
"usebrowser": {
"type": "sse",
"url": "http://<usebrowser-ip>:9225/sse"
}
}
}
Video
Developer workflow — write, test, fix, re-test
Developer is writing a React login form in the terminal. Says "test the login form in the browser." Claude navigates to localhost:3000, fills in the email and password fields, clicks Submit. A screenshot shows a validation error — "email format invalid." Claude reports the bug. Developer fixes the validation regex in the terminal. Says "test again." Claude re-navigates, fills the form, submits — success screen appears. Claude takes a screenshot confirming the fix. Tight write-test-fix loop, all in one browser. ~45 seconds.