llms.txt
# Scalebrowser Documentation
> Scalebrowser gives each AI agent its own browser on your own machine instead of a vendor's cloud: an isolated profile with a persistent identity, a Chromium fork built and signed by us, and human input on every click and keystroke. These docs cover installing it, driving it over MCP, REST, CDP or either SDK, and how a profile keeps its identity, secrets and sessions.
> Live documentation is also available over MCP at https://scalebrowser.net/docs/mcp
## Documentation — Getting started
- [Browsers for AI agents on your own machine](https://scalebrowser.net/docs.md): Scalebrowser documentation: run browsers for AI agents on your own machine, one persistent identity per profile, driven over MCP, direct CDP, REST or the SDKs.
- [Quickstart](https://scalebrowser.net/docs/quickstart.md): From nothing to an AI agent driving a real browser profile: install, sign in, create a profile, connect a client, and the first thing to ask it.
- [Install & run](https://scalebrowser.net/docs/install.md): Install Scalebrowser on Windows with the desktop client: requirements, first start, engine provisioning, ports and configuration.
- [Core concepts](https://scalebrowser.net/docs/concepts.md): The nine words the rest of this documentation uses: daemon, engine, profile, persona, seed, tier, lease, run and machine, and what each one decides for you.
## Documentation — Migrate
- [Migrate from Playwright, nodriver or a cloud browser](https://scalebrowser.net/docs/migrate.md): Move existing browser automation to Scalebrowser in two steps: attach your current code to a profile over CDP, then replace the parts a page can observe.
- [Migrate from Playwright or Puppeteer](https://scalebrowser.net/docs/migrate/playwright.md): Attach Playwright or Puppeteer code to a Scalebrowser profile over CDP, remove the stealth plugin, and move strict targets to direct CDP with human input.
- [Migrate from nodriver or zendriver](https://scalebrowser.net/docs/migrate/nodriver.md): Attach nodriver or zendriver to a Scalebrowser profile by host and port, keep your code, and replace the script-dispatched clicks and key events a page can see.
- [Migrate from Browserbase to a local browser](https://scalebrowser.net/docs/migrate/browserbase.md): Move Browserbase code to a Scalebrowser profile on your own machine: swap the session's connect URL for cdp_ws, a context for the profile, and its proxies for the profile's.
- [Migrate from browser-use](https://scalebrowser.net/docs/migrate/browser-use.md): Run a browser-use agent in a Scalebrowser profile by its CDP address, or hand the browser to your coding agent over MCP and let it do the driving.
## Documentation — Drive a profile
- [MCP server](https://scalebrowser.net/docs/agents/mcp-server.md): The MCP tools an AI agent uses to see and operate a page inside a Scalebrowser profile: connecting the server, the tool set, and the page map it works from.
- [Tool reference](https://scalebrowser.net/docs/agents/tools.md): Every MCP tool the daemon can serve, grouped by the profile it belongs to, with what each one does and which of them change something.
- [Which clients work](https://scalebrowser.net/docs/agents/mcp-clients.md): The MCP clients that can drive a Scalebrowser profile: the ones that run on your machine and reach the daemon directly, and the ones in somebody else's cloud that need a relay.
- [Claude Code and Claude Desktop MCP setup](https://scalebrowser.net/docs/agents/mcp-clients/claude.md): Add an MCP server to Claude Code with claude mcp add over HTTP, and to the Claude desktop app over stdio, with a local browser server as the example.
- [Cursor MCP setup: add an MCP server](https://scalebrowser.net/docs/agents/mcp-clients/cursor.md): Add an MCP server to Cursor with mcp.json, for one project or for all: the url and headers entry, where to check it loaded, and the MCP Logs.
- [Codex MCP config: config.toml and auth](https://scalebrowser.net/docs/agents/mcp-clients/codex.md): Add an MCP server to OpenAI Codex: the config.toml table, a bearer token read from an environment variable, codex mcp add, and the errors when it fails to load.
- [ChatGPT MCP connector for a local browser](https://scalebrowser.net/docs/agents/mcp-clients/chatgpt.md): Connect ChatGPT to an MCP server on your own machine: why a loopback address is out of reach from OpenAI's cloud, and the two ways across.
- [GitHub Copilot MCP setup in VS Code](https://scalebrowser.net/docs/agents/mcp-clients/copilot.md): Add an MCP server to GitHub Copilot in VS Code: the mcp.json entry with a token prompt, MCP: List Servers, and what to check when the tools are missing.
- [Antigravity MCP setup: add an MCP server](https://scalebrowser.net/docs/agents/mcp-clients/antigravity.md): Add an MCP server to Google Antigravity: mcp_config.json with serverUrl, agy mcp add, why the token must be literal, and how to see it loaded.
- [Remote access](https://scalebrowser.net/docs/agents/remote.md): Reach the MCP server from a chat service that runs in someone else's cloud: which services actually work, how to set a connection up, and the six rules that keep the relay from being a way into your machine.
- [WSL & containers](https://scalebrowser.net/docs/agents/wsl-and-containers.md): Connect an agent that runs in WSL, a devcontainer or on another machine to a Scalebrowser daemon on Windows: why localhost does not reach it, and what does.
- [Lovable MCP setup: custom MCP connectors](https://scalebrowser.net/docs/agents/integrations/lovable.md): Add a custom MCP server to Lovable: the connector form, why the web app cannot reach a local server, and the desktop app route that can.
## Documentation — What an agent can do
- [Tasks & memory](https://scalebrowser.net/docs/agents/tasks.md): Two things a profile carries between agents: standing instructions in a PROFILE.md, and a task list with a claim that stops two agents doing the same work twice.
- [Workflows](https://scalebrowser.net/docs/agents/workflows.md): Record a stretch of ordinary agent work and replay it later: what a stored routine deliberately does not contain, and why two runs of the same routine never share a timeline.
- [Activity & runs](https://scalebrowser.net/docs/agents/runs.md): What your agents are doing right now and whether the last piece of work reached its goal: the run, its step trail, the outcome rules, and why an outcome is never guessed.
- [Videos of agent runs](https://scalebrowser.net/docs/agents/videos.md): What the agent did, as a film: recording without the page noticing, rendering into a finished video, presets for how it looks, and a share link that can be revoked.
- [Verification challenges](https://scalebrowser.net/docs/agents/verification.md): What an agent can and cannot get through: the measured status per challenge type, the four measuring tools that make it possible, and why there is no captcha-solving service in this product.
## Documentation — Build with the API
- [REST API](https://scalebrowser.net/docs/rest.md): The Scalebrowser daemon's native REST API: authentication, the profile, group and proxy endpoints, events, and the error codes a client has to handle.
- [Events](https://scalebrowser.net/docs/events.md): The daemon's live stream over SSE or WebSocket: the 23 event types, why every frame is numbered, and how a reader notices it fell behind.
- [Errors](https://scalebrowser.net/docs/errors.md): Every failure a client has to handle: the numeric REST codes with their HTTP status and remedy, and the MCP tool faults with the phase, effect and retryable fields that say whether an action landed.
- [SDKs](https://scalebrowser.net/docs/sdks.md): The Python and Node clients for the Scalebrowser daemon: a typed REST client plus a direct-CDP driver, in the two languages the daemon ships clients for.
- [CDP endpoint, session and page attach](https://scalebrowser.net/docs/cdp.md): Drive a browser over the Chrome DevTools Protocol: get the WebSocket URL, attach to a page with Target.getTargets and Target.attachToTarget, or use the SDKs.
- [AdsPower adapter](https://scalebrowser.net/docs/adspower.md): The AdsPower-compatible local API: how to switch it on, which calls it answers, and what an existing AdsPower script has to change.
## Documentation — Profiles & fleet
- [Profiles & personas](https://scalebrowser.net/docs/profiles.md): What a profile is made of: the fields you set, the identity drawn from its seed, which values are taken from your machine rather than invented, and what may be changed after creation.
- [Groups, presets & bulk](https://scalebrowser.net/docs/fleet.md): Turning one profile into fifty: groups as labels, presets as stored templates, the bulk endpoints and their partial-failure shape, and how an agent leases a whole fleet at once.
- [Proxies & exits](https://scalebrowser.net/docs/proxies.md): Store a proxy, check it, and understand the exit rule: how one bought gateway becomes many stable addresses, why an address belongs to one profile, and what the guard does while a browser runs.
- [Extensions](https://scalebrowser.net/docs/extensions.md): Bring your own Chrome extensions: what the daemon accepts and refuses at upload, how a package reaches a profile, why every profile gets its own copy, and the three ways this quietly does nothing.
- [Profile sync](https://scalebrowser.net/docs/sync.md): Move a profile between your machines through the control plane, encrypted with a key the server never sees: what travels, what deliberately does not, and how ownership works.
- [The management app](https://scalebrowser.net/docs/ui.md): The interface the daemon serves: the seven screens, what each one is for, and the settings that exist nowhere else because they belong to this machine rather than to your account.
## Documentation — Identity & secrets
- [Secrets](https://scalebrowser.net/docs/secrets.md): How an agent uses a password or a token without ever reading it: what the daemon catches, what it replaces, where a value may be typed, and how to reach one from a command line.
- [Credentials & logins](https://scalebrowser.net/docs/credentials.md): Store a login against a profile so an agent can sign in without ever holding the password: one account per service, two-factor codes included, and the vault password that guards reading one back.
- [Cookies & sessions](https://scalebrowser.net/docs/sessions.md): Being signed in, and staying that way: what an agent may see of a cookie jar, why a value never reaches it, and how a whole session moves between profiles as an encrypted bundle.
- [Passkeys](https://scalebrowser.net/docs/passkeys.md): Signing in without a password: where a profile's passkeys live, why they survive a browser that dies badly, why nothing is ever silently deleted, and the two tools an agent gets.
- [Email inboxes](https://scalebrowser.net/docs/inboxes.md): Where a profile's confirmation codes arrive: bind an address per profile over IMAP or your own command, and let an agent read the code without opening a mailbox in the browser.
## Documentation — How profiles hold up
- [Coherence & proxies](https://scalebrowser.net/docs/coherence.md): What the daemon checks before a profile is allowed to launch: timezone and locale against the proxy exit, the geo modes, and how proxy credentials are handled.
- [Human input](https://scalebrowser.net/docs/behaviour.md): How pointer paths, typing rhythm and press-and-hold are produced from measured human distributions, and what an agent can and cannot control about them.
- [The engine](https://scalebrowser.net/docs/engine.md): The signed Chromium build profiles run in: what is verified before it may launch, the local registry you drive from the command line, delta updates, and the two things it deliberately does not carry.
- [Test your setup](https://scalebrowser.net/docs/verify.md): Four ways to measure what a page really sees: the account-free check pages, the built-in detector audit against a running profile, the proxy check, and the metrics endpoint.
## Documentation — Run the daemon
- [Configuration](https://scalebrowser.net/docs/ops/configuration.md): Every setting the daemon reads: the four layers and which wins, the TOML blocks with their defaults, and the environment variables that override them.
- [CLI reference](https://scalebrowser.net/docs/ops/cli.md): Everything the daemon binary does from a command line: the flags that override configuration, and the subcommands for the engine registry, sync and the Windows service.
- [Monitoring & metrics](https://scalebrowser.net/docs/ops/monitoring.md): What to watch on a running daemon: the health probes, the metrics endpoint and its probe states, the opt-in Prometheus surface, and the event stream as the live signal.
- [Troubleshooting](https://scalebrowser.net/docs/ops/troubleshooting.md): The failures that look like something else: a launch that is refused, a client that cannot connect, an agent that says a tool does not exist, and a profile that behaves differently from yesterday.
## Documentation — Your account
- [Plans & limits](https://scalebrowser.net/docs/account/plans.md): What a subscription buys: browsers running at the same time and machines, counted across your whole account, plus what happens when a payment fails or a plan ends.
- [Machines & sign-in](https://scalebrowser.net/docs/account/machines.md): Every install belongs to your account: how a machine is paired, why one profile may only run on one machine at a time, how a takeover works, and what happens when a machine is removed.
## Documentation — Releases
- [Changelog](https://scalebrowser.net/docs/changelog.md): Released versions of the Scalebrowser desktop client and the signed engine, newest first.
## Blog
- [Challenges](https://scalebrowser.net/blog/category/challenges.md): Captchas and challenge pages an AI agent meets on real sites: which ones it solved, how many runs it took and where it failed.
- [Detection](https://scalebrowser.net/blog/category/detection.md): How websites tell an automated browser from a person: the TLS handshake, the fingerprint, mouse movement and the test sites that read them.
- [Infrastructure](https://scalebrowser.net/blog/category/infrastructure.md): What an AI agent needs from the browser it drives: where the browser runs, how the model talks to it over MCP and what each step costs in tokens.
- [Measurements](https://scalebrowser.net/blog/category/measurements.md): What we measured about browsers, detectors and the challenges agents run into, with the dates, the run counts and the results that went against us.
- [Proxies](https://scalebrowser.net/blog/category/proxies.md): How a proxy exit decides what a site thinks of an AI agent's browser: address class, reputation, the exit's TCP stack and the timezone and language behind it.
- [Security](https://scalebrowser.net/blog/category/security.md): What an AI agent in a signed-in browser can reach: prompt injection, secrets, session cookies, the MCP server and the local ports beside the browser.
- [Sign in](https://scalebrowser.net/blog/category/sign-in.md): How an AI agent signs in and stays signed in: stored passwords, second factors, emailed codes, passkeys and sessions that survive the end of a run.
- [Stealth tools](https://scalebrowser.net/blog/category/stealth-tools.md): The free tools people use to hide browser automation, reviewed one by one: what each one patches, what it leaves open and what we measured.
- [Use cases](https://scalebrowser.net/blog/category/use-cases.md): What an AI agent does on LinkedIn, Reddit, X, Instagram, job portals and tools with no API when it works in its own signed-in browser.
- [Videos](https://scalebrowser.net/blog/category/videos.md): How an agent's browser run becomes a finished video: recording the page cannot notice, camera and cursor, voice, subtitles, GIFs and the label for an AI voice.
- [navigator.webdriver and CDP detection: 9 checks Reddit runs](https://scalebrowser.net/blog/webdriver-cdp-detection.md): What Reddit's 9 platform health checks read, run verbatim on 8 September 2026 against a person, a bare CDP driver and our browser, and why webdriver is 1 of 17.
- [Facebook MCP: an AI agent for your groups, pages and DMs](https://scalebrowser.net/blog/facebook-mcp.md): A Facebook MCP server on Meta's Graph API cannot reach groups since 22 April 2024. What a browser signed in to your profile reads, and what 4 signed-out runs showed.
- [Slider captcha: measure the gap instead of guessing](https://scalebrowser.net/blog/slider-captcha.md): How an AI agent solves a slider captcha by measuring the gap first: GeeTest v3 at 112 pixels in one drag, GeeTest v4 in 2 of 2 runs, the rotation variant not at all.
- [Playwright storage state: what a persistent profile keeps](https://scalebrowser.net/blog/session-persistence.md): What Playwright's storage state saves in 2026, the 4 things a restored state still lacks next to a persistent profile, and how a session moves between machines.
- [Permission prompts in automation: 14 kinds a browser draws](https://scalebrowser.net/blog/permission-prompts.md): Why automation cannot see Chrome's permission prompts, which 14 kinds a browser draws beside the page, and which 3 an AI agent should never answer.
- [Font fingerprinting: 130 of 187 fonts drawn but not listed](https://scalebrowser.net/blog/font-fingerprinting.md): Font fingerprinting compares the fonts a browser lists with the fonts it draws. Our persona list left 130 of 187 families unlisted; voices follow the same rule.
- [AI job applications: Workday wants an account by step 3](https://scalebrowser.net/blog/ai-job-applications.md): What an AI agent meets when it applies to jobs: we opened real postings on Greenhouse, Lever, Workday, LinkedIn, Indeed and Upwork and counted every step.
- [Directory submission: 100 sent, 32 live, 9 followed links](https://scalebrowser.net/blog/directory-submission.md): We collected 1,166 directories and lists, dropped 597, and let an AI agent submit 100. Which entries went live, which links count and what it cost.
- [Temporary email for verification: 1 address per profile](https://scalebrowser.net/blog/email-verification-codes.md): Why temporary email fails for agent sign-ups, and how a catch-all domain gives every profile 1 address of its own, read outside the browser within 60 seconds.
- [Facebook Marketplace API doesn't exist: find deals anyway](https://scalebrowser.net/blog/facebook-marketplace-api.md): Facebook Marketplace has no public API for buyers or sellers. What an AI agent does instead: search, watch for deals, list items, and what a visitor sees signed out.
- [Instagram MCP: post and reply with an AI agent, no API](https://scalebrowser.net/blog/instagram-mcp.md): What an Instagram MCP server can do: the official API covers professional accounts only, 100 posts in 24 hours, and a signed-in browser covers any account.
- [LinkedIn MCP: let an AI agent work LinkedIn without the API](https://scalebrowser.net/blog/linkedin-mcp.md): How an AI agent works LinkedIn through an MCP server: what the official API allows, what a browser signed in as you reaches, and what we measured.
- [Market research AI misses Reddit and X: 0 of 7 links read](https://scalebrowser.net/blog/market-research-ai.md): Why AI deep research misses Reddit, X and LinkedIn, and what an agent in a browser signed in as you reads instead: 4 of 4 Reddit threads in our test.
- [Midjourney API: why every one you find is unofficial](https://scalebrowser.net/blog/midjourney-api.md): Midjourney grants an API only in rare cases. What the unofficial APIs are, how an AI agent works the Midjourney website, and what we measured on 11 October 2026.
- [Reddit MCP: let an AI agent read and post on Reddit](https://scalebrowser.net/blog/reddit-mcp.md): Three ways an AI agent reads Reddit through MCP, what the Data API costs, and what a signed-in browser read in our run of 10 threads on 11 October 2026.
- [Reddit monitoring: 125 posts, 7 matches, 1