1. 服务概述
一句话简介:驱动真实的Chrome浏览器会话,实现Claude副驾驶模式,具备交接感知能力
- 服务名称:mcp-helm
- 版本号:v0.1
- 开发者/提供方:flying-pisces
- 协议类型:MCP (Model Context Protocol)
2. 核心功能
该MCP服务提供以下主要功能:
- 浏览器连接:连接到真实的Chrome浏览器(端口9222),而非启动新的浏览器实例
- 标签页管理:列出所有打开的标签页,切换活动标签页
- 页面截图:截取页面PNG图像,获取URL和标题,检测交接触发器(2FA提示、验证码等)
- 元素检查:通过可访问性树获取交互元素的编号列表
- 点击操作:通过ID、文本或CSS选择器点击元素,返回截图差异检测结果
- 文本输入:在字段中输入文本,支持自动提交
- 页面导航:导航到指定URL
- 等待机制:等待特定文本或选择器出现
- 交接感知:检测敏感操作(2FA、支付确认等)并暂停等待人工接管
3. 使用场景
该服务适合在以下情况下使用:
- Apple服务自动化:自动化App Store Connect等Apple服务的操作流程
- Cloudflare管理:自动化Cloudflare仪表板任务,包括导航和交互
- Google Play Console:自动化Google Play Console和其他Google服务的操作
- Stripe仪表板:自动化Stripe仪表板操作,包括导航、点击和表单填写
- Vercel操作:自动化Vercel仪表板操作,通过实时Chrome会话驱动
- 需要登录态的自动化:利用已有的登录状态、Cookie和2FA,避免重复登录
4. 接入方式
4.1 服务端点
该服务需要连接到本地Chrome浏览器的远程调试端口:
- 调试端口:9222
- 用户数据目录:~/.chrome-pilot(独立配置文件)
- 协议:Chrome DevTools Protocol
4.2 认证与权限
该服务使用您已登录Chrome会话中的认证信息:
- 利用现有Chrome配置文件中的Cookie和登录状态
- 支持2FA、生物识别等安全验证
- 交接机制确保敏感操作需要人工确认
4.3 数据格式
服务使用以下数据格式:
- 截图:PNG格式图像
- 元素选择:基于可访问性树的语义ID
- 配置文件:JSON格式
4.4 服务器配置
在MCP客户端配置中添加服务:
{ "mcpServers": { "helm": { "command": "mcp-helm" } } }5. 接口定义
| 工具名称 | 功能描述 | 参数说明 |
|---|---|---|
attach | 连接到Chrome(端口9222) | 无参数,必须首先调用 |
list_tabs | 列出所有打开的标签页 | 无参数 |
focus_tab | 切换活动标签页 | index: 标签索引 或 url: URL子串 |
screenshot | 截取页面截图 | 返回PNG、URL、标题和交接触发器 |
inspect | 检查交互元素 | 返回可访问性树中的编号元素列表 |
click | 点击元素 | id: 元素ID / text: 文本 / selector: CSS选择器 |
type | 输入文本 | text: 文本内容, submit: 是否按Enter |
navigate | 导航到URL | url: 目标URL |
wait_for | 等待元素出现 | text: 文本 或 selector: 选择器 |
handoff | 暂停并请求人工接管 | 无参数 |
6. 快速开始
6.1 环境要求
- Node.js(建议v16或更高版本)
- Google Chrome浏览器
- npm或yarn包管理器
6.2 安装步骤
步骤1:全局安装mcp-helm
npm install -g mcp-helm步骤2:配置Chrome启动别名
在您的shell配置文件(如~/.bashrc或~/.zshrc)中添加:
alias chrome-pilot='open -a "Google Chrome" --args --remote-debugging-port=9222 --user-data-dir=$HOME/.chrome-pilot'步骤3:启动可驱动的Chrome
chrome-pilot这将打开一个独立的Chrome配置文件,在其中登录您需要自动化的服务(Play Console、Stripe等)。Cookie将在多次启动间保持,您只需登录一次。
步骤4:配置MCP客户端
在~/.claude.json中添加服务器配置(见4.4节)
6.3 使用示例
用户:上传AAB文件到Play Store内部测试 Claude:[调用 helm.attach] → [helm.navigate 到 play.google.com/console] → [helm.screenshot] 查看仪表板 → [helm.click "Personalized AI Portfolio Bot"] → ... 继续操作7. 注意事项
重要提醒
- 独立Chrome配置文件:必须使用独立的Chrome配置文件(~/.chrome-pilot),因为主Chrome在运行时无法启用远程调试模式
- 首次登录:在chrome-pilot中登录所需服务后,Cookie将持久化保存
- 交接机制:当检测到2FA提示、验证码、支付确认或生物识别请求时,服务会自动暂停并等待人工处理
当前限制(v0.1)
- 不支持Shadow DOM组件(某些Web组件密集型网站)
- 不支持iframe(需要框架切换功能)
- 不支持从磁盘上传文件
- 仅支持Enter键盘快捷键
设计优势
- 可访问性树而非坐标:使用语义ID而非视觉坐标,避免Retina显示器和高DPI缩放问题
- 截图差异检测:每次点击后检测页面变化,避免误报成功
- 基于正则的交接检测:快速、低成本,无常见登录短语误报
- 无标签管理启发式:attach选择第一个非空白标签,使用list_tabs + focus_tab精确控制
总结
mcp-helm解决了Claude与浏览器交互的"眼手问题",通过连接真实的Chrome会话,利用已有的登录状态和Cookie,实现了安全、高效的浏览器自动化。其交接感知机制确保敏感操作需要人工确认,是自动化云服务管理任务的理想工具。