Wbudowany browser w Cursorze jest wygodny do sprawdzania własnej aplikacji. Umie wejść na stronę, kliknąć, wpisać tekst i zrobić screenshot. Problem zaczyna się wtedy, gdy agent ma działać na prawdziwym webie: utrzymać login, przejść przez Cloudflare albo wykonać workflow na stronie, która sprawdza identity przeglądarki.
TL;DR: połącz Cursor z Clawbrowser przez CDP (Chrome DevTools Protocol). Agent dostaje realny Chromium z trwałymi profilami, zarządzanym fingerprintem i proxy routingiem. Instalujesz runtime, uruchamiasz profil i podajesz Cursorowi lokalny endpoint.
Dlaczego wbudowana przeglądarka Cursor nie wystarcza
Cursor ma browser tool oparty o sandboxed webview uruchomiony jako MCP server. Do localhostu wystarcza: navigate, click, type, scroll, screenshot, console output i network traffic.
Poza lokalnym developmentem wychodzą ograniczenia:
| Ograniczenie | Co się dzieje |
|---|---|
| Sandboxed webview | To nie jest realna instancja Chromium. Strony widzą brakujące APIs i nietypowe window properties. |
| Brak trwałych sesji | Cookies i localStorage są przypięte do workspace i nie zawsze przeżywają kolejne uruchomienia. |
| Brak zarządzania fingerprintem | Ten sam canvas hash, WebGL renderer i navigator properties wracają w każdym runie. |
| Brak proxy support | Cały ruch idzie przez domyślne IP maszyny. Datacenter IP szybko dostają flagę. |
| Problemy z niezawodnością | Cursor 2.3.18+ miał regresje w clickach, scrollu i znajdowaniu elementów. |
To nie są edge case'y. Jeśli agent dotyka Cloudflare, DataDome, PerimeterX albo innego anti-bota, webview startuje z bardzo słabą pozycją.
Co daje CDP
CDP (Chrome DevTools Protocol) to standardowy interfejs do sterowania Chromium z kodu. Playwright używa connectOverCDP, Puppeteer używa puppeteer.connect, a surowe klienty CDP otwierają WebSocket do portu debugowania.
Po podłączeniu Cursora do zewnętrznego browsera przez CDP dostajesz:
- Realną przeglądarkę z pełnym silnikiem renderowania, rozszerzeniami i standardowymi API
- Trwałe sesje z cookies i login state między kolejnymi runami agenta
- Pełną kontrolę strony tym samym protokołem, którego używają Playwright i Puppeteer
- Anti-detection, jeśli browser pilnuje spójności fingerprintu i proxy
Połączenie to zwykły WebSocket URL. Każde narzędzie mówiące CDP może podłączyć się do browsera z takim endpointem. Clawbrowser wystawia endpoint dla każdego profilu.
Łączenie Cursor z Clawbrowser: krok po kroku
Wymagania
- macOS (Apple Silicon), Linux (x64 albo arm64) lub Windows
- Zainstalowany Cursor
- API key Clawbrowser z
app.clawbrowser.ai
Krok 1: zainstaluj Clawbrowser
Pobierz i rozpakuj bootstrapper clawctl:
# macOS (Apple Silicon)
archive="clawctl-macos-arm64.tar.gz"
curl -fL --retry 3 -o "$archive" \
"https://github.com/clawbrowser/clawctl/releases/latest/download/${archive}"
tar -xzf "$archive"Dla Linuxa użyj clawctl-linux-amd64.tar.gz albo clawctl-linux-arm64.tar.gz. Docker i sudo nie są potrzebne.
Ustaw API key:
./clawctl config set api-keyKrok 2: uruchom profil przeglądarki
Uruchom Clawbrowser z nazwanym profilem. Każdy profil ma własny fingerprint, storage cookies i opcjonalny proxy:
# Start a profile and open the verification page
clawctl start --profile cursor-dev --url clawbrowser://verify/ --json
# Get the CDP endpoint for this profile
clawctl endpoint --profile cursor-dev --jsonKomenda endpoint zwraca URL w stylu http://127.0.0.1:9222. To endpoint CDP dla agenta Cursor.
Krok 3: połącz z Cursor przez MCP
Najprostsza integracja to wbudowany MCP server Clawbrowser. Wystawia nawigację, screenshots, clicki, tab management i start profili jako MCP tools, które Cursor może wywoływać bezpośrednio. Server zarządza CDP wewnętrznie.
Uruchom installer konfiguracji MCP:
clawctl install --agent all --jsonCursor odczyta lokalny MCP server z konfiguracji.
Alternatywa: Microsoft Playwright MCP
Jeśli wolisz oficjalny Microsoft Playwright MCP server, ustaw endpoint CDP Clawbrowser w Cursor Settings > MCP > Add Server:
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": [Obie opcje dają Cursorowi wysokopoziomowe narzędzia browsera. MCP server Clawbrowser dodaje jeszcze zarządzanie profilami i fingerprintami.
Krok 4: sprawdź połączenie
Poproś agenta Cursor o wejście na stronę testową:
Navigate to https://browserleaks.com/canvas and take a screenshot. Tell me what canvas fingerprint hash you see.
Jeśli połączenie działa, zobaczysz realny canvas fingerprint profilu Clawbrowser, a nie generyczny hash sandboxed webview.
Bezpośrednie połączenie CDP z kodu
Jeśli agent Cursor pisze i odpala skrypty zamiast używać MCP tools, połącz się bezpośrednio przez Playwright albo Puppeteer:
Playwright (Python)
from playwright.async_api import async_playwright
async def browse_with_clawbrowser():
async with async_playwright() as p:
# Connect to Clawbrowser's CDP endpointPlaywright (Node.js)
const { chromium } = require('playwright');
const browser = await chromium.connectOverCDP('http://127.0.0.1:9222');
const page = browser.contexts()[0].pages()[0];
Puppeteer
const puppeteer = require('puppeteer');
const browser = await puppeteer.connect({
browserURL: 'http://127.0.0.1:9222'
});Wszystkie trzy frameworki łączą się z tym samym endpointem CDP. Clawbrowser pilnuje warstwy identity: Canvas, WebGL, AudioContext, fonty, rozdzielczość, timezone, navigator properties i proxy routing są spójne w profilu.
Dlaczego anti-detection ma znaczenie dla agentów Cursor
Kiedy agent Cursor używa standardowego browsera, systemy anti-bot sprawdzają identity na wielu powierzchniach:
| Sygnał | Co jest sprawdzane | Standard Chrome | Clawbrowser |
|---|---|---|---|
| Canvas hash | GPU rendering fingerprint | Static, matches known automation profiles | Unique per profile, consistent with reported GPU |
| WebGL renderer | Graphics card identifier | Exposes real hardware | Matches the profile's simulated hardware |
| Navigator properties | Browser version, platform, language | Generic Chromium values | Consistent with profile's OS and locale |
| Timezone | System timezone vs IP geo | Mismatches with proxy location | Auto-aligned with proxy geography |
| CDP detection | Runtime.enable traces |
Detectable via leaked CDP artifacts | Engine-level patches suppress CDP signals |
Zwykły Chromium podłączony przez CDP zostawia ślady czytelne dla anti-botów w kilka sekund. Clawbrowser łata je na poziomie engine, a nie przez JavaScript overrides wykrywalne po descriptors albo prototype chains.
To różnica między podłączeniem Cursora do chrome --remote-debugging-port=9222, który szybko wpada w blokadę, a Clawbrowser, który trzyma spójny fingerprint.
Zarządzanie wieloma profilami
Każdy profil Clawbrowser jest izolowany. Możesz uruchomić kilka profili naraz dla różnych kont albo projektów:
# Create three profiles with different locations
clawctl create --profile account-a --location sweden --json
clawctl create --profile account-b --location germany --json
clawctl create --profile account-c --location japan --json
Każdy profil ma unikalny fingerprint, własne proxy IP i izolowany storage. Platforma widzi niezależnych użytkowników z różnych maszyn i krajów.
Agent Cursor może przełączać profile przez różne endpointy CDP albo obsługiwać kilka profili równolegle z jednego skryptu.
Browser Cursor vs CDP vs Clawbrowser
| Cursor built-in | Chrome via CDP | Clawbrowser via CDP | |
|---|---|---|---|
| Browser engine | Sandboxed webview | Real Chromium | Real Chromium (patched) |
| Session persistence | Workspace-scoped | Manual profile dirs | Named profiles with auto-persistence |
| Fingerprint management | None | None | 20+ surfaces managed per profile |
| Proxy support | None | Manual flag | Profile-bound, geo-aligned |
| Anti-bot survival | Blocked instantly | Blocked within minutes | Passes Cloudflare, DataDome, PerimeterX |
| Multi-account | Not possible | Separate --user-data-dir |
Built-in profile isolation |
| Setup complexity | Zero (built in) | Moderate | Three commands |
Wbudowanego browsera używaj do localhostu. Clawbrowser przez CDP wybierz wszędzie tam, gdzie agent dotyka prawdziwego webu.
FAQ
Czy to działa z agent mode w Cursorze?
Tak. Agent mode w Cursorze może używać dowolnego MCP servera, także takiego, który łączy się z zewnętrznym browserem przez CDP. Akcje wykonują się wtedy w Clawbrowser.
Czy muszę instalować Playwright albo Puppeteer?
Tylko jeśli agent pisze i uruchamia skrypty automatyzacji. W typowym workflow MCP server obsługuje CDP wewnętrznie.
Czy mogę używać tej samej sesji logowania w kilku projektach Cursor?
Tak. Profile Clawbrowser zapisują cookies, localStorage i IndexedDB. Zaloguj się raz, a potem używaj tego profilu w kolejnych workspace'ach.
Co jeśli browser tool Cursora miesza się z zewnętrznym browserem?
Możesz wyłączyć wbudowany browser w Settings > Features > Browser. Mogą też działać równolegle, bo są niezależne.
Czy Clawbrowser jest darmowy?
Tak. Clawbrowser jest darmowy, open source i MIT-licensed. Bez opłat za seat, bez limitów użycia i bez subskrypcji runtime. Do walidacji instalacji potrzebujesz API key z app.clawbrowser.ai.
Zacznij
Trzy komendy łączą agenta Cursor z prawdziwą przeglądarką:
# Install Clawbrowser
clawctl install --json
# Set your API key
clawctl config set api-keySkieruj MCP server albo skrypt Playwright na zwrócony endpoint. Agent Cursor będzie działał przez browser z zarządzanymi fingerprints, trwałymi sesjami i proxy routingiem.
Więcej o CDP: Przeglądarka CDP dla agentów AI. O fingerprintingu: Browser fingerprinting i 20 sygnałów anti-bot.
Czytaj dalej
Powiązane artykuły

CDP vs MCP: kiedy stosować który protokół do sterowania przeglądarką przez AI
CDP steruje przeglądarką. MCP łączy AI. Dowiedz się, kiedy użyć Chrome DevTools Protocol, a kiedy Model Context Protocol do automatyzacji przeglądarki przez agentów AI.
Czytaj artykuł →
Clawbrowser vs Steel: lokalna przeglądarka za darmo czy cloud API za $250/mo
Porównanie dwóch open source narzędzi do automatyzacji: Clawbrowser (lokalny anti-detect browser) i Steel (cloud API). Architektura, fingerprint, CDP, MCP, ceny i kiedy wybrać które.
Czytaj artykuł →