Token导航 LogoToken导航

MCP Server · 浏览器工具

showrun (Useshowrun)

一个基于TypeScript和Playwright的确定性、版本化浏览器自动化框架,支持通过JSON或代码定义流程,并通过CLI或MCP运行。

stdio官方级别未说明来源级核验工具 0showrun@latest
浏览器自动化版本控制JavaScriptAI辅助

快速开始

作者 / 组织
useshowrun
提供方
useshowrun
运行时
Node.js

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

2

仓库热度

收录来源

1 个

MCP World

选型结论

showrun (Useshowrun) 属于浏览器工具类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前要先准备 API Key。

分类

浏览器工具

传输方式

stdio

认证方式

API Key

部署方式

公开资料未说明

安装与配置

安装命令

npx showrun@latest dashboard --headful # --headful is optional; omit for headless mode

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Node.js,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

ShowRun

用于确定性、版本化浏览器自动化的TypeScript+Playwright框架 任务包:以JSON或代码定义流,通过CLI或MCP运行它们,并使用AI辅助仪表板(示教模式)进行编辑。

何时使用ShowRun

  • 在没有API的情况下工作 -在没有公共或文档化API(如遗留平台)的情况下实现站点自动化,尽管它与现有API一起工作也很好
  • 浏览器代理太慢或不稳定 --你需要生产级的可靠性,而不是尽力而为的提示
  • 自动化需要内存、迭代和速度 --工作流程不断发展,您需要版本化、可重复的运行
  • 人工智能发现工作流程,人类拥有它 --使用Teach Mode让AI提出步骤,然后将其锁定到确定性和可导出的流中

快速开始

使用npx

# Launch the dashboard — that's it!
# On first run, a setup wizard will prompt for your API key
# and the Camoufox browser will be downloaded automatically.
npx showrun@latest dashboard --headful  # --headful is optional; omit for headless mode

从Git克隆

# Clone the repository
git clone https://github.com/useshowrun/showrun
cd showrun

# Install dependencies (requires pnpm)
pnpm install

# Approve native module builds (pnpm 10+ requires this for native deps like better-sqlite3)
pnpm approve-builds

# Build all packages
pnpm build

# Start the dashboard (Camoufox browser downloads automatically on first launch)
pnpm dashboard --headful

运行示例

pnpm test:example

什么是任务包?

A. 任务包 是一个独立的、版本化的自动化模块,它:

  • 定义自己的元数据(id、名称、版本、描述)
  • 声明输入模式(它接受哪些参数)
  • 声明收藏品模式(它提取什么数据)
  • 实现确定性 run() 使用Playwright执行浏览器自动化的函数
  • 可以独立进行版本控制和升级

任务包旨在:

  • 确定性的:运行时没有人工智能,纯代码执行
  • 版本化:每个包在元数据中都有自己的版本
  • 便携的:可以独立打包和分发
  • 可测试的:结构化日志记录和错误工件收集

项目结构

/showrun
  /packages
    /core               # Types, loader, validator, runner, DSL interpreter, auth resilience
    /harness            # CLI to load + execute a task pack
    /mcp-server         # MCP server exposing Task Packs as tools (HTTP/SSE)
    /dashboard         # Web UI: run packs, view runs, Teach Mode (AI-assisted flow editing)
    /browser-inspector-mcp  # MCP for browser inspection (screenshots, DOM, network)
    /taskpack-editor-mcp   # MCP for editing task pack flows (apply patches, run pack)
    /showrun            # Unified CLI (dashboard, MCP, etc.)
  /taskpacks
    /example            # TypeScript task pack
    /example-json       # JSON-only task pack (no build step)
    /ycombinator.get.batch  # Example with network steps + run-once

创建新任务包

任务包使用 json-dsl 包含两个文件的格式:

  • taskpack.json -元数据(id、名称、版本、描述)
  • flow.json -输入、收藏品和流程步骤

无需构建步骤!

1.创建任务包目录

mkdir -p taskpacks/my-pack

2.创建 taskpack.json

{
  "id": "my.pack.id",
  "name": "My Task Pack",
  "version": "0.1.0",
  "description": "What this pack does",
  "kind": "json-dsl"
}

3.创建 flow.json

{
  "inputs": {
    "url": {
      "type": "string",
      "required": true,
      "description": "URL to navigate to"
    }
  },
  "collectibles": [
    {
      "name": "title",
      "type": "string",
      "description": "Page title"
    }
  ],
  "flow": [
    {
      "id": "navigate",
      "type": "navigate",
      "params": {
        "url": "{{inputs.url}}",
        "waitUntil": "networkidle"
      }
    },
    {
      "id": "extract_title",
      "type": "extract_title",
      "params": {
        "out": "title"
      }
    }
  ]
}

就是这样!看 taskpacks/example-json/ 举一个完整的例子。

4.跑你的包

node packages/showrun/dist/cli.js run ./taskpacks/my-pack --inputs '{"url":"https://example.com"}'

退出代码: 0 成功, 1 执行失败, 2 验证错误。

日志和工件

当任务包运行时,线束会创建一个带时间戳的运行目录:

./runs//
  events.jsonl          # Structured log events (JSONL format)
  artifacts/            # Screenshots and HTML snapshots (on error)
    error.png
    error.html

日志事件

事件被写成JSONL(每行一个JSON对象):

  • run_started:包执行开始
  • step_started:一个步骤开始
  • step_finished:一个步骤完成
  • run_finished:包执行完成
  • error:发生错误

每个活动包括:

  • timestamp:ISO 8601时间戳
  • type:事件类型
  • data:事件特定数据

人工制品

出现错误时,线束会自动保存:

  • 全页面截图(error.png)
  • 页面HTML快照(error.html)

这些已保存到 ./runs//artifacts/.

仪表板和示教模式

仪表板是一个web UI,用于运行任务包、查看运行和事件以及编辑流 教学模式 (使用LLM和浏览器MCP的AI辅助步骤建议)。

pnpm dashboard                          # headless (default)
pnpm dashboard --headful                # see the browser window
pnpm dashboard --packs ./my-packs       # custom packs directory

打开终端中显示的URL。使用示教模式让AI通过在浏览器中描述操作来提出DSL步骤。

看 packages/dashboard/README.md 用于环境变量和完整选项。

配置

ShowRun使用分层配置系统。值按以下顺序解决(最高优先级获胜):

Real env vars > .env file > project config.json > global config.json > built-in defaults

快速设置

# Create a project-local config
showrun config init

# Or create a global config (shared across all projects)
showrun config init --global

# See what ShowRun resolved
showrun config show

# See which directories are searched
showrun config path

配置文件格式

配置文件存储为 .showrun/config.json (项目本地)或特定于平台的全局目录中:

平台全局配置目录
Linux$XDG_CONFIG_HOME/showrun/ (默认值: ~/.config/showrun/)
macOS$XDG_CONFIG_HOME/showrun/ (默认值: ~/.config/showrun/)
窗户%APPDATA%\showrun\
{
  "llm": {
    "provider": "anthropic",
    "anthropic": { "apiKey": "sk-ant-...", "model": "", "baseUrl": "" },
    "openai": { "apiKey": "", "model": "", "baseUrl": "" }
  },
  "agent": {
    "maxBrowserRounds": 0
  },
  "prompts": {
    "teachChatSystemPrompt": "",
    "autonomousExplorationPromptPath": "",
    "teachModeSystemPromptPath": ""
  }
}

每个键都映射到一个环境变量。价值观来自 config.json 仅当相应的env变量为 尚未设置,所以 .env 真正的环境变量总是赢。

config.json路径环境变量
llm.providerLLM_PROVIDER
llm.anthropic.apiKeyANTHROPIC_API_KEY
llm.anthropic.modelANTHROPIC_MODEL
llm.anthropic.baseUrlANTHROPIC_BASE_URL
llm.openai.apiKeyOPENAI_API_KEY
llm.openai.modelOPENAI_MODEL
llm.openai.baseUrlOPENAI_BASE_URL
agent.maxBrowserRoundsMAX_BROWSER_ROUNDS
prompts.teachChatSystemPromptTEACH_CHAT_SYSTEM_PROMPT
prompts.explorationAgentPromptPathEXPLORATION_AGENT_PROMPT_PATH

目录搜索顺序

ShowRun搜索 .showrun/config.json 在多个位置(从最低到最高优先级):

  1. 全局配置目录(特定于平台,见上表)
  2. $HOME/.showrun/ (仅限Linux/macOS)
  3. 从cwd中走出来的祖先目录(例如。 ../../.showrun/)
  4. /.showrun/

当发现多个配置文件时,它们会被深度合并,优先级更高的值获胜。

系统提示

探索代理的系统提示在可用时从Techniques DB动态组装。当数据库不可用时,会使用内置的回退提示。您可以通过以下方式覆盖提示 TEACH_CHAT_SYSTEM_PROMPT env-var(内联文本)或 EXPLORATION_AGENT_PROMPT_PATH env-var(文件路径)。

MCP服务器

将任务包作为人工智能代理的MCP工具公开:

node packages/showrun/dist/cli.js serve --packs ./taskpacks          # stdio transport
node packages/showrun/dist/cli.js serve --packs ./taskpacks --http   # HTTP/SSE transport

看 packages/mcp-server/README.md 了解详情。

需求

  • Node.js 20+
  • pnpm(用于开发;npx适用于最终用户)
实验性 --该项目尚处于早期开发阶段。API、文件格式和CLI接口可能会更改,恕不另行通知。

贡献

目前还没有正式的贡献指南。也就是说,所有的贡献都是受欢迎的——随时可以公开问题、提交拉取请求或开始讨论。

许可证

麻省理工学院

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

浏览器自动化JavaScript本地部署Playwright任务流程AI辅助版本控制

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

自动操作网页

打开页面、点击、填表,把浏览器动作交给模型执行。

抓结构化数据

把页面内容整理成表格或 JSON,省掉手工复制粘贴。

走一遍关键流程

按步骤检查页面是否正常,回归时少漏环节。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Node.js,换机器要重新装一遍。
  • 需要自备API Key,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在浏览器工具场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到API Key的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
showrun (Useshowrun)

MCP World · 本页

0stdio有1 个2026-05-17
Fetch 9a2682de

MCP.so

1SSE有3 个2026-05-17
Browser 738d52bc

MCP World

0stdio有1 个2026-05-17
Playwright MCP Server

MCP.so

21stdio有4 个2026-05-17
Skyvern MCP

MCP World

0stdio有2 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

showrun (Useshowrun) 怎么安装?

公开资料给出的安装命令是 npx showrun@latest dashboard --headful # --headful is optional; omit for headless mode,运行环境为 Node.js。装完后按客户端要求写进 MCP 配置,重启客户端生效。

showrun (Useshowrun) 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Node.js;保存后完全退出客户端再打开,配置才会生效。

showrun (Useshowrun) 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

showrun (Useshowrun) 需要 API Key 吗?

公开资料标注的认证方式是API Key,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

showrun (Useshowrun) 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP