Token导航 LogoToken导航TokenDH.com
MCP Web Browser Server logo
浏览器工具stdio官方级别未说明来源级核验

MCP Web Browser Server

MCP Server

An advanced web browsing server for the Model Context Protocol (MCP) powered by Playwright, enabling headless browser interactions through a flexible, secure API.

工具数

0

提示词数

0

GitHub Stars

27

资源数

0
浏览器自动化PythonClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

random-robbie

提供方

random-robbie

最后核验

2026/5/18 02:17

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install mcp playwright

详细介绍

MCP Web浏览器服务器

由Playwright提供支持的模型上下文协议(MCP)高级web浏览服务器,通过灵活、安全的API实现无头浏览器交互。

🌐 特性

  • 无头网页浏览:导航到任何绕过SSL证书验证的网站
  • 整页内容提取:检索完整的HTML内容,包括动态加载的JavaScript
  • 多标签支持:创建、管理和在多个浏览器选项卡之间切换
  • 高级Web交互工具:

- 提取文本内容 - 点击页面元素 - 在表单字段中输入文本 - 截图 - 提取具有过滤功能的页面链接 - 向任何方向滚动页面 - 在页面上执行JavaScript - 刷新页面 - 等待导航完成

  • 资源管理:不活动后自动清理未使用的资源
  • 增强的页面信息:获取当前页面的详细元数据

🚀 快速开始

先决条件

  • Python 3.10+
  • MCP-SDK
  • 剧作家

安装

# Install MCP and Playwright
pip install mcp playwright

# Install browser dependencies
playwright install

Claude桌面配置

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "web-browser": {
      "command": "python",
      "args": [
        "/path/to/your/server.py"
      ]
    }
  }
}

💡 使用示例

基本Web导航

# Browse to a website
page_content = browse_to("https://example.com")

# Extract page text
text_content = extract_text_content()

# Extract text from a specific element
title_text = extract_text_content("h1.title")

Web交互

# Navigate to a page
browse_to("https://example.com/login")

# Input text into a form
input_text("#username", "your_username")
input_text("#password", "your_password")

# Click a login button
click_element("#login-button")

电脑屏幕截图工具

# Capture full page screenshot
full_page_screenshot = get_page_screenshots(full_page=True)

# Capture specific element screenshot
element_screenshot = get_page_screenshots(selector="#main-content")

链接提取

# Get all links on the page
page_links = get_page_links()

# Get links matching a pattern
filtered_links = get_page_links(filter_pattern="contact")

多标签浏览

# Create a new tab
tab_id = create_new_tab("https://example.com")

# Create another tab
another_tab_id = create_new_tab("https://example.org")

# List all open tabs
tabs = list_tabs()

# Switch between tabs
switch_tab(tab_id)

# Close a tab
close_tab(another_tab_id)

高级交互

# Scroll the page
scroll_page(direction="down", amount="page")

# Execute JavaScript on the page
result = execute_javascript("return document.title")

# Get detailed page information
page_info = get_page_info()

# Refresh the current page
refresh_page()

# Wait for navigation to complete
wait_for_navigation(timeout_ms=5000)

🛡️ 安全功能

  • SSL证书验证旁路
  • 安全的浏览器上下文管理
  • 自定义用户代理配置
  • 错误处理和全面日志记录
  • 可配置的超时设置
  • CSP旁路控制
  • 防止cookie被盗

🔧 故障排除

常见问题

  • SSL证书错误:自动绕过
  • 页面加载缓慢:调整超时时间 browse_to() 方法
  • 未找到元素:仔细验证选择器
  • 浏览器资源使用情况:非活动期后自动清理

日志记录

所有重要事件都会记录详细信息,以便于调试。

📋 刀具参数

browse_to(url: str, context: Optional[Any] = None)

  • url:要导航到的网站
  • context:可选上下文对象(当前未使用)

extract_text_content(selector: Optional[str] = None, context: Optional[Any] = None)

  • selector:用于提取特定内容的可选CSS选择器
  • context:可选上下文对象(当前未使用)

click_element(selector: str, context: Optional[Any] = None)

  • selector:要单击的元素的CSS选择器
  • context:可选上下文对象(当前未使用)

get_page_screenshots(full_page: bool = False, selector: Optional[str] = None, context: Optional[Any] = None)

  • full_page:捕获整个页面的屏幕截图
  • selector:截图的可选元素
  • context:可选上下文对象(当前未使用)

get_page_links(filter_pattern: Optional[str] = None, context: Optional[Any] = None)

  • filter_pattern:筛选链接的可选文本模式
  • context:可选上下文对象(当前未使用)

input_text(selector: str, text: str, context: Optional[Any] = None)

  • selector:输入元素的CSS选择器
  • text:要输入的文本
  • context:可选上下文对象(当前未使用)

create_new_tab(url: Optional[str] = None, context: Optional[Any] = None)

  • url:在新选项卡中导航到的可选URL
  • context:可选上下文对象(当前未使用)

switch_tab(tab_id: str, context: Optional[Any] = None)

  • tab_id:要切换到的选项卡的ID
  • context:可选上下文对象(当前未使用)

list_tabs(context: Optional[Any] = None)

  • context:可选上下文对象(当前未使用)

close_tab(tab_id: Optional[str] = None, context: Optional[Any] = None)

  • tab_id:要关闭的选项卡的可选ID(默认为当前选项卡)
  • context:可选上下文对象(当前未使用)

refresh_page(context: Optional[Any] = None)

  • context:可选上下文对象(当前未使用)

get_page_info(context: Optional[Any] = None)

  • context:可选上下文对象(当前未使用)

scroll_page(direction: str = "down", amount: str = "page", context: Optional[Any] = None)

  • direction:滚动方向(“上”、“下”、“左”、“右”)
  • amount:可滚动的金额(“页面”、“一半”或数字)
  • context:可选上下文对象(当前未使用)

wait_for_navigation(timeout_ms: int = 10000, context: Optional[Any] = None)

  • timeout_ms:等待的最长时间(毫秒)
  • context:可选上下文对象(当前未使用)

execute_javascript(script: str, context: Optional[Any] = None)

  • script:要执行的JavaScript代码
  • context:可选上下文对象(当前未使用)

🤝 贡献

欢迎投稿!请随时提交拉取请求。

开发设置

# Clone the repository
git clone https://github.com/random-robbie/mcp-web-browser.git

# Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows use `venv\Scripts\activate`

# Install dependencies
pip install -e .[dev]

📄 许可证

MIT许可证

🔗 相关项目

💬 支持

如有疑问,请 打开一个问题 在GitHub上。

目录标签

目录标签

浏览器自动化PythonClaudebrowser-automation无头浏览器本地部署网页自动化数据抓取Playwright多标签浏览

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

部署方式(deploymentType,部署类型)

local-only

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiononelocal-only

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP