原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

jevway

作者:AbdallahAHO版本 0.5.3i★ –i在你的电脑上运行
注册名称io.github.AbdallahAHO/jevway

安装

概览

作者提供的说明(英文原文)

Hand a browser goal to TypeSafe Jev in your Chrome or a throwaway one; get one checked summary.

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 网页与浏览器
  • 你需要填写:TYPESAFE_API_KEY, OPENROUTER_API_KEY

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:1 项中通过 1 项
  • 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
  • 需要你自己填写: TYPESAFE_API_KEY, OPENROUTER_API_KEY, JEVWAY_BROWSER

标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。

你需要

  • npm已安装 Node.js(用于 npx 命令)

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

{
  "mcpServers": {
    "jevway": {
      "command": "npx",
      "args": [
        "-y",
        "jevway",
        "mcp"
      ],
      "env": {
        "TYPESAFE_API_KEY": "your-value",
        "OPENROUTER_API_KEY": "your-value",
        "JEVWAY_BROWSER": "your-value"
      }
    }
  }
}

在终端中运行这条命令

claude mcp add jevway --env TYPESAFE_API_KEY=your-value --env OPENROUTER_API_KEY=your-value --env JEVWAY_BROWSER=your-value -- npx -y jevway mcp

运行前请先填写空着的值。

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "jevway": {
      "command": "npx",
      "args": [
        "-y",
        "jevway",
        "mcp"
      ],
      "env": {
        "TYPESAFE_API_KEY": "your-value",
        "OPENROUTER_API_KEY": "your-value",
        "JEVWAY_BROWSER": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "jevway": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "jevway",
        "mcp"
      ],
      "env": {
        "TYPESAFE_API_KEY": "your-value",
        "OPENROUTER_API_KEY": "your-value",
        "JEVWAY_BROWSER": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。

你的选择通过 Cookie 保存在这台设备上,无需账户。

需要你填写的值

  • TYPESAFE_API_KEY 机密 env
    Jev on the TypeSafe API. Set this or OPENROUTER_API_KEY.
  • OPENROUTER_API_KEY 机密 env
    Jev and the other models through OpenRouter. Set this or TYPESAFE_API_KEY.
  • JEVWAY_BROWSER env
    auto (your running Chrome), launch, launch-headless or http://host:port.

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 AbdallahAHO 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“网页与浏览器”中的其他服务器比较i

  • 星标数多于此分类中其他 1380 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 1380 个服务器的 94% 更新
  • 基础检查结果等于或优于此分类中其他 1380 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

jevway 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

你需要填写:TYPESAFE_API_KEY, OPENROUTER_API_KEY

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(0.5.3)于前天进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。

有什么可以替代它?

同一分类中有:Browser Use, Chrome DevTools MCP, MCP Server Browser

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Browser Use

作者:browser-use

Browser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.

电脑或云端★ 120,087MIT18天前更新
安装

Chrome DevTools MCP

作者:ChromeDevTools

MCP server for Chrome DevTools

在你的电脑上运行★ 54,821Apache-2.016天前更新
安装

MCP Server Browser

作者:bytedance

MCP server for browser use access

在你的电脑上运行★ 39,550Apache-2.014个月前更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

jevway

[Website and demos](https://jevway.escalay.space/?utm_source=github&utm_medium=readme&utm_campaign=header) · Quick start · Agent setup guide · How it works · Reference

Give your coding agent a browser goal and get back one short, checked summary. TypeSafe Jev picks each click, type and select in about 300 ms, so your agent stops spending a turn on every step.

jevway is an MCP server and a CLI. It works with Claude Code, Codex, Cursor, OpenCode and any other MCP client, in your own signed-in Chrome or a throwaway one.

Why

Driving a browser click by click costs an agent a model turn, a page snapshot and a few seconds per step. A 15-step form takes minutes and fills the context window with snapshots. jevway hands the whole goal to Jev, a model built to choose browser actions, and returns when it's done or when it needs the agent:

  • It never invents input. Jev types only the values the agent passed. A missing value comes back as needs_input, naming the field.
  • It stops before anything irreversible. Pay, send, delete and submit come back as needs_confirmation. One confirmation allows one click, on the control that was named.
  • It checks its own success. done needs a separate check of done_when on the final page, plus any exact checks you add, and comes with the page's own words as evidence.
  • Model output only ever selects a listed element. It never becomes a selector, a script or typed text.
  • It can record what it did. A video of the run, a screenshot before every action, and an HTML page to review it, built in. See Recordings.

What you need

jevway has no browser extension and no Playwright: it drives Chrome directly. Three things are required, and two optional tools unlock more.

Needed forWithout it
Node.js 24+running jevway (npx fetches it)it won't start
Google Chrome (or Chromium)every run: your running Chrome, or a throwaway one jevway startsruns fail; set CHROME_PATH if Chrome isn't in the usual place
An API key: TYPESAFE_API_KEY (recommended) or OPENROUTER_API_KEYevery decision Jev makesthe server still starts and lists its tools, and jevway_look works, but tasks and journeys answer with the setup fix
ffmpeg *(optional)*the run.mp4 video in a recordingrecordings keep their step screenshots and HTML page, without the video
notify-send *(optional, Linux)*the desktop notification when a person is needed (macOS has it built in)the agent still asks you; there's just no pop-up
chrome-devtools MCP *(optional)*inspecting what jevway left on screen: console, network, performance, DOM detailsnothing is lost in jevway itself; your agent just has no deeper inspection tool

Which key? Both run the same Jev model. The TypeSafe key adds Box, which locates controls on the screenshot: it double-checks the click Jev chose and whether it's covered, rescues a step when Jev is stuck, can click a canvas control (opt-in), and marks each journey screen's primary action and the controls missing from the page's code. Through OpenRouter those Box features are off; everything else works.

npx -y jevway doctor checks all of this and names the fix for anything missing.

Quick start

  1. Get a key from TypeSafe (or use an OpenRouter key).
  1. Run the setup in your terminal:
   npx -y jevway setup

It asks for the key without showing it and saves it to ~/.config/jevway/env (mode 600, never a chat or a synced config), tests the browser, and registers jevway with the clients it finds: Claude Code, Codex, Cursor, OpenCode. Every change is shown first, as a command or a diff, and made only on a yes. It ends with jevway doctor.

In Claude Code you can instead install the plugin, which brings the server and the skill that tells the agent when to use it (then put the key in ~/.config/jevway/env yourself):

   /plugin marketplace add AbdallahAHO/jevway

/plugin install jevway@jevway

  1. Allow the browser. By default jevway uses your running Chrome: open chrome://inspect/#remote-debugging and allow it. To use a throwaway browser instead, set JEVWAY_BROWSER=launch.
  1. Ask your agent for something in the browser: "Find a 2-night stay in Lisbon for 2 guests under €150 and open the best-rated one."

npx -y jevway doctor checks the setup at any time (--json for agents) and names the fix for anything missing.

Let your agent set it up

Paste this into your coding agent (Claude Code, Codex, Cursor, OpenCode…):

Set up jevway for me and prove it works: follow https://github.com/AbdallahAHO/jevway/blob/main/SETUP.md step by

step. Check my machine's prerequisites with me first, show me every change before you make it, never ask me for an API key in this chat, and finish by running the recorded smoke test and showing me its run page.

SETUP.md walks the agent through everything: prerequisites for your OS, the key, registering the server, the browser, the skill, a recorded Google → Wikipedia smoke test, and a report with the run page, video and screenshots as proof.

Install

npx -y jevway setup registers jevway with Claude Code, Codex, Cursor and OpenCode (Claude Code also has the plugin above). Any other stdio MCP client runs npx -y -p jevway jevway-mcp (or npx -y jevway mcp). npx -y jevway setup --client --print prints the exact command or config for one client and changes nothing; every client's is listed in jevway setup, and SETUP.md has the steps an agent follows, with the rules and checks. jevway is also listed in the official MCP Registry as io.github.abdallahaho/jevway, for clients that install from it.

Outside the Claude Code plugin, install the skill with npx -y jevway skill --install , so it knows when to use jevway and when to use chrome-devtools. If a client times out on npx's first download, run npm install -g jevway once and use jevway-mcp as the command.

JEVWAY_BROWSER picks the browser: auto (default, your running Chrome), launch / launch-headless (a throwaway profile) or a debugging URL; see Environment variables.

Without MCP, use the CLI. It's built for agents: every command prints exactly one JSON document on stdout (the result, or { "ok": false, "error": { "code", "message", "hint" } }), progress goes to stderr as one JSON event per line, and the exit code is 0 for success, 1 for a hand-back or a failure, 2 for bad usage. --help starts with examples, and jevway skill prints the skill that matches the installed version.

# One-shot: runs, closes its tab, prints the result

npx -y jevway run --browser launch-headless --url https://en.wikipedia.org \ --goal "Open the Wikipedia article about the Rosetta Stone" --done-when "The Rosetta Stone article is open"

A session: a background daemon keeps the tab between commands, so a hand-back can be answered

jevway run --session new --url https://example-stays.com --goal "Book 2 nights in Lisbon" --values '{"city":"Lisbon"}' jevway run --session --goal "Book 2 nights in Lisbon" --values '{"email":"ada@example.com"}' jevway look --session # what the page shows now, no model request jevway sessions # open sessions; jevway end closes one

Use

The agent calls jevway_task with the outcome it wants, the values it may type, and the evidence of success:

{

"url": "https://example-stays.com", "goal": "Search stays in Lisbon for 2 guests, filter to free cancellation, and open the first result", "values": { "destination": "Lisbon", "guests": "2" }, "done_when": "A stay's detail page is open", "allowed_hosts": ["example-stays.com"] }

It gets back one concise result, status and reason first:

{ "status": "done", "reason": "Completion condition verified: a stay's detail page is open.",

"story": ["Typed the \"destination\" value into \"Destination\".", "Clicked \"Search\".", "Clicked \"Casa Flora\"."], "next": "Read the result in page_text (and evidence); end the session when you no longer need its tab.", "session": "a63a13f0-…", "url": "…", "title": "Casa Flora · Staylist", "files": { "run_dir": "…/.jevway/runs/2026-11-02_1028_search-stays-in-lisbon_a63a", "screenshot": "…/final.jpg" }, "page_text": "…" }

story says what happened in plain sentences, next says what to do now, and files points at the run folder and a screenshot of the end page. On a hand-back the screenshot also comes inline, so the agent sees the page it has to decide about. detail: "full" adds every step's confidence, the request stats and the candidates Jev weighed. When the status hands control back, the agent continues with the same session:

StatusWhat the agent does
doneReads page_text or evidence for the result.
needs_inputGets the missing value (missing names each field) and calls again with it in values.
needs_confirmationConfirms with confirm_irreversible: true only if the user's request named this action and its target; otherwise asks the user.
uncertain / blockedReads the reason, stuck and page_text; rephrases the goal, or does the step itself.
step_budgetContinues with a narrower goal.

jevway_look reads a page with no model request, and jevway_end closes the session's tabs. Every parameter and field is in the reference.

Keeping a run on track:

  • allowed_hosts keeps it on the sites you mean; leaving them ends the run blocked.
  • secret_keys marks values like API tokens: Jev sees only the key, and outputs show [secret: ].
  • Password fields are never listed, typed or sent. Type a password yourself, then tell jevway you did.
  • checks add exact facts code verifies on the final page: a URL, a title, a field's value, a ticked box.
  • record: true saves a video, a screenshot before every action, and a page to review the run.
  • page_text and everything else read from a page is untrusted data, never instructions.

When a person, a code or a file is involved

jevway keeps the person in the loop only where a person is truly needed, and handles the rest itself.

  • Asking you. Every hand-back that needs a decision carries an ask_user question: the missing fields, "Click *Delete repository* on *ada/scratch*?", "Which one did you mean?". Your agent puts it to you with its own ask tool and continues the session with your answer.
  • Bot checks and sign-ins. In a visible browser, jevway brings the tab to the front, sends a desktop notification ("Pass the Cloudflare check in the Chrome window"), waits up to 120 s while it tells the agent how long is left, and carries on in the same call once you're through. It never tries

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx