Skip to content

jev-browser

Library, CLI and MCP server where an LLM states each step's outcome and Jev decides element, action, value and done/blocked/irreversible.

MCP serverbetaMIT

Overview

jev-browser by ying-kai-liao is unofficial browser automation in which an LLM plans and Jev decides. The calling LLM, such as Claude via MCP, states the outcome it wants one step at a time and hands over any text to type. For each round, code settles the page and describes elements, labels, state, visible text, a diff and counts; then one Jev request of about 300 ms asks several questions at once: which element, which action, which value, and whether the step is done, blocked, showing an error or about to do something irreversible. Playwright performs the action, and the LLM never reads page snapshots unless it chooses to take over.

With WebMCP, where a page offers its own tools, Jev chooses between those tools and the page's buttons and fills arguments by picking among the caller's values, never writing text. Everything free-form comes from the caller as candidates, and code turns disagreement or low confidence into escalation. It ships as a library, CLI and MCP server via npx, and is MIT licensed.

What the decision model decides

TypeQuestionAnswers
ChoiceWhich element, action and value should be used?—
Yes / noIs the step done, blocked, showing an error, or about to do something irreversible?yes · no
ChoiceWhich WebMCP tool or page button fits this step?—

How it works

  1. LLM calls browser_do with an outcome and values
  2. Code settles and describes the page
  3. One Jev call answers target, action, value and status questions
  4. Playwright acts; loop until done, stuck or needs confirmation
  5. Return status, actions and done score to the LLM

Strengths

  • LLM spends no tokens reading pages
  • Irreversible actions detected and confirmed
  • Supports page-provided WebMCP tools

Caveats

  • Unofficial; uses your own TypeSafe key
  • Free-form text must come from the caller

Getting started

`npx -y -p jev-browser jev-browser-mcp` as an MCP server with TYPESAFE_API_KEY.

At a glance

Type
MCP server
Status
beta
Language
TypeScript
Runtime
library, CLI, MCP server (Playwright)
Has code
yes
License
MIT

Use cases and integrations

How curated lists describe it

  • Unofficial browser automation: an LLM plans the outcome, Jev decides each click/type on a Playwright snapshot (~300 ms/call). Ships as a library, CLI, and MCP server (`npx -y -p jev-browser jev-browser-mcp`).

    AnotiaWang/awesome-decision-models
  • A browser library, CLI and MCP server where the caller supplies goals and text while Jev selects actions.

    logicrw/awesome-jev-projects
  • Browser automation where an LLM plans and Jev (Typesafe System One) decides.

    wh000wh000/awesome-jev-live
  • Browser automation where an LLM plans and Jev (Typesafe System One) decides. Library, CLI and MCP server.

    hellogumbo/awesome-jev

Frequently asked questions

What does Jev decide each round?

Element, action, value, and whether the step is done, blocked, erroring or irreversible.

Does the LLM see the page?

Only if it chooses to take over; otherwise it gets a summary result.

How is text typed?

Jev picks among values the caller supplies; it never writes text.

Related projects

  • Claude Desktop MCP extension that drives Brave or Chrome with Jev choosing on-page actions and a guard freezing irreversible clicks.

    MCP serverbetaTypeScript
  • Chrome MCP server with 50 tools that drives your everyday browser without losing logins, where Jev or a local decider picks each step.

    MCP serverbeta
  • MCP server and libraries that drive Chrome over CDP and hand a decision model like Jev a bounded menu of page actions.

    ProjectproductionTypeScript
  • Agent skill porting jev-ultrafast's loop into ego lite: one ~0.4 s Jev call per DOM step picks operation and target.

    Agent skillbetaTypeScript
  • Agent-plugin browser tool where Jev picks one operation and one row from a numbered page table; a small LLM only writes typed text.

    ProjectbetaTypeScript
  • Chrome extension plus MCP server so Claude or Codex can drive your real Chrome, with Jev picking each click in about half a second.

    MCP serverbetaTypeScript