The browser for AI agents
Agent frameworks drive Chrome over the DevTools Protocol, and they inherit whatever the browser underneath looks like. Give them Clearcote instead of a stock Chromium and every page the agent visits sees one consistent identity, set in the engine rather than patched in by the framework.
Free for one browser with GitHub. The open build needs no account at all.
Hand your framework a CDP URL
from clearcote import serve
from browser_use import Agent, Browser
srv = serve(fingerprint="agent-1") # a local Clearcote with a CDP URL
agent = Agent(task="Find the cheapest flight to Lisbon next Friday",
llm=llm, browser=Browser(cdp_url=srv.cdp_url))
await agent.run()
srv.close()Highlights
Any CDP framework
browser-use, Crawl4AI, Stagehand, Patchright and plain Playwright attach to a Clearcote CDP URL through their usual setting.
Wherever the agent runs
Locally with serve(), in a container from the official image, or on our servers as a hosted browser. It's the same kind of CDP URL in all three.
MCP for chat clients
Claude Desktop, Cursor and Cline get about twenty browser tools through the Clearcote MCP server.
An agent inside the browser
The opt-in in-browser agent reads the live page, asks your model what to do, and acts through Chrome's Actor framework with trusted input.
Human typing cadence
By default the agent types key by key with per-key timing, rather than pasting text in one event with no keystrokes at all.
Docs your coding agent can read
llms.txt and the one-file llms-full.txt bundle give Claude, Codex or Cursor the full documentation in one paste.
Two ways to put a model in charge
Most agent frameworks leave the browser to you: they ask for a CDP URL, or launch a stock Chromium. The framework decides what to click; the browser decides what the site sees. Clearcote takes the second half, with fingerprint, locale and TLS set in the engine and a seed that keeps an identity stable from one run to the next.
The in-browser agent is the other shape. It's off by default and switches on only when you give it a model key or endpoint: OpenRouter or any OpenAI-compatible API, including one on your own machine. Password fields are redacted before anything is sent to the model. It needs a persistent profile, and it also ships as the clearcote-agent command-line tool, with a one-shot mode and an interactive REPL.
Keep the agent's own footprint small. Broad CDP listeners, init scripts and intercepting every request are the automation's fingerprint, not the browser's. Derive the seed from the task or account id, so the same actor always gets the same browser and a failed run can be replayed.
What people use it for
Research agents
Agents that read, compare and summarise pages that only render with JavaScript.
Agents that act on accounts
A persistent profile per account keeps the agent signed in, on the same device each time.
Model evaluations
Run the same task on the same identity with different models, so the browser isn't a variable.
Coding agents
Paste llms-full.txt into your coding assistant and let it write the integration.
Clearcote is built for privacy, testing, research and lawful automation. You're responsible for how you use it and for following the terms of the sites you visit.
Which plan includes it
Everything on this page is in every tier. The in-browser agent uses your own model key, and hosted browsers are billed per GB.
Compare plansFAQ
Does browser-use work with Clearcote?
Yes. Start Clearcote with serve(), the Docker image or a hosted session, and pass the CDP URL to browser-use's Browser(cdp_url=...). Crawl4AI's cdp_url and Stagehand's localBrowser.connect work the same way.
Which models does the in-browser agent support?
Any OpenAI-compatible endpoint, including OpenRouter and a local server. You choose the model with agent_model, and it supports both tool-calling and JSON modes.
Where does page content go?
With a CDP framework, wherever your framework sends it. With the in-browser agent, only to the model endpoint you configure, with password fields redacted first. The agent stays off unless you give it a key or endpoint.
Should I use the MCP server or a CDP framework?
Use the MCP server when a chat client (Claude Desktop, Cursor, Cline) should drive the browser. Use a CDP framework when your own code runs the agent loop.
Go deeper in the docs
Related features
Give Claude Desktop, Cursor or Cline a Clearcote browser through the Model Context Protocol: about twenty tools, one coherent identity underneath.
Start a Clearcote browser in the cloud with one API call and connect Playwright or Puppeteer over CDP. Residential IP included, billed per GB of traffic.
Run Clearcote as a standing CDP endpoint from the official Docker image, serve() or a CLI, and attach any framework with no code change.
One option turns Playwright's clicks, typing, drags and scrolls into trusted native input on curved paths, with human timing.
Related reading
Try Clearcote
Open source, a drop-in for Playwright & Puppeteer, and coherent down to the TLS handshake.
Free for one browser with GitHub. No card.