使用说明
项目简介
Web Browser MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,它利用 Playwright 驱动 headless 浏览器,为大型语言模型(LLM)提供强大的网页浏览和信息提取能力。通过标准化的 MCP 接口,LLM 可以安全、灵活地与网页内容进行交互,实现诸如信息检索、网页内容分析、自动化操作等高级功能。
主要功能点
- headless网页浏览: 支持在后台静默访问任何网站,并绕过SSL证书验证。
- 全页面内容提取: 获取包括动态加载内容在内的完整HTML代码。
- 多标签页管理: 支持创建、切换和管理多个浏览器标签页。
- 丰富的网页交互工具:
- 提取网页文本内容(支持CSS选择器)
- 点击网页元素(支持CSS选择器)
- 在表单中输入文本(支持CSS选择器)
- 截取网页截图(全页或指定元素)
- 提取网页链接(支持按模式过滤)
- 网页滚动
- 执行JavaScript代码
- 刷新页面
- 等待页面加载完成
- 资源自动管理: 自动清理长时间不使用的浏览器资源,节省系统资源。
- 增强的页面信息: 获取当前页面的详细元数据。
安装步骤
- 环境准备: 确保已安装 Python 3.10 或更高版本。
- 安装依赖: 打开终端,执行以下命令安装 MCP SDK 和 Playwright:
pip install mcp playwright - 安装浏览器: Playwright 需要浏览器驱动,执行以下命令安装 Chromium 浏览器:
playwright install chromium
服务器配置
要将 Web Browser MCP Server 集成到 MCP 客户端(例如 Claude Desktop),您需要在客户端的配置文件中添加服务器配置信息。以 'claude_desktop_config.json' 为例,配置信息如下:
{ "mcpServers": { "web-browser": { "command": "python", "args": [ "/path/to/your/server.py" // 将 "/path/to/your/server.py" 替换为 server.py 脚本的实际路径 ] } } }
配置参数说明:
- '"web-browser"': 服务器名称,客户端通过此名称引用该服务器。可以自定义,保持与客户端配置一致即可。
- '"command": "python"': 启动服务器的命令,这里使用 Python 解释器。
- '"args"': 启动命令的参数列表。
- '"/path/to/your/server.py"': 请务必替换为 'server.py' 脚本在您本地文件系统中的绝对路径。 例如,如果 'server.py' 位于 '/Users/yourname/mcp-web-browser/src/mcp_web_browser/server.py',则应填写此完整路径。
基本使用方法
配置完成后,MCP 客户端(如 Claude Desktop)即可通过 'web-browser' 这个服务器名称调用 Web Browser MCP Server 提供的各项工具。
例如,在 Claude Desktop 中,你可以通过自然语言指令,结合服务器提供的工具来浏览网页、提取信息或进行其他网页交互操作。 具体的工具调用方式和参数,请参考仓库 README.md 文件中 “Tool Parameters” 部分的详细说明。
示例工具调用 (非 Claude Desktop 实际代码,仅为演示工具使用方式):
# 假设客户端已经连接到名为 "web-browser" 的 MCP 服务器 # 浏览到指定网页 page_content = web_browser.browse_to(url="https://www.example.com") print(page_content) # 提取网页标题 page_title = web_browser.extract_text_content(selector="title") print(page_title) # 点击网页上的某个元素 result = web_browser.click_element(selector="#submit-button") print(result) # 获取当前页面所有链接 links = web_browser.get_page_links() print(links)
请注意,以上代码仅为演示如何通过工具名称和参数调用服务器功能,实际在 MCP 客户端中的调用方式会根据客户端的具体实现而有所不同。请参考您使用的 MCP 客户端的文档来了解如何正确调用 MCP 服务器的工具。
信息
分类
网页与API