
Cowork Qa
io.github.inSideos-designs由 GitHub 账号 inSideos-designs 发布v0.1.1更新于 Oct 24, 2026
Goal-driven Playwright browser sessions for LLMs, with full action traces and aria-snapshots.
概览
通过 Playwright 为助手提供真实的 Chromium 浏览器,记录朝既定目标执行的每一步操作,并返回结构化追踪记录供复核。
- 可以做什么
- 以目标驱动的方式运行浏览器会话,提供五个工具:session_start 打开标签页并返回会话 id,session_act 执行 goto、click、fill、press 或 eval,session_observe 返回当前 URL 和完整 aria 快照,session_end 关闭标签页并持久化追踪记录,qa_get_trace 返回目标、每一步操作、最终 URL 和最终 aria 快照。每个操作都会记录时间戳、操作后的 URL 以及页面 aria 快照,便于编排模型事后判断目标是否达成。
- 适用场景
- 适合需要让助手驱动真实浏览器完成明确目标、并希望留下可审计操作记录的场合,而不是无状态的点击加读取循环。适用于脚本化的网页检查以及浏览会话的事后评估。
- 运行要求
- 以 stdio 运行的本地进程;需要 Node 20 或更高版本,通过 npx 或 npm 安装(cowork-qa-mcp)。首次安装会通过 Playwright 的 postinstall 下载 Chromium(约 150 MB)。可选环境变量:COWORK_QA_DATA 指定追踪记录输出目录(默认 /.cowork-qa),COWORK_QA_HEADED=1 显示浏览器窗口而非无头运行。仅支持桌面端;未声明身份验证。
安装
在 SourceWeft 中
- 打开 控制台中的 Cowork Qa,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
cowork-qa-mcp
A Model Context Protocol server that gives an LLM a real Chromium browser, records every action it takes toward a stated goal, and hands back a structured trace so the LLM (or a second LLM) can decide whether the goal was actually achieved.
Built on Playwright. Five tools, one binary, no cloud dependency.
Why
Most browser-tool MCP servers are stateless — the LLM clicks, gets HTML back, repeats. There's no record of what happened, no way to grade the run after the fact, and no goal context.
cowork-qa-mcp flips that:
- Every session starts with a goal in plain English.
- Every action (
goto,click,fill,press,eval) is recorded with timestamps, the URL after, and the page's aria-snapshot. - When the session ends, a JSON trace is persisted to disk and exposed via a single
qa_get_tracecall.
The orchestrating LLM can then reason over the trace ("did this run actually fulfill the goal, or did it click the wrong button?") instead of trusting the run-time chatter.
Tools
Install
Requires Node 20+. The package is on npm — no clone needed.
The first install pulls Chromium via Playwright's postinstall (~150 MB).
Wire into your MCP-compatible client
Claude Code
To watch the browser instead of running headless:
Verify with /mcp inside a fresh claude session — you should see cowork-qa ✓ connected and 5 tools.
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
Cursor / Windsurf / other MCP clients
Any client that speaks the MCP stdio transport works. Point its server config at npx -y cowork-qa-mcp.
From source (for development)
MCP Registry
This server is also published on the official MCP Server Registry as io.github.inSideos-designs/cowork-qa — clients that auto-discover from the registry will find it without any manual config.
Environment variables
Usage example
A typical end-to-end loop the orchestrating LLM runs:
Trace format
Each trace is a JSON file:
Limitations / known quirks
session_observecalls don't show up in the trace's step count — onlysession_actcalls do. The final aria-snapshot is captured atsession_end.evalruns the JS expression but doesn't return the value to the caller — only side effects on the page are observable.- One Chromium process is shared across all sessions in a server instance; each session gets its own context (cookies, etc. are isolated).
- Selectors are passed straight to Playwright. CSS, text-selectors (
button:has-text("Send")), androle=selectors all work.
License
MIT — see LICENSE.
Contributing
PRs welcome. Keep it small: this is meant to stay a thin, auditable server.
来源:README.md,提交 bdf3971
工具
0版本历史
1- v0.1.1最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分