mcpField
Q
QA Wrap bridge

QA Wrap bridge

本地服务
nj-burrito.github.io开发工具13 天前更新

关于 QA Wrap bridge

QA Wrap bridge 是供编码 Agent 查看 QA Wrap 测试会话的本地只读 MCP 服务。它通过浏览器扩展读取记录,并在返回会话信息前屏蔽敏感数据。

主要功能

  1. 01列出已记录的测试会话
  2. 02读取会话详情和失败项
  3. 03获取精简版 AI 摘要
  4. 04屏蔽返回文本中的敏感数据
  5. 05仅限本地通信且不提供写入工具

适用场景

  1. 01在编码 Agent 中查看最近的测试会话
  2. 02检查失败请求和控制台错误
  3. 03向 Agent 提供精简测试摘要

MCP 相关

通过 stdio 向 MCP 客户端提供四种只读工具。原生消息主机通过本地套接字将服务连接到 QA Wrap 浏览器扩展。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"nj-burrito-qa-wrap-bridge": {
"command": "npx",
"args": [
"-y",
"qa-wrap-bridge"
]
}
}
}
启动命令npx -y qa-wrap-bridge

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmqa-wrap-bridge0.1.0

工具

4

收录的工具列表 · 更新于 1 周前

参数类型必填说明
limitinteger否要列出的会话数(默认值为 20)。

详细介绍

qa-wrap-bridge

让编码 Agent(Claude Code、Cursor 或任何 MCP 客户端)读取 QA Wrap 中记录的测试会话。

这是一个小型 Node 程序,有两项功能:

  • 一个由 Agent 启动的 MCP 服务(stdio),以及
  • 一个由 Chrome 或 Edge 启动的 原生消息传递主机,让服务能够向 QA Wrap 扩展询问其保存的内容。

这是可选功能。不启用它,QA Wrap 也能照常工作;只有在 QA Wrap 的 Settings 中开启 Agent bridge 后,它才会运行。

设置

  1. 在终端中安装此辅助工具的注册信息,只需安装一次:

    npx qa-wrap-bridge
    

    这会将主机复制到 ~/.qa-wrap-bridge/host/,为 Chrome 和 Edge 写入原生消息传递主机清单(Windows 上写入注册表,macOS 和 Linux 上写入浏览器的 NativeMessagingHosts 文件夹),在其旁边创建一个私钥文件,并输出 Agent 的配置。需要 Node 20 或更高版本。

  2. 在 QA Wrap 中打开 Settings > Privacy,并开启 Agent bridge。浏览器会请求一项权限:nativeMessaging。QA Wrap 只会在此时请求该权限,并会在你关闭桥接功能时归还权限。

  3. 告知 Agent 此服务。命令会为你的系统输出以下配置:

    Claude Code:

    claude mcp add qa-wrap -- npx -y [email protected] mcp
    

    Cursor(.cursor/mcp.json)或任何读取 .mcp.json 的客户端:

    { "mcpServers": { "qa-wrap": { "command": "npx", "args": ["-y", "qa-wrap-bridge", "mcp"] } } }
    

    在 Windows 上,命令为 cmd,参数为 /c npx -y [email protected] mcp。

如果使用的 QA Wrap 是 Microsoft Edge Add-ons 版本(其扩展 ID 不同),请添加:npx qa-wrap-bridge install --extension-id <the 32-letter id from edge://extensions>。

要移除所有内容:npx qa-wrap-bridge uninstall。

Agent 可以请求的内容

工具返回内容
list_sessions此设备上的会话,按时间从新到旧排列:ID、标题、开始和结束时间、状态、事件和失败数量。可选参数 limit。
get_session一个会话,采用已记录的 qawrap.session/1 格式(extension/docs/session-json.md)。可选参数 session_id;若省略,则返回最新会话。
get_failures一个会话中仅包含失败的内容(失败的请求和控制台错误;重复项会合并并附带计数)。
get_ai_brief“Copy for AI”生成的精简纯文本块。

在 MCP 中,这四项均标记为只读。

它绝对无法做到的事

  • 写入。 没有任何工具可以启动、更改、重命名或删除内容。主机只转发上面列出的四个名称,扩展也只通过不包含写入调用的代码来响应。两项测试对此进行了验证。
  • 连接网络。 主机监听本地管道(Windows)或 Unix 套接字(macOS、Linux),绝不监听 TCP 端口,也不会建立任何出站连接。如果源代码提及 HTTP、TLS、UDP 或 WebSocket 模块,测试就会失败。
  • 被设备上的其他程序使用。 ~/.qa-wrap-bridge/token 中的密钥(只有你的用户可读取;在 Windows 上,安装程序通过 icacls 将其限制为仅你可访问)绝不会通过套接字传输:在发送问题之前,服务和主机各自通过一次性质询证明自己持有该密钥,因此,即使某个程序接管了套接字名称,也无法获取任何信息。macOS 和 Linux 上的套接字权限为 0600。
  • 泄露遮蔽所移除的内容。 答案由与 QA Wrap 的 AI 导出相同的函数生成;在文本离开扩展之前,会遮蔽密码、令牌、密钥、卡号以及 URL 中名称与凭据相关的参数。请求和响应正文绝不会完整包含在答案中。如果扩展无法在浏览器的 1 MiB 限制内放入内容,就会缩短内容并说明这一点。

Agent 如何处理收到的文本(包括是否发送给模型)属于 Agent 自身的行为。只有当你信任某个 Agent 可以访问测试数据时,才开启桥接功能。

各组件如何通信

agent --stdio--> qa-wrap-bridge mcp --local socket--> host (started by the browser) --native messaging--> QA Wrap extension

只有在桥接已开启 且 已授予权限时,扩展才会保持原生端口开放。如果浏览器已关闭或桥接已关闭,工具调用会返回一句说明 QA Wrap 未连接的消息。

同一时间只能有一个浏览器占用主机(第二个浏览器的主机进程会因套接字已被占用而退出)。

开发

npm install
npm test

npm test 会启动真实主机作为子进程,通过虚拟浏览器端口进行测试;通过官方客户端测试 MCP 服务;并在临时文件夹中测试适用于 Windows、macOS 和 Linux 的安装程序。扩展也会运行 node tools/test-agent-bridge.mjs,并测试扩展端的功能。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。