clearcote-jet-mcp
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TEXT_MODEL | No | Optional OpenAI-compatible model name. | |
| TYPESAFE_API_KEY | Yes | Key for the decision model (from console.typesafe.ai). | |
| CLEARCOTE_JET_CDP | No | Attach to a browser that is already running. | |
| TEXT_MODEL_API_KEY | No | Optional OpenAI-compatible model API key. | |
| CLEARCOTE_JET_PROXY | No | Route through a proxy; timezone, language and location follow its exit IP. | |
| TEXT_MODEL_BASE_URL | No | Optional OpenAI-compatible model base URL that writes typed values. | |
| CLEARCOTE_JET_PROFILE | No | Browser profile; cookies and consent choices persist. | ~/.clearcote-jet/profile |
| CLEARCOTE_LICENSE_KEY | No | Your Clearcote licence; without one the open build runs. | ~/.clearcote/license.key |
| CLEARCOTE_JET_HEADLESS | No | Set to 1 to run without a window. | 0 |
| CLEARCOTE_JET_HUMANIZE | No | Set to 0 to switch to instant clicks and typing. | 1 |
| CLEARCOTE_JET_IDLE_MINUTES | No | MCP server: close the browser after this long without calls. | 5 |
| CLEARCOTE_JET_USD_PER_MTOK | No | Rate used for the cost estimate. | 0.042 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| browseA | Carry out a task on a website in a Clearcote browser and return what the page says about it, as markdown. Args: goal: What you want done, e.g. "Find the date of the next bank holiday in England and Wales" or "Search the Python documentation for asyncio.gather and open its entry". Write every value that has to be typed into the goal: typed text is taken from it. url: Start page. Required unless continuing an existing tab. tab_id: Continue in a tab returned earlier (a follow-up step, or after needs_input / blocked). Status values: done, blocked, needs_input (the goal lacks a value a field requires: call again with the same tab_id and a goal that includes it), budget (step limit reached), error. The tab stays open so the user can see it; its tab_id is returned. The browser closes itself after a few idle minutes, which also closes its tabs. |
| close_tabB | Close a tab that browse left open. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 2 tools
browse is a high-level agentic web task tool; close_tab is a cleanup utility for the tabs it creates. Their purposes do not overlap, so an agent can easily select the correct tool.
Both names are imperative snake_case verbs, but browse is a bare verb while close_tab follows a verb_noun pattern. This is a minor inconsistency, though overall naming is predictable.
Two tools is thin for a browser automation server, even one with a high-level browse design. The count sits at the borderline where the interface may feel under-specified.
The surface covers starting a task, handling follow-ups, and closing tabs. Minor gaps exist, such as no way to list open tabs or inspect browser state, but the agentic browse tool mitigates most needs.