关于 MCP Browser Automation Server
MCP Browser Automation Server 通过 HTTP API 控制浏览器会话,支持导航、截图、点击和填写表单。它适用于需要同时监控浏览器实时控制台日志的自动化任务。
主要功能
- 01创建和关闭浏览器会话
- 02访问指定 URL
- 03截取整页或元素截图
- 04点击元素并填写输入框
- 05通过 WebSocket 实时传输日志
适用场景
- 01自动执行浏览器导航和表单填写
- 02截取整页或指定元素
- 03会话期间监控浏览器控制台输出
MCP 相关
项目名称将其描述为 MCP 服务,但 README 介绍的是通过 REST API 和 WebSocket 控制浏览器,未说明 MCP 工具或传输方式。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP 浏览器自动化服务
一个简单而强大的浏览器自动化服务,可通过 REST API 控制浏览器、截取屏幕截图并监控控制台日志。
功能
- 创建浏览器会话
- 导航至 URL
- 截取屏幕截图(整个页面或特定元素)
- 点击元素
- 填写表单输入项
- 通过 WebSocket 实时监控控制台日志
- 关闭会话
安装
- 克隆此仓库:
git clone https://github.com/weir1/mcp-browser-automation.git
cd mcp-browser-automation
- 创建并激活虚拟环境:
python -m venv venv
.\venv\Scripts\Activate
- 安装依赖:
pip install -r requirements.txt
- 安装 Playwright 浏览器:
playwright install
使用方法
- 启动服务:
python server.py
服务将在 http://localhost:8000 上启动。
API 端点
创建新会话
POST /session/create
Response: { "session_id": "..." }
导航至 URL
POST /session/{session_id}/navigate?url=https://example.com
截取屏幕截图
POST /session/{session_id}/screenshot?name=screenshot1&selector=.my-element
如果未提供选择器,则截取整个页面的屏幕截图。
点击元素
POST /session/{session_id}/click?selector=.my-button
填写输入项
POST /session/{session_id}/fill?selector=input[name="username"]&value=myuser
监控控制台日志
WebSocket /session/{session_id}/console
关闭会话
POST /session/{session_id}/close
Python 使用示例
import requests
import websockets
import asyncio
import json
# Create a session
response = requests.post("http://localhost:8000/session/create")
session_id = response.json()["session_id"]
# Navigate to a URL
requests.post(f"http://localhost:8000/session/{session_id}/navigate?url=https://example.com")
# Take a screenshot
response = requests.post(f"http://localhost:8000/session/{session_id}/screenshot?name=example")
with open("screenshot.png", "wb") as f:
f.write(response.content)
# Monitor console logs
async def monitor_console():
async with websockets.connect(f"ws://localhost:8000/session/{session_id}/console") as ws:
while True:
message = await ws.recv()
print(json.loads(message))
asyncio.get_event_loop().run_until_complete(monitor_console())
许可证
MIT
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。