A side-by-side look at the Browserless and Kloakt MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Browserless for browser automation work as a local process; choose Kloakt for browser automation as a local process. You can also run both side by side in one mcpServers block.
browserless_content, browserless_scrape, browserless_screenshot.kloakt_extract, kloakt_fetch.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Browser Automation | Browser Automation |
| Quality signal | 59/100 · Good | 53/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | Not declared |
| Pricing | Not declared | Not declared |
| Required env vars | None listed | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 0 | 1 |
| Directory activity | 1 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | 4 | 2 |
| Full listing | View Browserless | View Kloakt |
browserless_contentRender a URL in headless Chromium and return the fully-executed HTML (after JavaScript runs) — use this when a plain fetch returns an empty shell or JS-rendered SPA. Example: browserless_content({ url: "https://example.com", _apiKey: "your-token" })browserless_scrapeExtract structured data from a rendered page using CSS selectors. Returns text, inner HTML, attributes and geometry for every matched element. Example: browserless_scrape({ url: "https://news.ycombinator.com", elements: [{ selector: ".titleline a" }], _apiKey: "your-token" })browserless_screenshotCapture a screenshot of a rendered page. Returns the image byte-length and metadata only (the binary PNG is NOT inlined). Example: browserless_screenshot({ url: "https://example.com", fullPage: true, _apiKey: "your-token" })browserless_smart_scrapeAI-assisted extraction: tries a plain HTTP fetch first and falls back to a full headless browser, returning content in the requested formats (html, markdown, links, screenshot, pdf). Best when you just want clean page content and do not know the right selectors. Example: browserless_smart_scrape({ url: "https://example.com", formats: ["markdown", "links"], _apiKey: "your-token" })kloakt_extractExtract clean markdown content from a web page using a headless browser with full JavaScript rendering. Strips nav/header/footer by default. Returns structured data: title, URL, markdown content, meta tags, timing. Use this instead of WebFetch when you need JS-rendered content or clean markdown.kloakt_fetchLow-level page fetch with JS rendering. Returns raw output as string. Supports HTML dump, text dump, link extraction, or arbitrary JS evaluation.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"browserless": {
"command": "npx",
"args": [
"-y",
"@pipeworx/mcp-browserless"
]
}
}
}
{
"mcpServers": {
"kloakt": {
"command": "uvx",
"args": [
"--from",
"kloakt",
"kloakt-mcp"
]
}
}
}