MCP Browser Automation Server

MCP Browser Automation Server

用于浏览器自动化,具备截图和控制台日志记录功能的 MCP 服务器

weir1

浏览器自动化
访问服务器

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

如果未提供 selector,则截取完整页面屏幕截图。

点击元素

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

# 创建一个会话
response = requests.post("http://localhost:8000/session/create")
session_id = response.json()["session_id"]

# 导航到 URL
requests.post(f"http://localhost:8000/session/{session_id}/navigate?url=https://example.com")

# 截取屏幕截图
response = requests.post(f"http://localhost:8000/session/{session_id}/screenshot?name=example")
with open("screenshot.png", "wb") as f:
    f.write(response.content)

# 监控控制台日志
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

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Playwright MCP Server

Playwright MCP Server

提供一个利用模型上下文协议的服务器,以实现类人浏览器的自动化,该服务器使用 Playwright,允许控制浏览器行为,例如导航、元素交互和滚动。

精选
本地
TypeScript
@kazuph/mcp-fetch

@kazuph/mcp-fetch

用于获取网页内容和处理图像的模型上下文协议服务器。这使得 Claude Desktop(或任何 MCP 客户端)能够适当地获取网页内容和处理图像。

精选
本地
JavaScript
DuckDuckGo MCP Server

DuckDuckGo MCP Server

一个模型上下文协议 (MCP) 服务器,通过 DuckDuckGo 提供网页搜索功能,并具有内容获取和解析的附加功能。

精选
Python
YouTube Transcript MCP Server

YouTube Transcript MCP Server

这个服务器用于获取指定 YouTube 视频 URL 的字幕,从而可以与 Goose CLI 或 Goose Desktop 集成,进行字幕提取和处理。

精选
Python
serper-search-scrape-mcp-server

serper-search-scrape-mcp-server

这个 Serper MCP 服务器支持搜索和网页抓取,并且支持 Serper API 引入的所有最新参数,例如位置。

精选
TypeScript
The Verge News MCP Server

The Verge News MCP Server

提供从The Verge的RSS feed获取和搜索新闻的工具,允许用户获取今日新闻、检索过去一周的随机文章,以及在最近的Verge内容中搜索特定关键词。

精选
TypeScript
Tavily MCP Server

Tavily MCP Server

使用 Tavily 的搜索 API 提供 AI 驱动的网络搜索功能,使 LLM 能够执行复杂的网络搜索、获得问题的直接答案以及搜索最近的新闻文章。

精选
Python
mcp-pinterest

mcp-pinterest

用于图像搜索和信息检索的 Pinterest 模型上下文协议 (MCP) 服务器

精选
TypeScript
Crawlab MCP Server

Crawlab MCP Server

官方
Python