Browser Use
Browser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.
Beschreibung vom Entwickler (englisches Original)
Cloaked headless browser for AI agents — stealth TLS, smart extraction, SPA fallback
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
Du brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"kloakt": {
"command": "uvx",
"args": [
"kloakt"
]
}
}
}Führe das in deinem Terminal aus
claude mcp add kloakt -- uvx kloaktIn .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"kloakt": {
"command": "uvx",
"args": [
"kloakt"
]
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"kloakt": {
"type": "stdio",
"command": "uvx",
"args": [
"kloakt"
]
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 9. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto KultMember6Banger bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.1.2) kam vor 6 Monaten in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Python (uv) auf deinem Computer.
In derselben Kategorie: Browser Use, Chrome DevTools MCP, MCP Server Browser
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
Browser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
Kloakt
Cloaked headless browser for AI agents.
Lightweight, stealthy, built in Rust. Based on Obscura .
Kloakt is a headless browser built for AI agents. It runs JavaScript via V8, extracts clean markdown from any page (including SPAs), and exposes tools via MCP for Claude Code and other AI systems.
Beyond one-shot extraction it can drive persistent, stateful sessions (click, type, navigate — cookies *and* page/JS state persist across calls), emit an accessibility/structure snapshot as an agent-vision substitute, and capture real screenshots via system Chrome — 12 MCP tools in all.
| Metric | Kloakt | Headless Chrome |
|---|---|---|
| Memory | 30 MB | 200+ MB |
| Binary size | 70 MB | 300+ MB |
| Anti-detect | Built-in | None |
| Page load | 85 ms | ~500 ms |
| Startup | Instant | ~2s |
| SPA extract | Yes | Manual |
One-line install (Linux & macOS). Downloads the right binary for your OS/arch from the latest GitHub Release and installs it to ~/.local/bin (or /usr/local/bin when run as root):
curl -fsSL https://raw.githubusercontent.com/KultMember6Banger/kloakt/main/install.sh | sh
You can pin a version or override the install dir:
KLOAKT_VERSION=v0.1.2 INSTALL_DIR=/usr/local/bin \
sh -c "$(curl -fsSL https://raw.githubusercontent.com/KultMember6Banger/kloakt/main/install.sh)"
Windows: download kloakt-x86_64-windows.zip from the Releases page and extract kloakt.exe onto your PATH.
brew install KultMember6Banger/kloakt/kloakt
brew install --formula ./Formula/kloakt.rb
(Until a dedicated tap exists, brew tap KultMember6Banger/kloakt https://github.com/KultMember6Banger/kloakt then brew install kloakt.)
Builds the CLI from crates.io (requires Rust toolchain; first build compiles V8, ~5 min):
cargo install obscura-cli
This installs the kloakt binary. To build with stealth mode, add --features stealth.
git clone https://github.com/KultMember6Banger/kloakt.git
cd kloakt cargo build --release
cargo build --release --features stealth
Requires Rust 1.75+ (rustup.rs). First build takes ~5 min (V8 compiles from source, cached after).
# Clean markdown from any page
kloakt extract https://example.com --main
kloakt extract https://example.com --main --json
kloakt extract https://en.wikipedia.org/wiki/Rust --main --json --max-chars 3000
kloakt extract https://example.com --delay 2000 --json
# Get the page title
kloakt fetch https://example.com --eval "document.title"
kloakt fetch https://example.com --dump links
kloakt fetch https://news.ycombinator.com --dump markdown
kloakt fetch https://example.com --wait-until networkidle0
kloakt serve --port 9222
kloakt serve --port 9222 --stealth
kloakt scrape url1 url2 url3 ... \
--concurrency 25 \ --eval "document.querySelector('h1').textContent" \ --format json
# Indexed accessibility/structure tree — tags, text, roles, what's clickable, visibility
kloakt snapshot https://example.com
kloakt snapshot https://example.com --interactive
kloakt has no rasterizer, so this is the lightweight "what's on the page and what can I act on" view for agents that work from structure rather than pixels.
# Real PNG — delegates to a locally-installed Chrome/Chromium/Edge
kloakt screenshot https://example.com --output shot.png --width 1280 --height 800
Drive a named session whose cookies and page/JS state survive across separate invocations, backed by a running kloakt serve daemon:
kloakt serve --port 9222 & # start the daemon once
kloakt session open shop --url https://example.com kloakt session snapshot shop --interactive # see the page structure kloakt session type shop 'input[name=q]' 'hello' # fill a field kloakt session click shop 'button[type=submit]' # click an element kloakt session text shop # read the body text kloakt session eval shop 'document.title' # run JS, get the value back kloakt session close shop # tear down (drops cookies + page)
The extract command uses a multi-phase pipeline optimized for AI agents:
Works on static HTML, server-rendered pages, and pure client-side SPAs (React, Vue, etc.).
from kloakt import (
extract, extract_fields, fetch, scrape, search, crawl, snapshot, screenshot, session_open, session_close, )
page = extract("https://example.com") print(page.title, page.content, page.meta)
page = extract("https://example.com", max_chars=3000)
page = extract("https://example.com", delay=2000)
data = extract_fields("https://news.ycombinator.com", { "title": "title", "stories": ".titleline > a[]", # [] => list of all matches "links": ".titleline > a[]@href" # @href => an attribute }) print(data"data")
html = fetch("https://example.com", dump="html") title = fetch("https://example.com", eval_js="document.title")
results = scrape(["https://a.com", "https://b.com"], concurrency=5)
links = search("https://news.ycombinator.com", same_domain=True) pages = crawl("https://example.com", max_pages=5, max_depth=1)
snap = snapshot("https://example.com", interactive=True) screenshot("https://example.com", output="shot.png")
session_open("shop", url="https://example.com")
session_close("shop")
Kloakt includes an MCP server for use as a Claude Code tool:
{
"mcpServers": { "kloakt": { "command": "python3", "args": ["/path/to/kloakt/mcp_server.py"] } } }
Exposes 12 native tools:
| Tool | What it does |
|---|---|
kloakt_extract | Clean markdown, or structured fields via schema |
kloakt_fetch | Low-level fetch (html/text/links/markdown, or JS eval) |
kloakt_scrape | Many URLs in parallel |
kloakt_search | Discover outbound links on a page |
kloakt_crawl | Budget/depth-limited breadth-first crawl |
kloakt_snapshot | Accessibility/structure tree (agent vision) |
kloakt_screenshot | Real PNG via system Chrome |
kloakt_session_open | Open a persistent named session |
kloakt_session_act | navigate / click / type / eval within a session |
kloakt_session_read | Read a session's page as text or snapshot |
kloakt_session_list | List open sessions |
kloakt_session_close | Close a session (drops its cookies + page) |
The CDP server embeds a per-session token in the WebSocket path (like Chrome). Connect via browserURL so the client discovers the token from /json/version automatically — don't hardcode the ws://.../devtools/browser path.
import puppeteer from 'puppeteer-core';
const browser = await puppeteer.connect({ browserURL: 'http://127.0.0.1:9222', // discovers the tokenized ws endpoint });
const page = await browser.newPage(); await page.goto('https://news.ycombinator.com'); const stories = await page.evaluate(() => Array.from(document.querySelectorAll('.titleline > a')) .map(a => ({ title: a.textContent, url: a.href })) ); await browser.disconnect();
import { chromium } from 'playwright-core';
const browser = await chromium.connectOverCDP({ endpointURL: 'http://127.0.0.1:9222', // discovers the tokenized ws endpoint });
const page = await browser.newContext().then(ctx => ctx.newPage()); await page.goto('https://en.wikipedia.org/wiki/Web_scraping'); console.log(await page.title()); await browser.close();
Enable with --features stealth.
navigator.userAgentData (Chrome 145, high-entropy values)event.isTrusted = true for dispatched eventsFunction.prototype.toString() → [native code])navigator.webdriver = undefinedAccept-Language + Client Hints (Sec-CH-UA) request headersnavigator.languageskloakt extract | Flag | Default | Description |
|---|---|---|
--format | markdown | Output: markdown, text, or links |
--main | off | Strip nav, header, footer, sidebar |
--json | off | Structured JSON: title, URL, content, meta |
--max-chars | unlimited | Truncate content to N characters |
--delay | 0 | Extra ms to wait after load |
--stealth | off | Anti-detection mode |
--selector | — | Wait for CSS selector |
--wait-until | load | load, domcontentloaded, networkidle0 (bounded by --wait) |
--schema | — | Extract structured fields as JSON (see below) |
--har | — | Write captured network activity to a HAR file |
--cache-ttl | 0 | Cache the result on disk and reuse it for N seconds |
--schemaPass a JSON object mapping field names to CSS selectors. Suffix a selector with [] to return all matches as a list, and with @attr to return an attribute instead of text:
kloakt extract https://news.ycombinator.com \
--schema '{"title":"title","stories":".titleline > a[]","first_link":".titleline > a@href"}'
This is also exposed through the MCP kloakt_extract tool via an optional schema argument.
kloakt fetch | Flag | Default | Description |
|---|---|---|
--dump | html | Output: html, text, links, markdown |
--eval | — | JavaScript expression to evaluate |
--wait-until | load | Wait condition |
--selector | — | Wait for CSS selector |
--stealth | off | Anti-detection mode |
| --quiet | off | Suppress b
Nur der Anfang wird gezeigt; den Rest findest du im Repo