@browsa/mcp
v0.2.0
Published
MCP server for Browsa — drive anti-detect cloud browsers from Claude Desktop, Cursor, Cline, and any MCP-compatible client
Maintainers
Readme
@browsa/mcp
Drive anti-detect browsers from Claude Desktop, Cursor, Cline, and any MCP-compatible client.
MCP (Model Context Protocol) server for Browsa — turn any LLM into a real-browser agent with one config line. The agent gets a freshly-spawned macOS-Chrome-fingerprinted Chromium with built-in CAPTCHA solving, human-shaped behavioral pacing, and a live noVNC stream so you can watch it work.
What this is
Most "AI agent" setups stop at the LLM. We give the LLM a real browser. Through MCP, Claude can now:
- Navigate, fill forms, click, scroll, scrape
- Pass through Cloudflare Turnstile, hCaptcha, reCAPTCHA, ALTCHA
- Run from a residential US/UK/DE/etc. exit IP
- Stay logged in across calls via persistent identities
No code from you — just configure Claude Desktop (or Cursor / Cline / Zed) once, and ask in natural language.
Install
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"browsa": {
"command": "npx",
"args": ["-y", "@browsa/mcp"],
"env": {
"BROWSA_API_KEY": "agt_live_...",
"BROWSA_LLM_API_KEY": "sk-ant-..."
}
}
}
}Restart Claude Desktop. Ask: "Go to news.ycombinator.com and tell me the top story title."
Cursor
~/.cursor/mcp.json:
{
"mcpServers": {
"browsa": {
"command": "npx",
"args": ["-y", "@browsa/mcp"],
"env": { "BROWSA_API_KEY": "agt_live_...", "BROWSA_LLM_API_KEY": "sk-ant-..." }
}
}
}Cline / Continue / Zed
Any MCP-spec-compliant client. Point at npx -y @browsa/mcp and set the two env vars.
Required env
| Var | Required | What |
|---|---|---|
| BROWSA_API_KEY | yes | Your agt_live_* key from browsa.io → Keys |
| BROWSA_LLM_API_KEY | recommended | Default LLM provider key (e.g. Anthropic). Without this, Claude must pass it on every run_task call |
| BROWSA_LLM | no | Default LLM. Defaults to claude-opus-4-7 |
| BROWSA_COUNTRY | no | Default egress country (e.g. US) |
| BROWSA_BASE_URL | no | Override prod URL (staging / self-hosted) |
Tools exposed
| Tool | What |
|---|---|
| run_task | Run a browser-driven task. Returns final result + live noVNC URL. |
| get_job | Poll a long-running task. Optional server-side wait_seconds. |
| cancel_job | Cancel a running task. |
| respond_to_job | Answer an input_required prompt (CAPTCHA, decision). |
| credits | Show credit balance + top-up packs. |
| list_webhooks / create_webhook / delete_webhook | Webhook CRUD. |
| list_identities | List persistent browser identities (use one via profile_id to reuse warmed cookies). |
Why MCP-first matters
Most agent platforms gate distribution behind "write code → deploy → call our API." We gate it behind "paste config → ask Claude." For an AI agent platform, the prospect's first 30 seconds is the make-or-break moment. With this MCP server, the first 30 seconds is a working browser doing what they asked.
Source + Issues
- Source: https://github.com/mohasaaid/neout/tree/main/sdks/browsa-mcp
- Issues: https://github.com/mohasaaid/neout/issues
- API reference: https://browsa.io/docs
License
MIT.
