Cloudflare Browser Rendering MCP Server 使用说明
项目简介
本项目 Cloudflare Browser Rendering MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在为大型语言模型 (LLM) 应用提供网页内容抓取和处理能力。它利用 Cloudflare Browser Rendering 服务,将网页渲染成 HTML,并提取有用的信息,例如网页内容、截图和结构化数据,作为 LLM 的上下文输入,从而增强 LLM 在处理网页相关任务时的能力。
主要功能点
- 网页内容抓取与处理: 使用 Cloudflare Browser Rendering 服务抓取指定 URL 的网页内容,并进行清洗和格式化,使其适合作为 LLM 的上下文。
- 结构化内容提取: 支持使用 CSS 选择器从网页中提取结构化数据,方便 LLM 理解和利用网页中的特定信息。
- 网页内容摘要: 提供对网页内容进行摘要的功能,帮助 LLM 快速理解网页主旨,适用于处理长网页内容。
- Cloudflare Browser Rendering 集成: 无缝集成 Cloudflare Browser Rendering 服务,利用其强大的浏览器渲染能力。
- MCP 协议支持: 遵循 Model Context Protocol 协议,可以通过标准的 JSON-RPC 接口与 MCP 客户端进行通信。
- 工具化能力: 以 MCP 工具的形式提供网页抓取、结构化提取和摘要等功能,方便 LLM 客户端调用。
安装步骤
-
克隆仓库:
git clone https://github.com/amotivv/cloudflare-browser-rendering.git cd cloudflare-browser-rendering -
安装依赖: 确保已安装 Node.js (v16 或更高版本) 和 npm。运行以下命令安装项目依赖:
npm install -
安装 Cloudflare Puppeteer 包 (如果需要部署 Worker): 如果你计划使用 Cloudflare Worker 部署 Browser Rendering 服务,需要安装 '@cloudflare/puppeteer' 包:
npm install @cloudflare/puppeteer -
构建 MCP 服务器: 运行以下命令构建 MCP 服务器代码:
npm run build
服务器配置
MCP 服务器需要配置才能被 MCP 客户端(如 Cline)识别和连接。以下是一个 'cline_mcp_settings.json' 文件的配置示例,你需要将其添加到 MCP 客户端的配置目录中。
{ "servers": [ { "name": "Cloudflare Browser Rendering MCP Server", // MCP 服务器名称,可自定义 "command": "node", // 启动 MCP 服务器的命令,这里使用 node "args": [ // 启动命令的参数 "./dist/index.js" // 指向构建后的 MCP 服务器入口文件 ], "transports": [ { "type": "stdio" // 使用标准输入输出 (stdio) 作为传输协议 } ] } ] }
基本使用方法
-
启动 MCP 服务器: 在项目根目录下,运行以下命令启动 MCP 服务器:
npm start或者,在开发模式下运行:
npm run dev服务器成功启动后,会监听标准输入输出,等待 MCP 客户端的请求。
-
配置 MCP 客户端: 将上面提供的 'cline_mcp_settings.json' 配置文件添加到你的 MCP 客户端(例如 Cline)的配置目录中。确保客户端能够读取到该配置文件。
-
在 MCP 客户端中使用工具: 在 MCP 客户端中,你可以调用以下工具来使用 Cloudflare Browser Rendering MCP Server 的功能:
- 'fetch_page': 抓取并处理网页内容。
- 参数示例: '{"url": "https://example.com", "includeScreenshot": false, "maxContentLength": 5000}'
- 'search_documentation': 搜索 Cloudflare 文档 (模拟功能)。
- 参数示例: '{"query": "Browser Rendering API", "maxResults": 3}'
- 'extract_structured_content': 从网页提取结构化内容。
- 参数示例: '{"url": "https://example.com", "selectors": {"title": "h1", "description": "p"}}'
- 'summarize_content': 摘要网页内容 (模拟功能)。
- 参数示例: '{"url": "https://example.com", "maxLength": 300}'
具体工具的使用方法和参数,请参考 MCP 客户端的文档和工具的 'description' 字段。
- 'fetch_page': 抓取并处理网页内容。
注意:
- 本项目依赖 Cloudflare Browser Rendering 服务,你需要拥有 Cloudflare 账户并启用该服务才能正常使用网页抓取和渲染功能。
- 示例配置文件 'cline_mcp_settings.json.example' 中 'YOUR_WORKER_URL_HERE' 需要替换为你部署的 Cloudflare Worker 的 URL,该 Worker 负责实际的浏览器渲染工作。你需要根据仓库文档配置和部署 Cloudflare Worker。
- 'search_documentation' 和 'summarize_content' 工具目前为模拟实现,实际使用可能需要根据需求进行调整和完善。
信息
分类
网页与API