A browser MCP server with a real identity
Add Clearcote to your MCP client's config and the model gets a browser it can read, click and type in through twenty tools. The identity is set once, in environment variables, so the tool list stays short and the fingerprint stays consistent while the agent works.
Runs the open build with no key. Add a free GitHub key for the latest build.
Add it to your client's config
{
"mcpServers": {
"clearcote": {
"command": "npx",
"args": ["-y", "clearcote-mcp"],
"env": {
"CLEARCOTE_FINGERPRINT": "acct-1",
"CLEARCOTE_TIMEZONE": "America/New_York",
"CLEARCOTE_ACCEPT_LANGUAGE": "en-US"
}
}
}
}Highlights
Twenty tools
navigate, read_page, page_elements, click, fill_field and screenshot_page, plus waiting, key presses, tabs, cookies, PDFs and saved sessions.
Identity outside the prompt
Seed, platform, brand, language and timezone are CLEARCOTE_* environment variables. The model never has to reason about fingerprints.
The clients you already use
Claude Desktop, Cursor and Cline share the same config shape. Install it from PyPI, then run it directly or through the npx launcher.
No automation switch
The server starts the browser without Playwright's automation switch, so navigator.webdriver stays false, and the engine keeps the usual CDP side effects away from the page.
A way out to raw CDP
get_cdp_endpoint returns the browser's CDP URL, so a script can pick up the same session the agent was working in.
The latest build, one variable
Add CLEARCOTE_LICENSE_KEY to run the latest licensed build instead of the open one.
How the MCP server works
The server starts one Clearcote browser and keeps it while the server runs. Each tool call acts on that shared browser: the model reads the page as text or markdown, lists the visible links, buttons and inputs with a CSS selector for each where one exists, and acts on them with those selectors, so it rarely has to write its own.
The identity is fixed when the server starts. The persona basics (seed, platform, brand, language, timezone, proxy and geoip) are CLEARCOTE_* variables, so one server entry is one identity, and no tool can change it halfway through a task. For the rest of the fingerprint flags, use the SDK directly.
There are two ways to put a model in charge of Clearcote. This server keeps the model outside the browser, calling tools. The in-browser agent runs inside the browser process instead, and talks to an OpenAI-compatible endpoint you choose.
The most-used tools
| Tool | What it does |
|---|---|
read_page | Read the live page as Markdown (default) or its visible text, with the HTTP status |
page_elements | List up to 200 visible links, buttons and inputs, each with a CSS selector where one exists |
click | Click an element |
fill_field | Type into an input or textarea |
screenshot_page | Full-page PNG screenshot, saved to the server's write folder |
navigate | Load a URL in the current tab and return the final URL and title |
save_profile | Save cookies and storage to a named file, to restore the cookies later |
get_cdp_endpoint | Return the CDP URL for a raw client |
Plus get_page_html, press_key, wait_for, evaluate_js, current_page, get_cookies, list_tabs, new_tab, close_tab, load_profile, get_egress_info and save_page_pdf (headless only).
What people use it for
Research with a real browser
Let the model read pages that need JavaScript to render, instead of a text-only fetch.
Routine web chores
Sign-ups, settings pages and dashboards you'd otherwise click through by hand.
Debugging with an assistant
Ask Cursor to reproduce a bug on your staging site and screenshot each step.
Prototyping an automation
Walk through a flow with the model, then take the CDP endpoint and script it.
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
The MCP server is free in every tier. It runs the open build unless it finds a licence key (CLEARCOTE_LICENSE_KEY, or one saved by clearcote login); a free GitHub key runs the latest build, one browser at a time.
FAQ
Which MCP clients does it work with?
Clients that launch MCP servers from a config file. Claude Desktop is shown above, and Cursor and Cline use the same shape.
Does the model control the fingerprint?
No. The identity comes from environment variables when the server starts, and no tool changes it. That keeps the persona consistent for the whole session and keeps the tool list short.
Do I need Node or Python?
Python 3.10 or newer, either way: the npm package is a launcher for the same Python server. Install it with pip, as in the install block above — clearcote-mcp depends on the mcp library itself and runs on 1.x and 2.x, so there is nothing to pin — then use clearcote-mcp as the command, or let npx -y clearcote-mcp find or install it for you (with uvx, pipx or pip).
What's the difference from the in-browser agent?
The MCP server lets an outside model (the one in your chat client) drive the browser through tools. The in-browser agent runs inside the browser and calls a model endpoint you configure. Both drive the same engine.
Can a script take over the agent's session?
Yes. get_cdp_endpoint returns the CDP URL of the browser the agent is using, and Playwright or Puppeteer can attach to it.
Can the agent reach my local network?
Not by default. Since clearcote-mcp 0.3.0, addresses on your machine, the local network and cloud metadata endpoints are refused for every request the browser makes, not only for the URL a tool is given. A page script's WebSocket and a name whose address changes after the check are not covered, so it is a guard against mistakes rather than a sandbox. CLEARCOTE_ALLOW_PRIVATE_EGRESS=1 turns it off for local development. Text the tools return from a page is marked as untrusted data, so the model can tell it from your instructions.
Go deeper in the docs
Related features
Give browser-use, Stagehand, Crawl4AI or your own agent a Chromium with engine-level identity, or run Clearcote's opt-in in-browser agent with your own model.
Run Clearcote as a standing CDP endpoint from the official Docker image, serve() or a CLI, and attach any framework with no code change.
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.
Canvas, WebGL, WebGPU, audio, fonts, screen and hardware derived in the C++ engine from one seed, with locale and timezone set to match, so every surface agrees with every other.
Related reading
Try Clearcote
A drop-in for Playwright & Puppeteer, coherent down to the TLS handshake, with an open-source build to start from.
Free for one browser with GitHub. No card.