BROWSER-NATIVE AI · SELF-HOSTED

Your agent can think.
Now give it
the ability to act.

Open up the whole web: dashboards, forms, signed-in sessions and JavaScript applications. One MCP connector. Persistent profiles. Real browser actions.

OpenCode · Cursor · MCP clients · Your server

agent workspaceMCP / 01
YOU

Prepare a campaign draft for our product

M
Profile: marketingChromium · proxy assigned
  1. 01

    Open the marketing browser profile

  2. 02

    Inspect the page and available fields

  3. 03

    Fill the form from the campaign brief

  4. 04

    Save a workflow for the next run

↳ Result: a draft + a clear next step
◈ State persistsIllustrative workflow · not a live campaign
A browser, not just an HTTP response A profile, not an ephemeral session A workflow, not 30 prompts
60-SECOND INSTALL

One command.
Your browser.

Published on npm. The script installs Chromium, generates your token and registers the service. Windows and Linux.

Ubuntu / macOS
curl -fsSL https://pentest2bot.ink/install.sh | sh
Windows (PowerShell)
irm https://pentest2bot.ink/install.ps1 | iex

Manual: npm i -g pentest2browser && pentest2browser setup — then pentest2browser serve. Node.js ≥ 22.13. Update any time: pentest2browser update.

A NEW LAYER OF BROWSER AUTOMATION

Profile-level control.
Agent-level execution.

Independent browser environments, cookies, proxies and session settings — the control familiar from browser profile managers and antidetect products, delivered through an agent interface. Replace manual clicks with instructions and verifiable outcomes.

01 /

Profiles with memory

Sign in, close your agent, come back to work. Cookies and application storage stay in a persistent profile on your server.

02 /

Your proxy per profile

Assign an authenticated SOCKS5 or HTTP proxy to each environment. A local bridge handles credentials; the model works with a profile ID.

03 /

Context without clutter

Your agent gets text and references to fields and buttons. Request screenshots, PDFs or video when the task needs visual evidence.

04 /

Learn once. Run again.

Save a sequence of actions, supply fresh data and replay it. Stop rediscovering the same interface on every run.

WHAT YOU CAN DELEGATE

One browser.
Less work for your mouse.

01 / MARKETING

From a campaign brief to a prepared draft.

Open an authorized dashboard, transfer copy, configure an audience and upload creative. Your agent assembles the draft; publishing stays within the permissions and budget you assign.

Brief → fields → draft → review
Advertising dashboards: workflow opportunities
Reddit AdsMeta AdsGoogle AdsMicrosoft AdsTikTok AdsLinkedIn Ads

Browser-UI workflows, not certified integrations. End-to-end validation on these platforms is not yet complete.

TRY THE WORKFLOW

Stop describing every button.
Give the agent the task.

This local demonstration turns one data object into a completed form and a compact result. No external requests or account registration.

01 / INSTRUCTION
fill_form({
  "session": "qa-demo",
  "data": {
    "name": "Browser-powered workflows",
    "email": "[email protected]"
  }
})
{ "status": "ready" }
● ● ●local / demo
02 / BROWSER

Test project card

Waiting for instruction

WHEN HTTP ALONE IS NOT ENOUGH

curl retrieves a response.
A browser operates the app.

HTTP clients are excellent for APIs and file downloads. A browser is the right tool when the task lives in an interface: JavaScript, tabs, forms and the current signed-in session.

Taskcurl / wgetPentest2Browser
Call an API or download a fileYesYes, through a browser flow
Execute page JavaScriptNo page engineReal Chromium
Click or select an elementReconstruct the HTTP protocolSelector, role or ref
Persist cookiesCookie jar / filePersistent browser profile
localStorage / IndexedDBNo browser app storageReal application state
Give an agent contextResponse text / HTMLCompact text + ARIA + refs
Repeat a business workflowCustom request codeSaved workflows + variables
FITS YOUR EXISTING STACK

Your model.
Your server. Your sessions.

Connect Streamable HTTP MCP or use the CLI. Keep your existing agent and give it tools for navigation, forms, profiles and workflows.

OpenCodeCursorMCPCLIPython / JS
Schemas and connection examples ↗

127.0.0.1:8790 · Bearer auth · Streamable HTTP

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "pentest2browser": {
      "type": "remote",
      "url": "http://127.0.0.1:8790/mcp",
      "headers": {
        "Authorization": "Bearer {env:P2B_TOKEN}"
      }
    }
  }
}
CONNECT YOUR AGENT

Three steps — and the agent works the web itself.

The service listens on 127.0.0.1:8790 only. Your agent connects over MCP; the token lives in the install env file.

  1. 01

    Install the service from the Install section — the token is in ~/.pentest2browser/env (or your system env file)

  2. 02

    Add the MCP config for your agent: opencode.json below, or mcp.json for Cursor

  3. 03

    Copy the prompt into your project AGENTS.md or CLAUDE.md so the agent knows when to take the browser and when HTTP is enough

AGENTS.md / CLAUDE.md / system prompt
Use Pentest2Browser (MCP at http://127.0.0.1:8790/mcp) for tasks that need a live browser instead of an HTTP response:
- open a page, dashboard or JavaScript app and work inside it: clicks, selections, input;
- fill or validate a form, complete registration and login on your own staging or your own account;
- keep a session: create a persistent profile and come back to it later;
- repeat a journey: record a workflow and replay it with fresh data;
- collect evidence: screenshot, PDF, HAR or video of the steps.
Do not use the browser for plain API calls or file downloads — HTTP is enough there.
Rules: stay within the access you were given; never print tokens or passwords in answers; if a page demands a CAPTCHA — tell the owner and stop until a solver is configured and the scenario is approved.
Cursor · mcp.json
{
  "mcpServers": {
    "pentest2browser": {
      "url": "http://127.0.0.1:8790/mcp",
      "headers": { "Authorization": "Bearer YOUR_P2B_TOKEN" }
    }
  }
}
CAPTCHA keys (service env)
# add to the service env file, then restart the service
P2B_SOLVER=capsolver
CAPTCHA_CAPSOLVER_KEY=YOUR_KEY
# or the alternative:
# P2B_SOLVER=nopecha
# CAPTCHA_NOPECHA_KEY=YOUR_KEY

Keys are purchased at capsolver.com or nopecha.com and stay in your env file only. The service sends a challenge to a solver only in scenarios you approved; site-side acceptance is verified separately. Without a key the agent stops at the check and tells you.

Proxies (bring your own provider)
# Webshare: one API key pulls the whole pool
pentest2browser proxy pool webshare --api-key YOUR_KEY --count 5
# new profiles then take the next free proxy automatically
pentest2browser profiles create p01
# or add any provider manually (http/socks5):
pentest2browser proxy add P2B_PROXY_P01 "http://user:pass@host:port"

With Webshare one API key is enough: the command downloads the pool and enables P2B_PROXY_AUTO so new profiles get a proxy without manual lines. Key and endpoint credentials stay in your env file; the model only sees P2B_PROXY_WS_* references. A dead proxy means an honest PROXY_FAILED, never a silent direct fallback.

A VERIFIABLE FOUNDATION

Working workflows beat big promises.

Profiles

Cookie/storage isolation and restart persistence exercised by local browser tests.

Proxies

SOCKS5 authentication, HTTP/CONNECT and failure without direct fallback covered by integration tests.

Agent API

MCP initialization, tool calls, forms and workflow replay have test coverage.

These results describe local scenarios in the tested build. Ad publication and impressions on third-party platforms have not been verified.

@PENTEST2BOT

The browser is part of a bigger idea.

Pentest2Bot brings automation and security research together. Follow the tools, discuss integrations and show us the work you want to delegate.

Open Pentest2Bot ↗

A few practical answers

Do I need a GPU?

Ordinary forms and JavaScript applications run on CPU. Memory and latency depend on pages and concurrency. A virtual display is not a hardware GPU.

How does this compare with an antidetect browser?

The focus is agent tools, persistent profiles and repeatable work. Native browser settings support QA; it does not promise hardware identity replacement or invisibility.

Can I bring an existing session?

Cookies and browser storage-state import are supported, including localStorage/IndexedDB. Compatibility depends on the site and session expiry; normal 2FA and account checks still apply.

What about CAPTCHA and protected pages?

A real browser executes JavaScript. Challenge detection and solver adapters support authorized workflows; site acceptance is verified separately. The platform controls access, limits and review.

Where do I get the server?

npm package: npm i -g pentest2browser, then pentest2browser setup. One-line installers for Windows and Linux are in the Install section. Implementation is BUSL-1.1; the specification and schemas are MIT.

READY WHEN YOU ARE

Stop explaining the web.
Give your agent a browser.

Explore the API, discuss your workflow and connect a browser to the agent you already use.