加贺美
克劳德代码网络独家 剧作家MCP服务器。通过JWT身份验证代理启用浏览器自动化。
概述
这个项目是 专为Claude Code Web环境设计 并为Playwright提供了一个MCP(模型上下文协议)服务器。
重要提示: 此项目仅设计为在Claude Code Web环境中工作。它不适用于本地环境或其他环境。
主要特点:
- 自动设置功能(首次启动时自动安装所需组件)
- 通过JWT身份验证代理进行外部访问
- 使用Firefox浏览器实现自动化
- 自动导入CA证书
- 符合MCP协议
建筑
Claude Code → mcp.py → playwright-mcp (Firefox) → proxy.py → JWT Auth Proxy → Internet- mcp.py:MCP服务器入口点。负责初始设置和启动proxy.py
- @剧作家/mcp:Playwright MCP服务器实现(Node.js)
- 火狐:浏览器引擎
- proxy.py:本地代理服务器
- JWT身份验证代理:用于外部访问的身份验证代理
设置
自动设置(推荐)
首次启动时将自动设置以下内容:
- certutil安装
- @剧作家/mcp装置
- Firefox安装
- Firefox配置文件创建
- CA证书导入
- 配置文件生成
注:
- 首次启动可能需要30秒或更长时间
用法
作为MCP服务器启动
在中配置 .mcp.json Claude Code将自动启动它:
{
"mcpServers": {
"playwright": {
"command": "python3",
"args": [
"playwright_mcp_claude_code_web/mcp.py"
]
}
}
}文件结构
.
├── playwright_mcp_claude_code_web/
│ ├── mcp.py # MCP server (uses only standard library)
│ ├── setup_minimal.py # Minimal synchronous setup
│ ├── setup_mcp.py # Full asynchronous setup
│ └── README.md # Detailed documentation
├── .mcp.json # MCP server configuration
└── README.md # This file技术细节
启动流程
mcp.py 使用两阶段设置方法来避免超时问题:
阶段1:同步设置(在响应之前运行)
- 最小设置 (
setup_minimal.py)
- 安装 @playwright/mcp 通过npm - 创建最小的Firefox配置文件
- 提取工具列表
- 开始临时 @playwright/mcp 过程 - 获取可用的工具定义 - 存储工具列表,以便立即响应 tools/list 请求: - 终止临时进程
- 启动MCP服务器
- 以MCP服务器身份开始响应 - 返回存储的工具列表 tools/list 请求: - 返回“安装正在进行”错误 tools/call 请求:
阶段2:异步设置(在后台运行)
- 完整安装 (
setup_mcp.py-在后台线程中运行)
- 安装 certutil (用于证书管理) - 安装 proxy.py 通过紫外线 - 安装Firefox浏览器 - 创建Firefox配置文件(/home/user/firefox-profile) - 导入CA证书以进行TLS检查 - 生成最终配置文件
- 启动服务
- 开始 proxy.py (本地主机:18915) - 开始 @playwright/mcp 具有完整配置 - 开始代理所有请求 @playwright/mcp
通信流程(设置后)
- Claude Code向发送请求
mcp.py通过MCP协议(stdin/stdout) mcp.py代理请求@playwright/mcp@playwright/mcp启动Firefox(代理设置:localhost:18915)proxy.py将请求转发到JWT身份验证代理- 通过经过身份验证的代理访问外部站点
安全
- 将用于TLS检查的CA证书导入Firefox配置文件
- 所有HTTPS流量都通过JWT身份验证代理
- Firefox使用专用配置文件(/home/user/Firefox配置文件)运行
注: Claude Code Web环境出于安全审计目的对所有HTTPS通信执行TLS检查。此项目导入必要的CA证书,以便在此受监视的环境中实现安全浏览。
参考文献
许可证
麻省理工学院
