使用说明
项目简介
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 服务器的基础功能,用于管理客户端会话和声明服务器提供的工具能力。
- 错误处理和重试机制: 工具执行过程中包含完善的错误处理和自动重试机制,提高服务的稳定性和可靠性。
安装步骤
- 安装 Node.js 和 npm: 确保你的系统已安装 Node.js 和 npm (Node 包管理器)。
- 安装 npm 包: 在命令行终端中执行以下命令安装 '@bschauer/webtools-mcp-server' 包:
npm install @bschauer/webtools-mcp-server - 安装 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': 代理超时时间,单位为毫秒。
基本使用方法
-
启动服务器: 在命令行终端中执行以下命令启动 Webtools MCP Server:
npx webtools-mcp-server服务器默认使用 Stdio 传输协议,启动后会在标准输入/输出流中等待接收来自 MCP 客户端的 JSON-RPC 请求。
-
客户端发送请求: 使用 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' 或工具定义。
-
查看响应: MCP 客户端接收服务器返回的 JSON-RPC 响应,解析响应内容,并根据工具返回的结果进行后续处理。
更多工具和参数:
Webtools MCP Server 提供了多种网页分析工具,例如 'webtool_readpage', 'webtool_screenshot', 'webtool_debug', 'webtool_lighthouse' 等。 每种工具的具体参数和使用方法,请详细阅读仓库的 'README.md' 文档和代码中的工具定义部分,以便充分利用服务器提供的功能。
信息
分类
网页与API