@grantany/mcp-browser
v1.0.4
Published
浏览器自动化 MCP 工具
Readme
浏览器自动化 MCP 工具
这是一个基于 Go 的浏览器自动化 MCP 工具,用于控制 Chrome 浏览器执行自动化操作。该工具使用标准输入输出(stdio)通信,便于与其他工具集成。
功能特性
- 浏览器控制:支持导航、截图、DOM 查询等操作
- 登录管理:提供登录状态检查
- JavaScript 执行:支持在页面上下文中执行 JavaScript
- 截图功能:生成页面截图
- 可扩展性:可通过添加新工具扩展功能
- 标准 IO 通信:使用标准输入输出进行通信,易于集成
- 自定义管道:支持使用命名管道进行通信,便于测试和集成
安装和使用
直接运行
- 确保安装了 Go 1.23 及以上版本
- 克隆代码仓库
- 运行服务
git clone <仓库地址>
cd browser
go run main.go使用 NPX 启动
我们提供了 NPX 脚本以便快速启动该工具:
npx @grantany/mcp-browser或者指定配置文件:
npx @grantany/mcp-browser --config=/path/to/config.yaml使用 Docker 启动
我们提供了 Docker 镜像支持:
docker run -i qimao/mcp-browser配置说明
支持通过 config.yaml 文件配置:
# Chrome 浏览器配置
chrome:
# 最大实例数
maxInstances: 5
# 实例超时时间(分钟)
timeout: 30
# Chrome 启动参数
args:
- "--no-sandbox"
- "--disable-setuid-sandbox"
- "--disable-dev-shm-usage"
- "--disable-gpu"
- "--headless"
# 登录检查配置
login:
# 登录页面 URL 特征
urlPattern: "login"
# 是否跳过登录检查
skipCheck: false
# 日志配置
log:
# 日志级别: debug, info, warn, error
level: "info"
# 日志文件路径 (留空使用标准输出)
filePath: ""命令行参数
工具支持以下命令行参数:
--config: 配置文件路径(可选)--stdin: 输入管道路径(可选,用于自定义stdio模式)--stdout: 输出管道路径(可选,用于自定义stdio模式)
与其他工具集成
由于使用标准输入输出通信,该工具可以轻松集成到其他应用中:
# 通过管道传递输入输出
echo '{"action": "navigate", "url": "https://example.com"}' | npx @grantany/mcp-browser
# 或者在应用中作为子进程启动
# 示例代码 (Node.js):
const { spawn } = require('child_process');
const browser = spawn('npx', ['@grantany/mcp-browser']);
browser.stdin.write(JSON.stringify({
action: 'navigate',
url: 'https://example.com'
}));
browser.stdout.on('data', (data) => {
console.log(data.toString());
});详细文档
有关部署和配置的详细信息,请参阅 部署指南。
