CloakBrowser Agent logo

CloakBrowser Agent

Runs plain-language browser tasks through CloakBrowser, using Jev for decisions and returning relevant page content as markdown.

Install CloakBrowser Agent

Pick your client, then add it in one click or paste the config.

STDIOPython
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "cloakbrowser-agent": {
      "command": "uvx",
      "args": [
        "--from",
        "cloakbrowser-agent",
        "cloak-agent-mcp"
      ],
      "env": {
        "TYPESAFE_API_KEY": "YOUR_VALUE_HERE",
        "TEXT_MODEL_BASE_URL": "YOUR_VALUE_HERE",
        "TEXT_MODEL_API_KEY": "YOUR_VALUE_HERE",
        "TEXT_MODEL": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

We couldn’t confirm it starts correctly

The install command started, but didn't respond the way we expected when we tried to talk to it.

uvx --from cloakbrowser-agent cloak-agent-mcp

initialize succeeded but no response to tools/list.

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 2d ago.

Overview

CloakBrowser-Agent MCP server turns a plain-language goal and optional URL into a browser task executed by CloakBrowser. TypeSafe Jev selects operations and reachable page elements, while an OpenAI-compatible model supplies text for fields that need typing. The single `browse` tool returns status, page details, action traces, confidence data, and relevant final content as markdown. Use it for browser workflows that need adaptive interaction across changing websites rather than fixed selectors.

Use cases

  • Run plain-language searches on dynamic websites
  • Complete multi-step browser workflows without site-specific selectors
  • Continue work in an existing browser tab
  • Inspect model confidence and page results after automation
  • Submit login values through environment-backed secrets

Key features

  • Jev-driven browser decisions
  • CloakBrowser stealth Chromium execution
  • Adaptive interaction with reachable page controls
  • Markdown extraction of relevant final content
  • Per-step progress and confidence reporting
  • Environment-backed secret entry

Tools1

What CloakBrowser Agent lets your agent do. Expand a tool for its parameters.

Self-reported~77 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 2d ago

Recent health check succeeded.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 2d ago via OSV.dev · cloakbrowser-agent (PyPI)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars5Stargazers on the source repository.
Last commit2d agoMost recent push to the default branch.
Install checkInconclusiveStarted but did not complete the MCP handshake in our test.
Tools exposed1Callable tools this server registers over MCP.

How CloakBrowser Agent works

What CloakBrowser-Agent does

CloakBrowser-Agent exposes a stealth browser agent through MCP, a command-line interface, and a Python package. It accepts a goal such as finding flights or completing a site workflow, then operates a CloakBrowser Chromium session until it reaches a result, cannot proceed, needs a missing value, or reaches its step budget.

The browser output includes the final URL and title, an identifier for the still-open tab, execution counts, and page content formatted as markdown. Each action includes the selected operation, target, model probabilities, and nearby alternatives. This makes uncertainty and failed progress visible to callers. The result can also include a completion check, stale-page retries, and a status such as done, done_unverified, blocked, needs_input, budget, or error.

How it works

The agent repeatedly reads the controls currently reachable on the page, asks Jev which operation and element to use, and performs a human-like click, text entry, selection, scroll, wait, or completion action. It replans from the current page after each action instead of relying on site-specific selectors. Hidden, disabled, and covered controls are excluded from the choices, and the model selects from generated indices rather than writing selectors, coordinates, or scripts.

Text generation is limited to values needed for individual fields. A caller can provide secret values through environment-variable references, allowing login credentials to be typed without putting the password directly in the task request. When the agent decides that a goal is complete, a second check evaluates the page; disagreement produces done_unverified rather than an unqualified success. Repeated no-progress actions and repeated actions on the same page stop the loop as blocked.

Setup and configuration

Install the package with:

Terminal
pip install cloakbrowser-agent

The package provides cloak-agent, cloak-agent-mcp, and the cloakbrowser command. MCP clients can run the server through uvx, which fetches the package on demand. Python 3.10 or newer is required, and the browser binary downloads on first use. Node.js is not required.

Set TYPESAFE_API_KEY for Jev decisions. The text-generation path requires TEXT_MODEL_BASE_URL, TEXT_MODEL_API_KEY, and TEXT_MODEL; these point to an OpenAI-compatible provider and model. TYPESAFE_MODEL, TEXT_MODEL_REASONING, and TEXT_MODEL_HEADERS provide optional model configuration. A CloakBrowser license can be supplied with CLOAKBROWSER_LICENSE_KEY, or configured through cloakbrowser login. CLOAKBROWSER_RELEASE_CHANNEL=preview selects the Preview browser build when a license key is present.

Claude Code, Cursor, Claude Desktop, and other MCP clients can launch cloak-agent-mcp through a stdio configuration. The server can also be installed from a cloned repository with pip install -e ..

Tools and capabilities

  • browse(goal, url?, tab_id?, secrets?) runs a complete browser task.
  • Starts from an optional URL and can continue using an existing tab identifier.
  • Performs clicks, typing, selections, scrolling, waiting, and completion checks.
  • Returns relevant sections of the final page as fenced untrusted markdown content.
  • Emits per-step progress notifications while the call is running.
  • Reports action probabilities, operation probabilities, runner-up choices, stale retries, and completion-check probabilities.
  • Accepts env:NAME references in secrets for locally configured login values.

Limitations and notes

Jev requires a TypeSafe API key, and field entry requires access to an OpenAI-compatible chat model. The free CloakBrowser license permits one browser session at a time; a paid key increases that limit. Without a license key, the older browser build is used.

A successful-looking stop is not always verified: done_unverified means the completion check disagreed with the agent's stopping decision. blocked can result when no available control advances the task or when the same action repeats on the same page. Goals that omit a value required by a field can return needs_input, while long tasks can end with budget.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about CloakBrowser Agent

CloakBrowser-Agent is an MCP server that connects TypeSafe Jev to CloakBrowser and an OpenAI-compatible text model. Its main `browse` tool accepts a plain-language goal, navigates pages with clicks, typing, selections, scrolling, and waits, then returns status, action details, and relevant page content as markdown.

Install it with `pip install cloakbrowser-agent`, or configure an MCP client to run `uvx --from cloakbrowser-agent cloak-agent-mcp`. The package requires Python 3.10 or newer; its browser binary downloads automatically on first use.

Set `TYPESAFE_API_KEY`, `TEXT_MODEL_BASE_URL`, `TEXT_MODEL_API_KEY`, and `TEXT_MODEL`. These configure Jev and the OpenAI-compatible model used for field values. `CLOAKBROWSER_LICENSE_KEY` is recommended for the latest stealth build, while several model and release-channel variables are optional.

Yes, CloakBrowser-Agent works with Cursor through an MCP stdio configuration. Add `cloak-agent-mcp` as the server command, run it through `uvx`, and provide the required TypeSafe and text-model environment variables.

Pass secret fields as `env:NAME` references and define those variables in the MCP server environment. For example, username and password values can be supplied through environment-backed secrets so the caller does not place the password directly in the goal.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewCloakBrowser Agent AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/cloakbrowser-agent?style=directory)](https://allmcps.com/mcp/cloakbrowser-agent)
HTML Embed
<a href="https://allmcps.com/mcp/cloakbrowser-agent"><img src="https://allmcps.com/api/badge/cloakbrowser-agent?style=directory" alt="CloakBrowser Agent on AllMCPs" /></a>