SkillAgentSearch skills...

jev-max

The Jev browser agent that handles the real web: shadow DOM and iframe piercing, canvas fallback, uploads, multi-tab, MCP for any agent host.

Install / Use

claude mcp add saloni-garg -- npx -y github:saloni-garg/jev-max

If the server publishes to npm under a different name, use that package instead — check the repo README.

About this skill
🔌

MCP Server

Model Context Protocol server

Quality Score

81/100

Category

Automation

Supported Platforms

Claude Code
Claude Desktop

Our assessment of jev-max

jev-max scores 81/100 on our quality scale, 2448th of 2,902 Automation skills we index.

Its MCP Server is 6.2 KB long, well organised into 8 sections with 7 code examples: a thorough specification that gives an agent plenty to work with.

It has 3 GitHub stars, so there is little community track record yet; judge it on its content.

Substance
29/30
Structure
20/20
Description
15/15
Adoption
3/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated 10 days ago, so jev-max is actively maintained.
  • It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 92/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

Safety scan

No issues found

Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands.

Automated pattern scan on 2026-10-18. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.

jev-max compared with similar skills

All 4 of these similar skills score higher than jev-max; compare them before choosing.

SkillScoreStarsUpdatedFormat
jev-max (this skill)by saloni-garg81310d agoMCP Server
Agent-Reachby Panniantong10098.9k3d agoCLAUDE.md
headroomby headroomlabs-ai10075.7ktodayCLAUDE.md
CowAgentby zhayujie10047.4ktodayCLAUDE.md
Scraplingby D4Vinci10088.4ktodayMCP Server

Frequently asked questions

How do I install jev-max?
Run claude mcp add saloni-garg -- npx -y github:saloni-garg/jev-max. The install tabs above show the steps for each supported agent.
Which AI agents does jev-max work with?
It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
Is jev-max safe to use?
Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. It is MIT-licensed and scores 92/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is jev-max still maintained?
The repository was last updated 10 days ago, so jev-max is actively maintained.

jev-max

License: MIT Python 3.10+ Jev

The Jev browser agent that breaks the three walls.

Jev (TypeSafe's System One model) made browser agents ~10x faster and ~100x cheaper by replacing screenshots with typed decisions: one cheap model call picks the operation and the element. But every Jev agent ships the same MVP limits. Pages built with shadow DOM, iframes, or canvas are invisible to them.

jev-max keeps the speed and knocks the walls down:

  • Piercing snapshot — walks open shadow roots and same-origin iframes into one indexed element table. Cross-origin frames are recorded as regions instead of silently dropped.
  • Canvas fallback — when the table has no usable target, a vision model grounds the instruction to coordinates and the real mouse clicks.
  • Full action space — uploads, drag-and-drop, multi-tab, nested scroll, native selects with option lists.
  • Occlusion-checked clicks — shadow- and frame-aware hit testing before every click. Covered controls are reported, never blindly clicked.
  • One Jev request per cycle — operation plus speculative target heads share a single call (TypeSafe or OpenRouter).
  • Two-tier text — a small LLM writes text only for FILL/SELECT. Jev never generates free text.
  • Never-trust-DONE verification — an independent Jev check confirms the outcome before stopping.
  • Any agent host — standalone Python library plus an MCP server (Claude Code, Cursor, Windsurf, Codex).

Quick start

pip install jev-max
playwright install chromium
cp .env.example .env   # add TYPESAFE_API_KEY or OPENROUTER_API_KEY + TEXT_MODEL_API_KEY

See the piercing snapshot with no API key:

jev-max snapshot --url https://example.com

Run a task:

jev-max run --url https://en.wikipedia.org/wiki/Main_Page \
  --goal "Find and open the Wikipedia article about Godel's incompleteness theorems." \
  --record-dir traces/wiki
from jev_max import Agent

with Agent("https://www.google.com/travel/flights?hl=en",
           "Find one-way flights from Zurich to London on September 20, 2026. "
           "Stop when matching flight options are visible.") as agent:
    for state in agent.run():
        print(state["step"], state["status"], state["decision"]["operation"])

How it compares

| | jev-ultrafast | jev-browser-use | jev-max | |---|---|---|---| | Decision model | Jev, 1 request / cycle | Jev for clicks, Codex for the rest | Jev, 1 request / cycle (speculative target heads) | | Shadow DOM piercing | No | No | Yes | | Same-origin iframe piercing | No | No | Yes | | Cross-origin iframe regions | No | No | Marked + canvas fallback | | Canvas / visual fallback | No | No | Yes (vision grounding -> real mouse) | | File uploads | No | No | Yes | | Drag-and-drop | No | No | Yes | | Multi-tab | No | via Codex runtime | Yes (popups auto-registered) | | Nested scroll containers | No | No | Yes | | Click occlusion checks | Yes | No | Yes (shadow- and frame-aware) | | Independent DONE verification | Yes | Yes (Codex) | Yes (Jev re-check) | | Agent hosts | Standalone Python | Codex only | Any MCP host + standalone | | Browser | Browser Harness (Chrome remote debug) | Codex Computer Use | Playwright (Chromium/Firefox/WebKit) | | Benchmark | 1 task, 3 repeats | n/a | Multi-task suite with traces |

Credit where due: the one-request speculative action space is inspired by jev-ultrafast, and the never-trust-DONE split by jev-browser-use. Both are MIT and linked above.

How it works

page -> snapshot.js -> indexed element table (shadow + iframes pierced)
                                          |
                    one Jev request: operation + speculative targets
                                          |
              CLICK/FILL/SELECT/CHECK/UPLOAD/DRAG/SCROLL/WAIT/DONE/BLOCKED
                                          |
                    no usable target? -> canvas fallback (vision -> coordinates)
                                          |
                    DONE? -> independent Jev verification, never trusted blindly
  • One request per decision cycle. The operation question and every target head share one Jev call. Only the head matching the chosen operation can execute.
  • Piercing snapshot. snapshot.js walks shadow roots and same-origin iframes into a single indexed table, with per-control role, name, value, and bounding box.
  • Model output never becomes selectors, coordinates, or JS. Targets resolve from observed nodes only.

MCP server (any agent host)

jev-max mcp

Tools: jev_start(url, goal, max_steps) -> jev_tick(session_id) until done/blocked -> jev_close(session_id). Set JEV_HEADLESS=0 to watch it work.

Benchmark

jev-max benchmark

Runs jev_max/benchmark/tasks.yaml: shadow-DOM form fill, pierced-iframe click, plus live tasks. Each run writes traces and a results-<timestamp>.json with pass/fail. Add tasks with check: {type: text_contains|title_contains|url_contains, value: ...}.

Project layout

| File | Job | |---|---| | jev_max/snapshot.js | Piercing DOM snapshot, indexed controls, freshness fingerprint | | jev_max/browser.py | Playwright driver: tabs, uploads, drag-drop, occlusion checks | | jev_max/model.py | Jev client (TypeSafe + OpenRouter), text helper, verifier | | jev_max/canvas.py | Vision coordinate grounding fallback | | jev_max/agent.py | The observe-decide-act loop | | jev_max/mcp_server.py | MCP server for any agent host | | jev_max/benchmark/ | Reproducible task suite | | jev_max/cli.py | run / snapshot / mcp / benchmark commands |

Cost

Jev is $0.042 per million input tokens with free output (TypeSafe and OpenRouter). A typical 10-step task costs a fraction of a cent in decision tokens; text generation uses your small model of choice.

MIT licensed. Not affiliated with TypeSafe, OpenRouter, or browser-use.

Related Skills

View on GitHub
GitHub Stars3
CategoryAutomation
Updated10d ago
Forks1

Languages

Python

Trust signals

92/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

1 low
jev-max — MCP Server: Install & Safety Check | SkillAgent