Browser Use
Browser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.
作者による説明(英語の原文)
Playwright-compatible MCP server on CloakBrowser stealth Chromium: 86 tools, humanized input.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
CLOAKBROWSER_LICENSE_KEY「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"cloak-browser": {
"command": "npx",
"args": [
"-y",
"@devinwangd/cloak-browser-mcp"
],
"env": {
"CLOAKBROWSER_LICENSE_KEY": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add cloak-browser --env CLOAKBROWSER_LICENSE_KEY=your-value -- npx -y @devinwangd/cloak-browser-mcp動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"cloak-browser": {
"command": "npx",
"args": [
"-y",
"@devinwangd/cloak-browser-mcp"
],
"env": {
"CLOAKBROWSER_LICENSE_KEY": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"cloak-browser": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@devinwangd/cloak-browser-mcp"
],
"env": {
"CLOAKBROWSER_LICENSE_KEY": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント devinwang で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:CLOAKBROWSER_LICENSE_KEY
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.2.0)がレジストリに届いたのは17 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Browser Use, Chrome DevTools MCP, MCP Server Browser
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Browser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.
MCP server for Chrome DevTools
MCP server for browser use access
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
A Model Context Protocol (MCP) server backed by CloakHQ/CloakBrowser — a source-patched Chromium that passes Cloudflare Turnstile, reCAPTCHA v3, FingerprintJS, BrowserScan, and 30+ other bot detection services without runtime JS injection.
Drop-in replacement for @playwright/mcp with 86 tools: every Playwright MCP tool except browser_annotate (see Not implemented), plus a Cloak-exclusive stealth/profile/audit layer.
Works with Claude Code, Cursor, VS Code, Codex, Gemini CLI, Windsurf, or any MCP client.
--caps)@playwright/mcp | cloak-browser-mcp | |
|---|---|---|
| Chromium | Stock | Source-patched (58 C++ patches) |
navigator.webdriver | true (leaks) | absent |
| Cloudflare Turnstile | Fails | Auto-pass |
| reCAPTCHA v3 score | ~0.1 | ~0.9 |
| Humanized mouse / keyboard | None | Bézier curves, typo correction |
| Persistent profiles | Manual | First-class CLI flag + management tools |
| GeoIP-aware emulation | None | Auto timezone/locale from proxy exit IP |
| Stealth audit / detection probe | None | Built-in cloak_stealth_audit + cloak_detection_test |
When you don't need stealth, @playwright/mcp is faster and lighter — use that. When the site has any bot detection (Cloudflare, DataDome, PerimeterX, FingerprintJS) — use this.
The wrapper installs from npm; the CloakBrowser Chromium binary (~200 MB) downloads on first use into ~/.cloakbrowser/.
Requires Node.js ^20.19.0 || >=22.12.0 (the minimum CloakBrowser itself needs).
The binary comes in two tiers. Without a key you get the free binary. Set CLOAKBROWSER_LICENSE_KEY in the MCP server's environment to use a CloakBrowser Pro license; CLOAKBROWSER_RELEASE_CHANNEL (stable or preview) and CLOAKBROWSER_VERSION are read by the CloakBrowser library too. See cloakbrowser.dev for what each tier includes. cloak_binary_info reports the active tier.
npm install -g @devinwangd/cloak-browser-mcp
Or run on demand without installing:
npx @devinwangd/cloak-browser-mcp --caps all
After install, the binary on PATH is cloak-browser-mcp (unscoped) — that's what you reference in MCP client configs below.
~/.claude.json or project .mcp.json){
"mcpServers": { "cloak-browser": { "command": "cloak-browser-mcp", "args": ["--caps", "all"] } } }
.cursor/mcp.json or .vscode/mcp.json){
"servers": { "cloak-browser": { "command": "cloak-browser-mcp", "args": ["--caps", "all"] } } }
{
"mcpServers": { "cloak-browser": { "command": "cloak-browser-mcp", "args": [ "--caps", "all", "--profile-dir", "/Users/me/.cloak-browser-mcp/profiles/work", "--proxy", "http://user:pass@proxy.example.com:8080", "--timezone", "Europe/London", "--locale", "en-GB", "--geoip", "--humanize", "--viewport", "1920x1080", "--allowed-domains", "*.example.com,*.cloudflare.com" ] } } }
In Claude Code:
"Open example.com, click the search box, search for 'hello', take a screenshot."
The agent will call browser_navigate → browser_snapshot → browser_click → browser_type → browser_take_screenshot.
--caps)| Cap | Tools | Use when |
|---|---|---|
| (always) | navigation, interaction, page state | Standard browsing |
network | request inspection, route mocking, offline simulation | Debugging APIs, testing failure modes |
storage | cookies, localStorage, sessionStorage, storage state export/import | Auth state persistence, session replay |
vision | pixel-coordinate mouse | Bypassing accessibility tree for canvas / SVG apps |
pdf | browser_pdf_save | Snapshotting pages as PDF |
testing | verify_* + generate_locator | Codegen for Playwright tests |
devtools | highlight, tracing, video, resume | Debugging agent decisions |
config | get_config, close, run_code_unsafe | Introspection + (with --enable-unsafe-eval) arbitrary JS |
humanize | cloak_humanize_set | Tuning humanized input parameters |
--caps all enables everything (except run_code_unsafe, which additionally requires --enable-unsafe-eval).
| Tool | Purpose |
|---|---|
cloak_set_fingerprint | Override canvas seed, GPU vendor/renderer, screen size, hardware concurrency, device memory, UA brand, platform, storage quota |
cloak_set_timezone | Live timezone via CDP (no relaunch) |
cloak_set_locale | Override navigator.language and Accept-Language |
cloak_set_geolocation | Set coords, or auto-resolve from proxy exit IP |
cloak_set_proxy | Switch proxy mid-session |
cloak_detection_test | Load a known probe (CreepJS, FingerprintJS, BrowserScan, SannySoft, Cloudflare Turnstile) and dump results |
cloak_stealth_audit | Programmatic check: navigator.webdriver, plugin count, WebGL vendor, languages, UA, chrome.runtime, canvas hash, $cdc_* CDP signals |
cloak_request_signal_inspect | Capture per-request TLS / header signals for a single URL |
cloak_persistent_profile_create / list / delete | Manage ~/.cloak-browser-mcp/profiles/ |
cloak_binary_info / cloak_binary_update | Inspect / refresh the CloakBrowser Chromium binary |
| Flag | Value | Default | Notes |
|---|---|---|---|
--caps | all or any subset | (none) | Enables capability-gated tools |
--profile-dir | Absolute path | (ephemeral) | Persistent user-data dir |
--headless / --headed | (boolean) | headed (visible) | Pass --headless for batch/CI runs. |
--proxy | http(s)/socks5 with inline auth | none | |
--timezone | IANA tz | system | e.g. America/New_York |
--locale | BCP-47 | system | e.g. en-US |
--user-agent | string | (cloak default) | |
--viewport | e.g. 1920x1080 | 1280×720 | |
--geoip | boolean | off | Auto resolve geolocation from proxy IP |
--humanize | boolean | off | Enable Bézier mouse + typo-correcting keyboard |
--fingerprint-seed | int | random | Deterministic canvas/WebGL noise |
--allowed-domains | host patterns | (open) | Whitelist for browser_navigate |
--blocked-domains | host patterns | (none) | Blocklist for browser_navigate |
--enable-unsafe-eval | boolean | off | Required for browser_run_code_unsafe |
--upload-allow-dir | path | (none) | Restrict file-upload source paths |
--download-dir | path | (cwd) | Where downloaded files land |
--max-pages | int | 20 | Concurrent tab cap |
--self-test | boolean | off | Print the tool list and exit |
Tools are grouped by capability. The "always-on" sections are exposed regardless of --caps; capability-gated sections require the matching --caps entry.
| Tool | Required | Optional | Notes |
|---|---|---|---|
browser_navigate | url | waitUntil, timeoutMs | Subject to --allowed-domains / --blocked-domains. Returns a fresh [eN] snapshot. |
browser_navigate_back | — | — | History back in the active tab. |
browser_tabs | action (list/new/switch/close) | index, id, url | Manage tabs by id (t1,…) or 0-based index. |
| Tool | Required | Optional | Notes |
|---|---|---|---|
browser_click | target | element, doubleClick, button, modifiers | target is a eN ref or a Playwright selector. |
browser_type | target, text | element, submit, slowly | slowly:true triggers per-character typing; combine with --humanize. |
browser_hover | target | element | |
browser_drag | startTarget, endTarget | startElement, endElement | |
browser_drop | target | paths, data | File paths via setInputFiles; arbitrary MIME data via synthetic DataTransfer. |
browser_select_option | target, values | element | |
browser_press_key | key | — | Page-level key press (e.g. Control+A, ArrowDown). |
browser_handle_dialog | accept | promptText | Responds to the most recently captured dialog. |
browser_file_upload | paths | — | Paths constrained by --upload-allow-dir if set. |
browser_fill_form | fields | — | Each field has target + value (+ optional kind). |
browser_scroll | — | target, direction, amount | Element-scoped or page-level. |
| Tool | Required | Optional | Notes |
|---|---|---|---|
browser_snapshot | — | — | Accessibility tree with [eN] refs for interactable nodes. |
browser_find | text or regex | filename | Searches the snapshot instead of returning all of it. Each match is shown under its path from the root with a few lines of context, up to 20 matches. regex is case-sensitive unless written as /pattern/i. |
browser_emulate_media | — | colorScheme, reducedMotion, forcedColors, contrast, media | Omitted parameters are left unchanged; null clears an override back to the system setting. |
browser_take_screenshot | — | element, target, type, fullPage, quality, saveAs | Image is returned inline; optionally saved to disk. |
browser_console_messages | — | level, limit | Buffered console + pageerror. |
browser_wait_for | — | timeMs, text, textGone, selector, state, timeoutMs | |
browser_resize | width, height | — | |
browser_evaluate | function | element, target | Function source must be an arrow or function expression. |
| Tool | Required | Optional | Notes |
|---|---|---|---|
cloak_set_fingerprint | — | seed, gpuVendor, gpuRenderer, screenWidth, screenHeight, hardwareConcurrency, deviceMemoryGB, uaBrand, uaBrandVersion, platform, storageQuotaMB | Some flags only take effect on next launch — call browser_close then any tool to relaunch. |
cloak_set_timezone | timezone | — | Live via CDP. |
cloak_set_locale | locale | — | Sets navigator.language + Accept-Language header. |
cloak_set_geolocation | — | latitude, longitude, accuracy, fromProxyIp | fromProxyIp calls ipapi.co/json/ via current proxy. |
cloak_set_proxy | proxy | — | Recreates the context. |
cloak_detection_test | — | suite, customUrl | Suites: creepjs, fingerprintjs, browserscan, sannysoft, cloudflare-turnstile. |
cloak_stealth_audit | — | — | Programmatic audit. |
cloak_request_signal_inspect | url | — | Returns TLS details, response status, request headers, response headers. |
cloak_persistent_profile_create | name | — | Creates ~/.cloak-browser-mcp/profiles/ . |
cloak_persistent_profile_list | — | — | |
cloak_persistent_profile_delete | name, confirm=true | — | |
cloak_binary_info | — | — | |
cloak_binary_update | — | — |
`--caps network` — browser_network_requests, browser_network_request, browser_route, browser_route_list, browser_unroute, `browse
冒頭だけを表示しています。続きはリポジトリで読めます