MCP-Puppeteer-Linux是一个模型上下文协议服务器,它借助Puppeteer实现浏览器自动化功能,并且全面支持Linux显示服务器(X11和Wayland)。该服务器能让LLM在真实浏览器环境中与网页交互、截取屏幕截图以及执行JavaScript代码。
npm install puppeteer
npm install puppeteer
创建配置文件并启动服务。以Claude Desktop为例,配置如下:
{
"mcpServers": {
"puppeteer": {
"command": "npx",
"args": ["ts-node", "/path/to/your/script.ts"]
}
}
}
以下是使用puppeteer_navigate工具在浏览器中导航到指定URL的示例:
# 假设存在调用工具的函数
puppeteer_navigate(url="https://example.com")
以下是一个综合使用多个工具的示例,包括导航、填充表单、点击按钮和截取屏幕截图:
# 导航到页面
puppeteer_navigate(url="https://example.com/login")
# 填充用户名和密码
puppeteer_fill(selector="#username", value="your_username")
puppeteer_fill(selector="#password", value="your_password")
# 点击登录按钮
puppeteer_click(selector="#login-button")
# 截取登录结果页面的屏幕截图
puppeteer_screenshot(name="login_result", width=1200, height=800)
此分支添加了对Linux显示服务器的自动检测和配置:
| 工具名称 | 功能 | 输入参数 |
|---|---|---|
puppeteer_navigate |
在浏览器中导航到任何URL | url(字符串) |
puppeteer_screenshot |
截取页面或特定元素的屏幕截图 | name(字符串,必需):屏幕截图名称;selector(字符串,可选):CSS选择器用于截取元素;width(数字,可选,默认值:800):截图宽度;height(数字,可选,默认值:600):截图高度 |
puppeteer_click |
点击页面上的元素 | selector(字符串):要点击的元素选择器 |
puppeteer_hover |
鼠标悬停在页面上的元素上 | selector(字符串):要悬停的元素选择器 |
puppeteer_fill |
填充输入字段 | selector(字符串):输入字段选择器;value(字符串):要填充的值 |
puppeteer_select |
选择具有SELECT标签的元素 | selector(字符串):要选择的元素选择器;value(字符串):要选择的值 |
puppeteer_evaluate |
在浏览器控制台中执行JavaScript | script(字符串):要执行的JavaScript代码 |
服务器提供两种资源的访问:
console://logs)
screenshot://)
通过上述设置,您可以灵活地在不同显示环境中运行Puppeteer。