剧作家MCP服务器
一个使用Playwright提供浏览器自动化功能的模型上下文协议(MCP)服务器,演示案例使Claude桌面能够通过程序化浏览器控件与网页交互,如单击复选框和从日历中选择日期。
特性
- 启动和控制Chromium浏览器实例
- 导航到URL
- 按角色或CSS选择器单击元素
- 等待元素出现
- 清洁资源管理
先决条件
- Python 3.10或更高版本(MCP包兼容性要求)
- macOS或Linux(在macOS上测试)
安装
1.克隆或下载Server.py文件
由Claude编写,提示指定为最小令牌使用量,用于定位和点击WebApp过滤器。 工具包括:
1. pw_launch
Launch browser instance
Options: headless mode, initial URL
2. pw_goto
Navigate to URL
3. pw_get_by_role_click
Find element by ARIA role and click
Parameters: role, name/label, exact match option
4. pw_locator_click
Find element by CSS selector and click
Parameters: selector, optional index for multiple matches
5. pw_wait_for_selector
Wait for element to appear
Parameters: selector, timeout (default 30s)
6. pw_close
Close browser and cleanup resources2.创建虚拟环境
重要提示: 确保你使用的是Python 3.10+。检查您的版本:
python3 --version使用Python 3.10或更高版本创建虚拟环境:
# If you have Python 3.11
python3.11 -m venv venv
# Or Python 3.10
python3.10 -m venv venv激活虚拟环境:
source venv/bin/activate # macOS/Linux在venv中验证正确的Python版本:
python --version # Should show 3.10 or higher3.安装依赖项
pip install mcp playwright
playwright install chromium4.获取绝对路径
找到Claude配置所需的绝对路径:
# Navigate to project directory
cd pw_filter_mcp
# Get directory path
pwd
# Get Python path (while venv is activated)
which python输出示例:
- 目录:
/Users/yourname/pw_filter_mcp - python
/Users/yourname/pw_filter_mcp/venv/bin/python
5.配置克劳德桌面
查找配置文件
macOS:
~/Library/Application Support/Claude/claude_desktop_config.json快速打开:
open ~/Library/Application\ Support/Claude/添加MCP配置
编辑 claude_desktop_config.json:
{
"mcpServers": {
"Playwright_filter_mcp": {
"command": "/Users/yourname/pw_filter_mcp/venv/bin/python",
"args": ["/Users/yourname/pw_filter_mcp/server.py"]
}
}
}重要提示: 用步骤5中的实际绝对路径替换路径。
6.重新启动克劳德桌面
完全退出并重新打开Claude Desktop应用程序。
7.验证安装
在Claude聊天中,MCP工具现在应该可用了。您可以通过要求Claude列出可用工具或尝试浏览器自动化来进行验证。
故障排除
Python版本错误
问题: SyntaxError: invalid syntax 上 match 声明
解决方案: MCP需要Python 3.10+。使用正确的版本重新创建venv:
deactivate
rm -rf venv
python3.11 -m venv venv # or python3.10
source venv/bin/activate
pip install mcp playwright
playwright install chromium找不到模块错误
问题: ModuleNotFoundError: No module named 'mcp'
解决:
- 验证venv是否已激活以及软件包是否已安装:
source venv/bin/activate
pip list | grep mcp- 验证Claude配置中的Python路径是否与venv Python匹配:
which python # Should match config file path- 手动测试导入:
python -c "from mcp.server.models import InitializationOptions; print('Success')"连接失败
问题: Claude显示“服务器断开连接”错误
检查:
- 配置文件语法是有效的JSON
- 所有路径都是绝对的(不是相对的)
- 配置中没有额外的参数
- 配置更改后,Claude Desktop完全重新启动
查看日志(macOS):
tail -f ~/Library/Logs/Claude/mcp*.log用法示例
https://github.com/user-attachments/assets/b512d5ee-47dd-4f21-9715-cabb22e1904a
连接后,您可以粘贴此提示:
ask:使用Playwright_Filter_mcp筛选KCLS库事件并报告结果 步骤:
- 导航至https://kcls.bibliocommons.com/v2/events
- 点击“选择日期”→ 选择2025年10月31日
- 位置:点击“显示更多”→ 快速点击奥本、贝尔维尤、博塞尔复选框,无需在点击之间等待→ 关闭选择器
- 观众:点击“儿童(3至5岁)”复选框
- 活动类型:快速点击“学习与娱乐”、“艺术与娱乐”复选框,无需在点击之间等待
- 等待结果加载,然后输出:仅事件计数和标题
注意:不要在同一筛选器部分的复选框单击之间等待页面刷新
许可证
麻省理工学院
