使用说明

项目简介

Web Browser MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器,旨在为大型语言模型 (LLM) 提供网页浏览和内容提取能力。通过简单的 MCP 接口,AI 助手可以轻松访问互联网内容,并根据需要提取网页上的信息。

主要功能点

  • 智能内容提取: 支持使用 CSS 选择器精确定位和提取网页特定区域的内容。
  • 快速高效: 基于异步处理构建,提供优异的性能。
  • 丰富元数据: 能够捕获网页标题、链接和结构化内容。
  • 稳定可靠: 内置错误处理和超时管理机制,确保服务稳定运行。
  • 跨平台: 只要 Python 可以运行,该服务器就能工作。

安装步骤

  1. 手动安装 (推荐使用 'uv'): 打开终端,运行以下命令安装 'web-browser-mcp-server' 工具:
    uv tool install web-browser-mcp-server
    如果你希望本地开发,可以先克隆仓库:
    git clone https://github.com/blazickjp/web-browser-mcp-server.git
    cd web-browser-mcp-server
    然后创建并激活虚拟环境,安装依赖:
    uv venv
    source .venv/bin/activate
    uv pip install -e ".[test]"

服务器配置

要将 Web Browser MCP Server 集成到 MCP 客户端(例如 Claude),你需要在客户端的 MCP 服务器配置文件中添加以下配置。这个配置告诉 MCP 客户端如何启动和连接到 Web Browser MCP Server。

{
    "mcpServers": {
        "web-browser-mcp-server": {  // 服务器名称,客户端通过此名称引用
            "command": "uv",         // 启动服务器的命令,这里使用 uv 工具管理器
            "args": [                // 传递给命令的参数
                "tool",               // uv tool 命令
                "run",                // uv tool run 子命令,用于运行已安装的工具
                "web-browser-mcp-server" // 要运行的工具名称,即 web-browser-mcp-server
            ],
            "env": {                  // 环境变量配置
                "REQUEST_TIMEOUT": "30" // 设置网页请求超时时间为 30 秒
            }
        }
    }
}

开发模式配置 (本地仓库)

如果你克隆了仓库并在本地开发,需要指定仓库路径:

{
    "mcpServers": {
        "web-browser-mcp-server": {
            "command": "uv",
            "args": [
                "--directory",      // 指定工作目录
                "path/to/cloned/web-browser-mcp-server", // 替换为你的本地仓库路径
                "run",
                "web-browser-mcp-server"
            ],
            "env": {
                "REQUEST_TIMEOUT": "30"
            }
        }
    }
}

注意: 将 'path/to/cloned/web-browser-mcp-server' 替换为你实际克隆仓库的本地路径。

基本使用方法

配置完成后,在你的 LLM 应用中,你可以通过 'call_tool' 函数调用 'browse_webpage' 工具来浏览网页并提取内容。

示例代码 (Python风格,仅为演示工具调用方法,实际使用方式取决于你的 MCP 客户端 SDK):

# 基本网页抓取,提取整个页面的文本内容、标题和链接
result = await call_tool("browse_webpage", {
    "url": "https://example.com"
})
print(result)

# 使用 CSS 选择器提取特定内容
result = await call_tool("browse_webpage", {
    "url": "https://example.com",
    "selectors": {
        "headlines": "h1, h2",  // 提取所有 <h1> 和 <h2> 标签的文本
        "main_content": "article.content" // 提取 <article class="content"> 标签的文本
    }
})
print(result)

'call_tool' 函数会返回提取的网页内容,通常以 JSON 格式的字符串形式呈现,包含标题、文本、链接以及根据 CSS 选择器提取的内容。你需要根据你的 MCP 客户端 SDK 的具体用法来调用工具和处理返回结果。

环境变量配置

服务器行为可以通过以下环境变量进行配置:

  • 'REQUEST_TIMEOUT': 网页请求超时时间,单位为秒,默认值 30 秒。

信息

分类

网页与API