这是一个使用Playwright(Python中与Puppeteer等效的工具)提供浏览器自动化功能的Model Context Protocol服务器。该服务器使LLMs能够与网页进行交互、抓取屏幕截图并执行JavaScript代码。
此Python实现提供了比TypeScript版本更稳定的替代方案,具有相同的特性,并改进了错误处理和日志记录。它使用Playwright,这是Python中的Puppeteer等效工具,提供了强大的浏览器自动化能力。
pip install -r requirements.txt
playwright install
直接运行服务器:
python puppeteer_server.py
在您的Claude配置文件中添加以下内容:
{
"mcpServers": {
"puppeteer": {
"command": "python",
"args": ["path/to/puppeteer.py"]
}
}
}
导航到浏览器中的任何URL。
{
"name": "puppeteer_navigate",
"arguments": {
"url": "https://example.com",
"timeout": 60000 // 可选,默认为60000毫秒
}
}
捕获整个页面或特定元素的屏幕截图。
{
"name": "puppeteer_screenshot",
"arguments": {
"name": "my_screenshot",
"selector": "#specific-element", // 可选
"width": 1280, // 可选,默认为1280
"height": 720, // 可选,默认为720
"timeout": 30000 // 可选,默认为30000毫秒
}
}
点击页面上的元素。
{
"name": "puppeteer_click",
"arguments": {
"selector": ".button-class",
"timeout": 30000 // 可选,默认为30000毫秒
}
}
填写输入字段。
{
"name": "puppeteer_fill",
"arguments": {
"selector": "#input-id",
"value": "要填写的文本",
"timeout": 30000 // 可选,默认为30000毫秒
}
}
在浏览器控制台中执行JavaScript。
{
"name": "puppeteer_evaluate",
"arguments": {
"script": "document.title",
"timeout": 30000 // 可选,默认为30000毫秒
}
}
服务器为常见场景提供了详细的错误消息:
实现了不同级别的全面日志记录:
欢迎贡献!请在提交拉取请求之前阅读仓库的贡献指南。
本项目根据Apache 2.0许可证发布 - 查看LICENSE文件获取详情。