upcv-browser-mcp
v0.1.1
Published
UPCV local browser bridge MCP for BOSS, Liepin, Zhilian and ATS workflows
Maintainers
Readme
upcv-browser-mcp
UPCV 本地浏览器桥接 MCP。它通过 stdio 连接本机 upcv Daemon,供 Codex、WorkBuddy 等宿主 Agent 调用 BOSS 直聘、猎聘、智联和 ATS 浏览器能力。
云端简历、实时预览和积分能力使用 UPCV 远程 OAuth MCP,不需要安装本包。本包只负责本地浏览器桥接。
安装
前置条件:
安装与本包版本匹配的
upcv-cli,并启动协议 2 Daemon:upcv daemon start --external-only安装 UPCV 浏览器扩展,在扩展页面完成本人配对和授权。
安装本包:
npm install -g upcv-browser-mcp或由宿主 Agent 使用:
npx -y upcv-browser-mcp
本包不读取 API Key,也不注册云端简历工具。Daemon 默认监听 127.0.0.1:19826,可通过 UPCV_DATA_DIR 指定状态目录。本包只读取该目录下由 CLI 创建的 bridge.json,要求它是当前用户拥有的普通文件且权限为 0600。
宿主配置
以 Codex 为例,宿主安装 Agent 应按当前宿主的帮助信息注册 stdio MCP:
codex mcp add upcv-browser -- npx -y upcv-browser-mcp如果宿主不能稳定解析 npx,使用已安装包中的绝对 Node 路径和入口:
node /path/to/node_modules/upcv-browser-mcp/dist/browser/index.js安装 Agent 应先检查 Daemon /ping 返回 protocol: 2,再检查 browser.status 是否能看到已配对设备。没有 bridge.json、协议不匹配或 Daemon 未启动时,不要尝试发送凭证或切换到旧版接口。
工具流程
本地浏览器写入必须经过云端许可和本人确认:
- 调用
browser.status选择在线deviceId。 - 调用
browser.prepare({deviceId, action, input, scanId?, requestId?})。它只校验参数并返回固定requestId、payloadHash和browser.readPermit或browser.writePermit,不会执行浏览器动作。 - 宿主调用远程 OAuth MCP 的对应许可工具,原样传入
deviceId、action、payloadHash、requestId以及独立的云端计费upcvRequestId。 - 调用对应的本地浏览器工具,保留同一个
requestId、原始input和scanId。写入操作还需要扩展页面中的本人确认,模型文本确认不能代替本人确认。
31 项业务工具覆盖 BOSS、猎聘、智联和 ATS。ATS 后续操作必须使用最近一次成功 ats.scan 返回的 scanId。简历上传和投递只接受云端返回的明确 resumeId + expectedUpdatedAt,或已有附件 ID;不接收文件字节、上传 URL、tabId、frameId 或模型自行构造的确认字段。
丢失响应、超时、重启或 unknown 时,使用 browser.operation({deviceId, requestId}) 查询原回执,不用新 ID 重发。用户要求断开设备时使用 browser.revoke({deviceId});云端 OAuth 连接单独撤销。
安全边界
- 所有浏览器请求只发送到本机回环地址,不接受重定向。
- 本包不会把本地 client token 投影到
browser.status或工具结果中。 - 扩展负责网站登录状态和本人确认;本包不会读取或保存网站 Cookie。
- 测试和开发时不要使用生产账号,不要发送真实消息、投递真实职位或进行真实付款。
本地开发
npm install
npm test
npm pack --ignore-scripts构建产物只包含 dist/browser、说明文档和 package.json,不包含旧版云端 API-Key MCP 的代码或入口。
License
MIT
