这是一个模型上下文协议(MCP)服务器,借助 Playwright 提供全面的浏览器自动化功能。该服务器允许AI助手通过标准化的MCP工具与网页进行交互,实现导航、内容提取、表单填充和截图捕获等操作。
该服务器可让AI助手通过标准化的MCP工具与网页交互,实现导航、内容提取等功能。以下是快速开始的步骤:
# 克隆仓库
git clone
cd claude-browser-mcp
# 安装依赖
pip install -e .
# 安装Playwright浏览器
playwright install
pip install claude-browser-mcp
playwright install
使用标准输入输出传输启动服务器:
browser-mcp
# 或者
python -m src.server
通过环境变量配置浏览器:
export BROWSER_HEADLESS=true # 以无头模式运行
export BROWSER_TYPE=chromium # 浏览器类型(chromium/firefox/webkit)
export BROWSER_TIMEOUT=30000 # 默认超时时间(毫秒)
添加到您的MCP客户端配置中:
{
"mcpServers": {
"browser-automation": {
"command": "browser-mcp",
"args": []
}
}
}
# 克隆仓库
git clone
cd claude-browser-mcp
# 安装依赖
pip install -e .
# 安装Playwright浏览器
playwright install
pip install claude-browser-mcp
playwright install
browser-mcp
# 或者
python -m src.server
export BROWSER_HEADLESS=true # 以无头模式运行
export BROWSER_TYPE=chromium # 浏览器类型(chromium/firefox/webkit)
export BROWSER_TIMEOUT=30000 # 默认超时时间(毫秒)
{
"mcpServers": {
"browser-automation": {
"command": "browser-mcp",
"args": []
}
}
}
navigate_to导航到指定URL,并可选择等待。
{
"name": "navigate_to",
"arguments": {
"url": "https://example.com",
"wait_for": "selector",
"timeout": 30
}
}
get_page_content从当前页面提取文本内容。
{
"name": "get_page_content",
"arguments": {
"include_links": true,
"selector": ".main-content"
}
}
click_element通过CSS选择器点击元素。
{
"name": "click_element",
"arguments": {
"selector": "button#submit",
"timeout": 10
}
}
fill_form用数据填充表单字段。
{
"name": "fill_form",
"arguments": {
"fields": {
"#email": "user@example.com",
"#password": "secretpass"
},
"submit": true
}
}
take_screenshot捕获页面截图。
{
"name": "take_screenshot",
"arguments": {
"full_page": true,
"selector": ".dashboard"
}
}
execute_javascript在浏览器上下文中运行JavaScript。
{
"name": "execute_javascript",
"arguments": {
"code": "document.title",
"return_value": true
}
}
claude-browser-mcp/
├── src/
│ ├── __init__.py # 包初始化
│ ├── server.py # MCP服务器实现
│ ├── browser.py # 浏览器管理
│ ├── actions.py # 高级浏览器操作
│ └── utils.py # 实用函数
├── requirements.txt # Python依赖
├── setup.py # 包配置
└── README.md # 本文件
server.py)browser.py)actions.py)utils.py)# 使用Docker Compose构建并运行
docker-compose up browser-mcp
# 或者手动构建
./scripts/docker-build.sh
./scripts/start-container.sh
# 构建生产镜像
docker build -t browser-mcp:latest .
# 使用优化设置运行
docker run -d \
--name browser-mcp \
--init --ipc=host --shm-size=1gb \
--memory=2g --cpus=1.0 \
-v $(pwd)/screenshots:/app/screenshots \
-v $(pwd)/downloads:/app/downloads \
browser-mcp:latest
# 带有调试功能的开发容器
docker-compose --profile dev up browser-mcp-dev
# 进入容器
docker exec -it claude-browser-mcp-dev /bin/bash
# 健康检查
./scripts/health-check.sh
# 查看日志
docker logs -f claude-browser-mcp
# 监控资源
docker stats claude-browser-mcp
服务器提供详细的错误响应,包括:
所有工具返回标准化的JSON响应:
{
"success": true,
"url": "https://example.com",
"title": "页面标题",
"data": "...",
"metadata": {
"timestamp": "...",
"execution_time": "..."
}
}
错误响应包括:
{
"success": false,
"error": "详细错误消息",
"tool": "工具名称",
"arguments": {...},
"timestamp": "..."
}
| 属性 | 详情 |
|---|---|
BROWSER_HEADLESS |
true |
BROWSER_TYPE |
chromium |
BROWSER_TIMEOUT |
30000 |
本项目采用MIT许可证,详情请参阅 LICENSE 文件。
注意:这是一个基础实现。根据具体用例,可以添加更多功能,如请求拦截、高级表单处理和性能优化。