使用说明

项目简介

Webtools MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在为 LLM 应用提供强大的网页分析和处理能力。它通过标准化的 MCP 协议与客户端通信,允许 LLM 客户端调用各种预定义的工具来获取网页信息、执行分析任务等,从而增强 LLM 在处理网页内容时的上下文理解和功能扩展。

主要功能点

  • 资源 (Resources) 管理: 虽然仓库描述中没有明确提及资源管理,但 MCP 服务器通常具备资源管理能力,此仓库可能侧重于工具的提供,资源管理可能较为隐式或未在文档中详细展开。
  • 工具 (Tools) 注册和执行: 核心功能,提供了丰富的网页分析工具,包括:
    • 网页内容获取: 获取网页 HTML 源代码,支持 JavaScript 渲染和代理。
    • 页面内容提取: 提取网页主要内容,转换为 Markdown 格式,保留链接和图片。
    • 网页截图: 捕获网页或特定元素的屏幕截图,支持设备模拟和自定义视口。
    • 网页调试: 捕获网页控制台输出、网络请求和错误信息。
    • 性能分析: 使用 Lighthouse 进行网页性能审计,生成详细报告。
  • Prompt 模板 (Prompts): 仓库未明确提及 Prompt 模板功能,可能侧重于直接提供工具能力,Prompt 模板功能可能未在此实现中体现。
  • JSON-RPC 通信: 基于 MCP 协议,使用 JSON-RPC 格式进行客户端与服务器端的数据交换。
  • Stdio 传输协议: 默认使用 Stdio 作为传输协议,方便本地部署和快速启动。
  • 会话管理和能力声明: MCP 服务器的基础功能,用于管理客户端会话和声明服务器提供的工具能力。
  • 错误处理和重试机制: 工具执行过程中包含完善的错误处理和自动重试机制,提高服务的稳定性和可靠性。

安装步骤

  1. 安装 Node.js 和 npm: 确保你的系统已安装 Node.js 和 npm (Node 包管理器)。
  2. 安装 npm 包: 在命令行终端中执行以下命令安装 '@bschauer/webtools-mcp-server' 包:
    npm install @bschauer/webtools-mcp-server
  3. 安装 Puppeteer (可选): 为了使用需要 JavaScript 渲染的功能(如 'webtool_gethtml' 的 JavaScript 执行,'webtool_screenshot','webtool_debug' 和 'webtool_lighthouse'),你需要安装 Puppeteer:
    npm install puppeteer

服务器配置

MCP 客户端需要配置 MCP 服务器的启动命令才能连接。以下是 Webtools MCP Server 的 MCP 客户端配置信息示例 (JSON 格式):

{
  "serverName": "webtools-mcp-server",
  "command": "npx",
  "args": [
    "webtools-mcp-server"
  ],
  "description": "Webtools MCP Server 提供网页分析工具",
  "capabilities": {
    "tools": [
      "webtool_gethtml",
      "webtool_readpage",
      "webtool_screenshot",
      "webtool_debug",
      "webtool_lighthouse"
    ]
  }
}

参数注释:

  • 'serverName': 服务器名称,客户端用于标识和管理不同的 MCP 服务器连接。可以自定义,例如 "webtools-mcp-server"。
  • 'command': 启动服务器进程的命令。对于通过 npm 安装的包,通常使用 'npx' 来运行可执行文件。
  • 'args': 传递给启动命令的参数。 'webtools-mcp-server' 在此示例中是 'npx' 要执行的包名,即启动 Webtools MCP Server 的命令。
  • 'description': 对服务器的简要描述,方便客户端用户理解服务器的功能。
  • 'capabilities.tools': 声明服务器提供的工具列表。客户端可以根据此列表了解服务器的功能范围。工具名称需要与服务器端定义的工具名称一致 (例如 'webtool_gethtml', 'webtool_readpage' 等)。

环境变量配置 (可选):

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

  • 'USE_PROXY': 启用代理支持。设置为 'true' 或 'false'。
  • 'PROXY_URL': 代理服务器 URL。例如 'http://your-proxy-server:8080'。
  • 'PROXY_TIMEOUT': 代理超时时间,单位为毫秒。

基本使用方法

  1. 启动服务器: 在命令行终端中执行以下命令启动 Webtools MCP Server:

    npx webtools-mcp-server

    服务器默认使用 Stdio 传输协议,启动后会在标准输入/输出流中等待接收来自 MCP 客户端的 JSON-RPC 请求。

  2. 客户端发送请求: 使用 MCP 客户端 (例如基于 MCP SDK 开发的 LLM 应用) 向服务器发送 JSON-RPC 请求,调用注册的工具。

    示例: 调用 'webtool_gethtml' 工具

    以下是一个调用 'webtool_gethtml' 工具的 JSON-RPC 请求示例 (由 MCP 客户端发送给服务器):

    {
      "jsonrpc": "2.0",
      "method": "call_tool",
      "params": {
        "name": "webtool_gethtml",
        "arguments": {
          "url": "https://example.com",
          "useJavaScript": false
        }
      },
      "id": "1"
    }

    服务器收到请求后,会执行 'webtool_gethtml' 工具,并返回 JSON-RPC 响应,包含网页 HTML 内容或其他执行结果。具体的请求参数和响应格式请参考仓库 'README.md' 或工具定义。

  3. 查看响应: MCP 客户端接收服务器返回的 JSON-RPC 响应,解析响应内容,并根据工具返回的结果进行后续处理。

更多工具和参数:

Webtools MCP Server 提供了多种网页分析工具,例如 'webtool_readpage', 'webtool_screenshot', 'webtool_debug', 'webtool_lighthouse' 等。 每种工具的具体参数和使用方法,请详细阅读仓库的 'README.md' 文档和代码中的工具定义部分,以便充分利用服务器提供的功能。

信息

分类

网页与API