stealthDOCS
SDKs

Local CLI (stealth-cli)

The same Camoufox engine on your own machine — a CLI, a Node SDK, a background daemon, an HTTP server and an MCP server.

What it is

stealth-cli is the browser component the cloud platform runs, published on npm for local use. It launches Camoufox on your machine: browse, search, screenshot, extract and crawl from the terminal; drive it from Node; keep a daemon warm; expose it as an HTTP API or as an MCP server to a coding assistant. It talks to no cloud — nothing here needs a project API key.

cURL
npm install -g stealth-clinpx camoufox-js fetch        # downloads the Camoufox browser once

Node ≥ 20.

Commands

CommandWhat it does
stealth browse <url>Visit a page and print it — -f text, json, snapshot (the accessibility tree with refs) or markdown
stealth screenshot <url> -o page.pngPNG or JPEG, full page or viewport; --annotate labels every interactive element with its ref
stealth search <engine> <query>Search across 14 engines with anti-detection (google, duckduckgo, youtube, github, …)
stealth extract <url>Links, images, meta, headings, CSS selectors
stealth crawl <url>Recursive crawl with depth, filter and delay control
stealth open [url]A headed browser for a human sign-in; exits when the windows close
stealth interactiveA stdin REPL: goto, click, type, eval, …
stealth pdf <url>, batch <file>, monitor <url>, fingerprintPDF, batch, change monitoring, fingerprint check
stealth daemon start|stop|statusA background browser: ~1 s per command instead of ~6 s
stealth profile, proxy, configPersistent identities, a proxy pool with rotation and health checks, global defaults
stealth serveAn HTTP API with bearer-token auth
stealth mcpAn MCP server
cURL
stealth browse https://example.com -f markdownstealth screenshot https://example.com -o page.png --annotatestealth search google "web scraping tools" -f jsonstealth daemon start && stealth browse https://example.com

MCP server

Add stealth browsing to Claude Desktop, Cursor or any MCP client:

MCP client configuration
{  "mcpServers": {    "stealth": { "command": "stealth", "args": ["mcp"] }  }}

This is the local engine as an MCP server, not the cloud platform: it runs Camoufox on the machine the client runs on.

Node SDK

JavaScript
import { launchBrowser, closeBrowser, navigate, getMarkdown, takeScreenshot } from 'stealth-cli'; const handle = await launchBrowser({ profile: 'work', humanize: true });   // `stealth profile create work` firsttry {  await navigate(handle, 'https://example.com');  const { text } = await getMarkdown(handle, { maxChars: 20000 });  await takeScreenshot(handle, { path: 'labelled.png', annotate: true });} finally {  await closeBrowser(handle);}

The local SDK and the cloud SDKs share the observation and action vocabulary — refs, the tree, the same action names — so code written against one reads naturally against the other.

Full reference

The package README on npm covers every command, option, the HTTP server's endpoints, the MCP tools, profiles, sessions, proxies, humanize mode and error handling: [stealth-cli on npm](https://www.npmjs.com/package/stealth-cli).