mcpField
M
MCP Browser Automation Server

MCP Browser Automation Server

本地服务
github.com/weir1浏览器自动化086 周前更新

关于 MCP Browser Automation Server

MCP Browser Automation Server 通过 HTTP API 控制浏览器会话,支持导航、截图、点击和填写表单。它适用于需要同时监控浏览器实时控制台日志的自动化任务。

主要功能

  1. 01创建和关闭浏览器会话
  2. 02访问指定 URL
  3. 03截取整页或元素截图
  4. 04点击元素并填写输入框
  5. 05通过 WebSocket 实时传输日志

适用场景

  1. 01自动执行浏览器导航和表单填写
  2. 02截取整页或指定元素
  3. 03会话期间监控浏览器控制台输出

MCP 相关

项目名称将其描述为 MCP 服务,但 README 介绍的是通过 REST API 和 WebSocket 控制浏览器,未说明 MCP 工具或传输方式。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MCP 浏览器自动化服务

一个简单而强大的浏览器自动化服务,可通过 REST API 控制浏览器、截取屏幕截图并监控控制台日志。

功能

  • 创建浏览器会话
  • 导航至 URL
  • 截取屏幕截图(整个页面或特定元素)
  • 点击元素
  • 填写表单输入项
  • 通过 WebSocket 实时监控控制台日志
  • 关闭会话

安装

  1. 克隆此仓库:
git clone https://github.com/weir1/mcp-browser-automation.git
cd mcp-browser-automation
  1. 创建并激活虚拟环境:
python -m venv venv
.\venv\Scripts\Activate
  1. 安装依赖:
pip install -r requirements.txt
  1. 安装 Playwright 浏览器:
playwright install

使用方法

  1. 启动服务:
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

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。