Chrome工具MCP服务器借助Chrome的DevTools协议,提供了一系列用于远程控制Chrome标签页的工具。该服务器具备在标签页中执行JavaScript、捕获截图、监控网络流量等实用功能。
当你需要手动配置浏览器处于某种状态,再让Cline等AI工具进行操作时,这种类型的MCP服务器非常有用。此外,你还可以利用此工具监听并提取网络事件到其上下文中。
npm install @nicholmikey/chrome-tools
通过MCP设置中的环境变量进行配置:
{
"chrome-tools": {
"command": "node",
"args": ["path/to/chrome-tools/dist/index.js"],
"env": {
"CHROME_DEBUG_URL": "http://localhost:9222",
"CHROME_CONNECTION_TYPE": "direct",
"CHROME_PROXY_ENABLED": true
}
}
}
确保已安装Node.js和npm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
nvm install --lts
在项目目录中运行:
npm install @nicholmikey/chrome-tools
创建并运行以下配置文件:
const { MCP } = require('@nicholmikey/mcp');
const server = new MCP.Server({
port: 3000,
workers: 2
});
server.start();
列出所有Chrome标签页。
id: 标签页唯一标识符title: 标题url: 当前URLstatus: 状态(正在加载、已停止等)在指定标签页中执行JavaScript代码。
tabId: 标签页唯一标识符script: 要执行的JavaScript代码success: 是否成功(布尔值)result: 执行返回的结果捕获指定标签页的截图。
tabId: 标签页唯一标识符path: 截图保存路径监控并捕获指定标签页中的网络事件。
tabId: 标签页唯一标识符duration: 捕捉时长(秒)filters: 可选的类型和URL模式过滤器type: 事件类型url: 请求或响应的URLtimeStamp: 时间戳size: 数据大小将指定标签页导航至新的URL。
tabId: 标签页唯一标识符url: 要加载的目标URL通过CSS选择器查询并获取DOM元素的详细信息。
tabId: 标签页唯一标识符selector: CSS选择器字符串nodeId: 节点唯一标识符tagName: HTML标签名textContent: 文本内容attributes: 属性对象boundingBox: 布局位置和尺寸isVisible: 是否可见ariaAttributes: ARIA属性通过CSS选择器定位元素并执行点击操作,同时捕获控制台输出。
tabId: 标签页唯一标识符selector: CSS选择器字符串message: 成功或失败消息consoleOutput: 点击触发的控制台输出数组本项目采用MIT许可证。