navigate
Navigate the current tab to a URL. Returns the resolved url, title, http_status and page_state (see read_page).
url必填
io.github.clearcotelabs由 GitHub 账号 clearcotelabs 发布v0.3.1更新于 Nov 3, 2026
Drive the Clearcote Chromium browser from any MCP client: read pages, click, fill, screenshot.
让任意 MCP 客户端驱动隐身 Chromium 浏览器:导航、读取页面、点击、填表、截图,并可通过 CDP 共享同一浏览器。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
参照 仓库 中的启动说明。
Drive the open-source Clearcote stealth Chromium from any MCP client — Claude Desktop, Cursor,
Cline, Continue, or your own agent. One shared, coherent stealth browser; ~20 tools to navigate,
read, extract, click, fill, screenshot, and persist sessions — plus get_cdp_endpoint, which hands
the same stealth browser to any Playwright / Puppeteer / browser-use / Crawl4AI client.
The fingerprint is corrected in Chromium's C++, so you do not add puppeteer-stealth /
undetected-chromedriver / any JS patching — those self-reveal and undo it. Driving over CDP adds
no automation flags, so navigator.webdriver stays false and the persona is intact end to end.
Node (no install):
The launcher runs the Python server with uvx if you have uv, else with pipx, else
installs it with pip (a Python whose pip install is refused outside a virtual environment, as on Debian 12+,
Ubuntu 23.04+ and Homebrew, needs uv or pipx; the launcher says so).
Python:
Both auto-download + SHA-256-verify the right Clearcote binary per OS on first use (native Windows x64 + Linux x64).
Claude Desktop / Cursor / Cline mcpServers config:
The persona lives in the environment, so the tool surface stays clean:
Hardening knobs: CLEARCOTE_MCP_TOOL_TIMEOUT (s), CLEARCOTE_MCP_RUN_TIMEOUT (s, run_task; default 900), CLEARCOTE_MCP_WRITE_DIR (sandbox for file
writes), CLEARCOTE_MCP_ALLOW_ANY_PATH=1, CLEARCOTE_ALLOW_PRIVATE_EGRESS=1 (allow localhost /
private targets; still http/https only), CLEARCOTE_MCP_PREWARM=0, CLEARCOTE_SERVE_PORT, CLEARCOTE_MCP_INLINE_IMAGE_MAX
(bytes; default 200000: the largest screenshot also returned inline).
Read · read_page (Markdown by default; format="text" or "both") · get_page_html · page_elements (interactive elements +
selectors) · evaluate_js · wait_for · current_page · get_cookies · list_tabs
Act · navigate · click (selector or visible text) · fill_field (selector/label/placeholder/name)
· press_key · new_tab · close_tab
Capture · screenshot_page (saved under the sandbox dir; up to 200 KB also returned as an image) · save_page_pdf
Session · save_profile / load_profile (cookies + storage)
Stealth / infra · get_egress_info (public IP + active persona) · get_cdp_endpoint (attach any
other CDP client to the same stealth browser)
navigate and read_page also return http_status (the shown document's HTTP status; null when there is none,
as for a local file or about:blank, or the browser has none for it) and page_state: blocked (HTTP 401, 403,
429 or 503), empty (under 20 characters of visible text: still loading, or nothing to read) or ok. Output
formats changed in 0.3.0: see CHANGELOG.md.
Cloud · run_task(task, url?, schema_json?): a whole task run by the hosted agent (Clearcote
Jet) on a cloud browser, returning its JSON result (run_status, result.output, cost_eur). Listed
only when CLEARCOTE_API_KEY is set.
Set CLEARCOTE_CLOUD=1 and CLEARCOTE_API_KEY and the shared browser runs on Clearcote's servers
instead of this machine: nothing to download, a residential IP included. Every tool works the same,
and the persona variables above still apply (CLEARCOTE_BINARY and CLEARCOTE_SERVE_PORT are
local-only and ignored). The one difference: a cloud session's CDP URL is single-use and the server
holds it, so get_cdp_endpoint has no endpoint to hand out; start your own hosted browser with
clearcote.launch(cloud=True) instead. Needs clearcote 0.34 or newer.
http/https urls, read the way the browser reads them (file:,
view-source:, chrome: and every other scheme are always refused); this machine, the local network and cloud
metadata endpoints are refused, for the url a tool gets and for every request the browser then makes (redirects,
images, frames, script requests, popups), unless you opt in. Checking every request
turns the browser's HTTP cache off. Not covered: WebSocket connections a page script opens, and a host name whose
address changes between the check and the browser's own lookup (DNS rebinding).<field>_truncated flag.<untrusted_page_content>), and nothing in it can pass for a fence tag.playwright-artifacts-* folder in the
temp directory.If you don't need the tools, run the browser as a standing CDP endpoint and attach your existing code:
See USAGE.md for per-client examples. Part of clearcote-browser (BSD-3).
来源:mcp/README.md,提交 90c4ae3
Navigate the current tab to a URL. Returns the resolved url, title, http_status and page_state (see read_page).
url必填Read the current page (or navigate to `url` first) as Markdown (default), its visible "text", or "both". Also returns http_status (the shown document's; null if unknown) and page_state: "blocked" (HTTP 401, 403, 429 or 503), "empty" (under 20 characters of visible text) or "ok". Long fields are cut; markdown_truncated / text_truncated say so.
urlformatGet the HTML of the current page (or navigate to `url` first), inside the untrusted-content fence.
urlList the interactive elements (links, buttons, inputs) on the page, one JSON object per line, each with a selector.
urlClick an element by CSS selector or by visible text (navigate to `url` first if given).
urltarget必填Fill an input matched by selector, label, placeholder, or name.
urlfield必填value必填Press a key on the current page, e.g. 'Enter', 'Tab', 'Control+A'.
key必填Evaluate a JavaScript expression in the page and return its (JSON-serializable) result, as JSON text inside the untrusted-content fence.
urlexpression必填Wait until a selector appears (up to timeout_ms).
urlselector必填timeout_msReturn the current tab's url + title.
无需输入参数。
Screenshot the current page (or navigate to `url` first), saved under the sandbox dir. Up to 200 KB it is also returned as an image; a bigger one only as its file path (inline: false).
urlpathSave the current page as a PDF (headless only). Saved under the sandbox dir.
urlpathGet cookies for the current context (optionally filtered to `url`). Each cookie's name, value, domain and path are the site's, each between untrusted-content tags on one line.
urlList open tabs (index, url, title, which is current).
无需输入参数。
Open a new tab (optionally navigate it) and make it current.
urlClose the tab at `index` (from list_tabs).
index必填Save cookies + storage state to a named profile under the sandbox dir.
nameRestore cookies + storage from a named profile (see save_profile).
nameReport the browser's public egress IP (through any configured proxy) + the active persona.
无需输入参数。
Return the stealth browser's raw CDP endpoint so ANY other client (Playwright / Puppeteer / browser-use / Crawl4AI / Stagehand) can attach to the SAME browser with `connect_over_cdp`, keeping the stealth persona. This is the whole point of the drop-in model.
无需输入参数。
已满足适用检查项的 90%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
npx clearcote-mcppip install clearcote-mcpclearcote-mcp # stdio server{ "mcpServers": { "clearcote": { "command": "npx", "args": ["-y", "clearcote-mcp"], "env": { "CLEARCOTE_FINGERPRINT": "acct-1", "CLEARCOTE_PLATFORM": "windows", "CLEARCOTE_PROXY": "http://user:pass@host:port", "CLEARCOTE_GEOIP": "1" } } }}{ "mcpServers": { "clearcote": { "command": "npx", "args": ["-y", "clearcote-mcp"], "env": { "CLEARCOTE_CLOUD": "1", "CLEARCOTE_API_KEY": "cc_live_..." } } }}clearcote-serve --port 9222 --fingerprint acct-1 --platform windows# → prints http://127.0.0.1:9222 ; then: connect_over_cdp / puppeteer.connect({browserURL})