剧作家MCP服务器
  
一个强大的模型上下文协议(MCP)服务器,使用Playwright提供全面的浏览器自动化功能。该服务器使AI助手能够与网页交互、执行自动测试、网络抓取和复杂的基于浏览器的工作流程。
🚀 VSCode的快速安装
只需单击一下,即可在VSCode中直接安装此MCP服务器:

✨ 特性
- 🌐 完全浏览器控制:导航、单击、键入任何web元素并与之交互
- 📸 屏幕截图和视觉测试:捕获整个页面或特定元素
- 🔄 选项卡管理:打开、关闭和在多个浏览器选项卡之间切换
- 📝 表单自动化:填写表单、选择选项、处理复选框和单选按钮
- ⏳ 智能等待:等待元素、网络请求或特定页面状态
- 🔍 内容提取:从网页获取文本、属性和数据
- 💻 JavaScript执行:在浏览器上下文中运行自定义JavaScript
- 🛡️ 稳健的错误处理:通过有意义的消息进行全面的错误处理
📦 安装
先决条件
- Python 3.8或更高版本
- Node.js(安装Playwright浏览器所需)
从PyPI安装
pip install playwright-mcp-server
playwright install chromium从源代码安装
git clone https://github.com/nolecram/Build_MCP_Server.git
cd Build_MCP_Server
pip install -e .
playwright install chromium🔧 配置
适用于MCP客户
添加到MCP客户端配置中:
{
"mcpServers": {
"playwright": {
"command": "playwright-mcp-server",
"args": []
}
}
}用于VSCode MCP扩展
添加到VSCode设置中:
{
"mcp.servers": {
"playwright": {
"command": "playwright-mcp-server"
}
}
}🛠️ 可用工具
| 工具 | 说明 | 参数 |
|---|---|---|
browser_navigate | 导航到URL | url |
browser_click | 点击一个元素 | selector, timeout? |
browser_type | 在元素中键入文本 | selector, text, timeout? |
browser_screenshot | 截图 | path?, full_page? |
browser_get_text | 从元素中提取文本 | selector, timeout? |
browser_wait_for_selector | 等待元素出现 | selector, timeout?, state? |
browser_evaluate | 执行JavaScript | script |
browser_new_tab | 打开新选项卡 | url? |
browser_close_tab | 关闭当前选项卡 | - |
browser_get_title | 获取页面标题 | - |
browser_get_url | 获取当前URL | - |
💡 使用示例
Web剪贴
# Navigate to a website
browser_navigate {"url": "https://example.com"}
# Wait for content to load
browser_wait_for_selector {"selector": ".content"}
# Extract information
browser_get_text {"selector": ".price"}
# Take a screenshot
browser_screenshot {"full_page": true}表单自动化
# Fill out a form
browser_type {"selector": "#email", "text": "user@example.com"}
browser_type {"selector": "#password", "text": "secretpassword"}
browser_click {"selector": "#login-button"}测试工作流程
# Multi-step testing
browser_navigate {"url": "https://app.example.com"}
browser_click {"selector": "#feature-button"}
browser_wait_for_selector {"selector": ".success-message"}
browser_screenshot {"path": "test-result.png"}🧪 测试
运行测试套件:
# Install test dependencies
pip install pytest pytest-asyncio
# Run tests
pytest tests/
# Run with coverage
pytest --cov=playwright_mcp_server tests/📚 文档
综合文档可在 文档 目录:
🔒 安全
- 默认情况下以无头模式运行
- 每个会话的独立浏览器上下文
- 自动资源清理
- 可配置的超时限制
- 无敏感数据记录
🤝 贡献
我们欢迎捐款!请参阅我们的投稿指南:
- 分叉存储库
- 创建要素分支
- 为您的更改添加测试
- 确保所有测试通过
- 提交拉取请求
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🙏 致谢
📈 路线图
- \[\]支持多种浏览器引擎(Firefox、Safari)
- \[\]高级元素选择策略
- \[\]内置视觉回归测试
- \[\]性能监控和指标
- \[\]浏览器扩展交互
- \[\]移动浏览器模拟
______________________________________________________________________
⭐ 如果你觉得这个存储库有用,请为其加星!
