通用浏览器MCP
通用浏览器MCP允许您将web浏览器用作模型上下文协议(MCP)服务器。通过将MCP客户端连接到浏览器,客户端可以直接读取网页、执行脚本和自动化浏览器任务。
项目结构
存储库分为三个主要部分:
- 扩展:使用WXT构建的浏览器扩展程序(支持Chrome和Firefox)。它在浏览器中运行,处理传入的MCP请求,并与网页交互。
- 本机服务器:一个Node.js原生消息主机,用于桥接MCP客户端和浏览器扩展之间的通信。它通过stdio将MCP协议消息转换为浏览器扩展可以理解的本机消息传递调用。
- 共享:扩展和本机服务器之间共享的常见类型和实用程序。
原理
- MCP客户端启动
native-server通过标准输入/输出(stdio)。 - 这
native-server使用Chrome的原生消息协议与浏览器扩展程序建立连接。 - 当MCP客户端发送工具执行请求(例如,检索页面内容)时,服务器将其转发给扩展。
- 该扩展执行必要的浏览器API,并通过服务器将结果返回给客户端。
入门指南
先决条件
- Node.js(版本20或更高)
- npm或pnpm
- 谷歌Chrome或基于Chromium的浏览器
安装
- 安装依赖项:
导航到 extension 和 native-server 分别运行目录 npm install.
- 构建并加载扩展:
- 导航到 extension 目录。 - 跑 npm run build 创建生产构建。输出将在 .output 目录。 - 从加载未打包的扩展 .output 通过扩展管理页面将目录导入浏览器。
- 注册本机消息主机:
- 导航到 native-server 目录。 - 使用以下命令构建服务器 npm run build. - 使用浏览器注册主机。您可以通过运行以下命令自动检测和注册已安装的浏览器 node dist/cli.js register --detect.
用法
配置您的MCP客户端以使用新构建的本机服务器。提供指向本机服务器stdio入口点的路径。
例如,在MCP客户端配置文件中:
{
"mcpServers": {
"universal-browser": {
"command": "node",
"args": [
"/absolute/path/to/universal-browser-mcp/native-server/dist/mcp/mcp-server-stdio.js"
]
}
}
}发展
- 这
extension文件夹利用WXT框架和Vite进行快速浏览器扩展开发。 - 这
native-server依赖于Fastify和TypeScript。 - 有关详细的开发脚本、测试说明和架构图,请参阅
README.md和ARCHITECTURE.md每个子目录中的文件。
