Jev Ra logo

Jev Ra

Drive Chrome from coding agents through MCP, with goal-based browsing, page extraction, and explicit browser actions.

Install Jev Ra

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": {
    "jev-ra": {
      "command": "uvx",
      "args": [
        "jev-ra"
      ],
      "env": {
        "OPENROUTER_API_KEY": "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

We ran the install command but it didn't respond within our test window — this can mean a slow first-time install rather than a real problem.

uvx jev-ra

Process exited before answering initialize.

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 1d ago.

Overview

jev-ra connects MCP clients and coding agents to Chrome over the DevTools Protocol for browser automation. It provides goal-oriented runs, web search, page observation and extraction, plus individual actions such as clicking, typing, selecting, scrolling and taking screenshots. The server keeps a shared browser session and can pause when human input is needed, allowing a later run to resume. Reach for it when an agent needs to navigate real web pages while retaining control over text supplied to forms.

Use cases

  • Automate searches across web pages and rank relevant results
  • Navigate sites and complete forms with supplied field values
  • Extract page text, links, tables and main content
  • Inspect and interact with a persistent Chrome profile
  • Capture screenshots and trace completed browser runs

Key features

  • Goal-based browser workflows with resumable runs
  • Chrome control through the DevTools Protocol
  • Structured extraction for text, elements, links, tables and main content
  • Direct click, type, select, scroll, keypress and wait actions
  • Shared sessions with named Chrome profiles
  • MCP stdio server plus CLI and HTTP/SSE modes

Tools14

What Jev Ra lets your agent do. Expand a tool for its parameters.

Self-reported~217 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 1d ago

Recent health check succeeded.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 1d ago via OSV.dev · jev-ra (PyPI)

Adoption & maintenance

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

GitHub stars4Stargazers on the source repository.
npm downloads146Package downloads in the last 30 days.
Last commit1mo agoMost recent push to the default branch.
Install checkInconclusiveDidn't respond in our test window — often a slow first install.
Tools exposed14Callable tools this server registers over MCP.

How Jev Ra works

What jev-ra does

jev-ra exposes browser automation through MCP, a command-line interface and a Python package launcher. It drives Chrome through the Chrome DevTools Protocol and lets an MCP client delegate either a complete browser goal or one deliberate interaction at a time.

Goal-based workflows use browser_run, which accepts a goal, optional values for text that must be entered, a step limit and an optional resume identifier. The server can also open a URL, search the web, inspect the current page, extract structured content, or perform direct browser operations. A run may stop with needs_human; supplying its resume value continues that run.

The browser session is shared by the server. Responses include elapsed time, and responses involving a Jev decision also include decision and cost information. Only text supplied by the caller is typed into a page.

How it works

An MCP client sends a goal or browser operation to jev-ra. For goal-oriented steps, TypeSafe Jev selects the operation and target element, while the calling agent supplies any text values, reads the resulting page state and continues the workflow. Chrome is controlled through CDP, and the server can escalate a step for human handling.

Observed controls receive references. browser_observe returns a page_key; passing that key to click, type or select operations helps reject references from an older page state as stale. The server keeps session state between relevant commands, so an opened page can be inspected and acted on later.

Setup and configuration

The quickest setup uses uvx, which runs the Python package from PyPI without a separate installation step. Export OPENROUTER_API_KEY, then use uvx jev-ra install claude or uvx jev-ra install codex to register the MCP server with the selected coding agent. uvx jev-ra mcp runs the stdio server directly.

The npm package is a launcher rather than a separate implementation. npx -y jev-ra install claude or the equivalent Codex command finds or offers to install uv, then runs the matching Python package. A permanent installation can use uv tool install jev-ra.

The command-line interface includes doctor for checking the key, endpoint, Chrome and one live decision. A Docker image can be built from the repository with Chromium included. The CLI also supports an HTTP and SSE mode through jev-ra serve, with host, port and quota options.

Use --profile NAME to assign a separate Chrome user-data directory. This allows a login or other browser state to persist for later runs using that profile. Run data is stored under the XDG state directory, with commands for inspecting timing and rendering a stored trace.

Tools and capabilities

MCP tools include:

  • browser_open to open a URL and summarize the page.
  • browser_run to pursue a complete goal and optionally resume it.
  • browser_search to search, read selected results in parallel tabs and rank them against a goal.
  • browser_act to take one instructed step.
  • browser_observe and browser_extract to inspect visible controls, text and structured page data.
  • browser_click, browser_type, browser_select, browser_scroll, browser_press and browser_wait for direct interaction.
  • browser_screenshot to capture the current viewport as JPEG.
  • browser_close to close the server-held session.

Extraction modes include text, elements, links, tables and main content. The CLI provides corresponding commands, along with run, search, open, trace, profile, clean, install, doctor and mcp.

Limitations and notes

Chrome must be available locally or supplied through the provided container setup. The server requires an OpenRouter API key for its decision process. Browser references can become stale after the page changes, and a workflow may require human intervention before it can continue. Browser sessions and profiles should be managed carefully when they contain authenticated state.

Reviews

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

Frequently Asked Questions about Jev Ra

jev-ra is an MCP server that connects coding agents to Chrome through the DevTools Protocol. Its main tools open pages, search, run browser goals, observe and extract content, and perform actions such as clicking, typing, selecting, scrolling, waiting and taking screenshots. It can pause for human input and resume later.

Install it with `uvx jev-ra install claude` or `uvx jev-ra install codex` after exporting `OPENROUTER_API_KEY`. These commands register the stdio MCP server with the selected coding agent. The npm launcher provides an alternative through `npx -y jev-ra install ...`, while `uv tool install jev-ra` creates a permanent installation.

Yes, jev-ra supports Codex through `uvx jev-ra install codex`. Export `OPENROUTER_API_KEY` first, then invoke the installer to register the MCP server.

Use the CLI `open` command followed by stateful commands such as `observe`, `extract` or `click`; `close` ends the session. jev-ra stores the shared browser target under the XDG state directory. Use `--profile NAME` to keep a separate Chrome user-data directory and retain browser state across runs.

Resume it by passing the run's resume identifier to `browser_run` or by using `jev-ra run --resume RUN_ID`. A workflow can stop with `needs_human`, allowing a person to handle the required step before the agent continues.

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 PreviewJev Ra AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/jev-ra?style=directory)](https://allmcps.com/mcp/jev-ra)
HTML Embed
<a href="https://allmcps.com/mcp/jev-ra"><img src="https://allmcps.com/api/badge/jev-ra?style=directory" alt="Jev Ra on AllMCPs" /></a>