Token导航 LogoToken导航TokenDH.com
MCP Playwright MCP logo
浏览器工具stdio官方级别未说明来源级核验

MCP Playwright MCP

MCP Server

通过Playwright MCP和文件系统MCP捕获真实浏览器网络请求(URL、方法、状态、头信息等)并保存为JSONL格式的本地文件,适用于自动化测试和网络监控。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
浏览器自动化网络监控Python自动化测试

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

JovaniPink

提供方

JovaniPink

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install "mcp[cli]"

详细介绍

MCP网络捕获

剧作家MCP+文件系统MCP+Python客户端

捕获真实的浏览器网络请求(URL、方法、状态、标头、可选正文/跟踪),并将其保存为 换行符分隔的JSON(JSONL). 此repo连接 剧作家MCP (浏览器自动化) 文件系统MCP (安全写入)和a 小型无头Python客户端.

______________________________________________________________________

为什么存在

  • 你需要 可靠的网络捕获 来自真实的浏览器会话。
  • browser-use 不会将网络捕获作为一流的工具;剧作家MCP确实如此。
  • 这个解决方案是 最小, 可编写脚本的,以及 生产准备就绪:导航→ 正确等待→ 获取网络日志→ 坚持JSONL。

______________________________________________________________________

你得到了什么

  • 无头CLI (capture_network.py)–无需聊天UI即可自动捕获
  • 语义等待 (networkidle)回退到定时睡眠
  • 重试 对片状页面/工具进行指数级回退
  • 客户端过滤器 (URL正则表达式、方法、状态范围)
  • 结构化日志记录 带有env覆盖
  • 安全本地写入 通过文件系统MCP服务器
  • 🧩 可选: 交互式 带有Ollama MCP客户端的代理流(用于临时会话)

______________________________________________________________________

建筑(一览)

+------------------+          SSE (HTTP)           +-----------------------+
|  capture_network |  -------------------------->  |  Playwright MCP       |
|  (Python client) |                                |  (real Chromium)      |
+---------+--------+                                |  tools:               |
          | stdio                                    |   - browser_navigate  |
          v                                          |   - browser_wait_for  |
+-----------------------+                            |   - browser_network_* |
| Filesystem MCP server |  任何维护的文件系统MCP只要公开就可以工作 `write_file` (并且可选地, `create_directory`).

### 3) 运行捕获

mkdir -p "$HOME/mcp_captures/captures"

uv run capture_network.py \ --url https://yourapp.com \ --out "$HOME/mcp_captures/captures/yourapp_{ts}.jsonl" \ --sse http://127.0.0.1:8931/sse \ --fs-cmd npx \ --fs-args "@agent-infra/mcp-server-filesystem@latest" \ --wait-mode networkidle \ --wait 15 \ --filter-url "api\\.yourapp\\.com" \ --filter-method GET \ --status-min 200 --status-max 399


输出:

/Users/you/mcp_captures/captures/yourapp_20250926_140321.jsonl


______________________________________________________________________

## CLI选项(高值标志)

--url URL to navigate (required) --sse Playwright MCP SSE URL (default: http://127.0.0.1:8931/sse) --fs-cmd Filesystem MCP command (default: npx) --fs-args Filesystem MCP args (default: @agent-infra/mcp-server-filesystem@latest) --out Output JSONL path (supports {ts}) --wait Seconds (timeout for semantic waiting; duration for sleep) --wait-mode networkidle | sleep (default: networkidle) --filter-url Python regex to filter request URLs --filter-method GET|POST|PUT|PATCH|DELETE... --status-min Minimum status code to keep (default: 0) --status-max Maximum status code to keep (default: 999)


______________________________________________________________________

## 环境变量(可选)

这些镜像CLI标志;为可重复运行设置一次。

PLAYWRIGHT_MCP_SSE_URL # default: http://127.0.0.1:8931/sse FILESYSTEM_MCP_CMD # default: npx FILESYSTEM_MCP_ARGS # default: "@agent-infra/mcp-server-filesystem@latest" CAPTURE_OUT # default: ~/mcp_captures/captures/capture_{ts}.jsonl CAPTURE_WAIT_MODE # default: networkidle CAPTURE_WAIT_SECS # default: 5 CAPTURE_FILTER_URL CAPTURE_FILTER_METHOD CAPTURE_STATUS_MIN # default: 0 CAPTURE_STATUS_MAX # default: 999 LOG_LEVEL # default: INFO (DEBUG for dev) LOG_FORMAT # default: "%(asctime)s %(levelname)s %(name)s - %(message)s" LOG_DATEFMT # default: "%Y-%m-%d %H:%M:%S"


______________________________________________________________________

## 写什么(JSONL格式)

每行一个JSON对象;模式取决于服务器版本。大多数构建返回一个请求/响应对列表,如:

{ "request": { "url": "https://api.yourapp.com/v1/users", "method": "GET", "headers": { "...": "..." }, "postData": null }, "response": { "status": 200, "headers": { "...": "..." }, "timing": { "startTime": 123.4, "requestTime": 456.7 } }, "ts": "2025-09-26T14:03:21Z" }


### Peek/过滤器 `jq`

Count lines

wc -l yourapp_*.jsonl

Show all non-2xx

jq -r 'select(.response.status = 300) | .request.url' yourapp_*.jsonl


______________________________________________________________________

## 互动式(可选):途经Ollama+ `ollmcp`

如果你想让聊天UI来编排工具:

1. 启动相同的两个MCP服务器(SSE+stdio)。
1. 安装客户端: `pip install ollmcp`
1. 创建 `servers.json`:

{ "mcpServers": { "playwright": { "type": "sse", "url": "http://127.0.0.1:8931/sse" }, "filesystem": { "command": "npx", "args": ["@agent-infra/mcp-server-filesystem@latest"] } } }


4. 运行:

ollmcp --servers-json ./servers.json --model qwen2.5:7b


5. 提示:

> 引导到 `https://yourapp.com`,等待网络空闲,呼叫 `playwright:browser_network_requests`那么 `filesystem:write_file` 到 `captures/yourapp_{today}.jsonl`.

______________________________________________________________________

## 故障排除

- **空捕获**
  使用 `--wait-mode networkidle --wait 15` (或更多)。一些应用程序会进行投票;考虑分步捕获(导航→ 互动→ 再次捕获)。

- **导航永远不会稳定**
  保持 `--block-service-workers` 在服务器上。尝试更长时间 `--wait` 或更改为 `--wait-mode sleep`.

- **`write_file` 失败**
  您的FS服务器可能限制了路径。从以下内容开始 `--allowed-directories "$HOME/mcp_captures"` (或同等)。

- **巨大的文件**
  添加 `--filter-url`, `--filter-method`, `--status-min/max`,并使用服务器标志 `--image-responses=omit`.

- **需要响应机构/跟踪**
  开始剧作家MCP `--save-trace` (稍后用Playwright工具检查)。如果你的MCP变体暴露了响应体,它们将出现在JSON中;否则继续使用痕迹。

______________________________________________________________________

## 安全与合规

- 仅浏览 **可信来源**;set `--allowed-origins` 因此。
- 捕获的数据可能包括 **令牌、PII、标头**。安全存储,静态加密,共享前擦除。
- 尊重 **robots.txt**、网站条款和适用法律。您对如何使用此工具负责。

______________________________________________________________________

## 扩展解决方案

- **日程**:cron、GitHub操作或Airflow作业调用 `capture_network.py`.
- **存储**:将文件系统MCP替换为云存储MCP(S3/GCS)或同时写入两者。
- **更富有的等待**:通过添加选择器/文本等待 `browser_wait_for` 变体。
- **多步流**:导航→ 点击→ 捕捉→ fill → 捕获(多次调用脚本或将其扩展为顺序步骤)。
- **指标**:使用遥测数据包装运行(持续时间、请求计数、失败率)。

______________________________________________________________________

## 项目布局(建议)

. ├─ capture_network.py # CLI client (this README documents it) ├─ README.md └─ examples/ ├─ servers.json # for ollmcp (optional) └─ scripts/ # any helper shell scripts


______________________________________________________________________

## 许可证

选择一个许可证(例如MIT或Apache-2.0)并将其添加到仓库中。

______________________________________________________________________

### 最后说明

这种设置有意地小而明确。如果你以后不再需要JSONL或需要深度协议级数据(WebSocket帧、大规模主体、HAR差异),Playwright的原生 **跟踪/HAR** 功能与同一MCP服务器干净集成。

目录标签

目录标签

浏览器自动化网络监控Python自动化测试本地部署JSONL存储Playwright

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

来源信息

继续浏览同类 MCP