关于 Cloudflare Browser Rendering MCP Server
该 MCP 服务通过 Cloudflare Browser Rendering 抓取和处理网页内容,供 Claude、Cline 等客户端中的 LLM 使用。它还提供文档搜索、结构化提取、摘要和截图工具。
主要功能
- 01抓取网页并处理内容
- 02搜索 Cloudflare 文档
- 03使用 CSS 选择器提取内容
- 04生成网页摘要
- 05截取网页画面
适用场景
- 01为 LLM 获取网页上下文
- 02查找 Cloudflare 文档信息
- 03提取网页指定元素或截屏
MCP 相关
该服务向 MCP 客户端提供网页抓取、文档搜索、内容提取、摘要和截图工具,并使用 Cloudflare Browser Rendering。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Cloudflare Browser Rendering MCP 服务
此 MCP(Model Context Protocol)服务提供了一组工具,可使用 Cloudflare Browser Rendering 获取和处理网页内容,供大模型用作上下文。它旨在同时适用于 Claude 和 Cline 客户端环境。
功能
- 网页内容获取:获取和处理网页,为大模型提供上下文
- 文档搜索:搜索 Cloudflare 文档并返回相关内容
- 结构化内容提取:使用 CSS 选择器从网页中提取结构化内容
- 内容摘要:概括网页内容,为大模型提供更精简的上下文
- 截取屏幕截图:截取网页屏幕截图
先决条件
- Node.js v18 或更高版本
- 拥有 Browser Rendering API 访问权限的 Cloudflare 账户
- 使用提供的
puppeteer-worker.js文件部署的 Cloudflare Worker
安装
通过 Smithery 安装
通过 Smithery 自动为 Claude Desktop 安装 Cloudflare Browser Rendering:
npx -y @smithery/cli install @amotivv/cloudflare-browser-rendering-mcp --client claude
-
克隆此仓库:
git clone https://github.com/yourusername/cloudflare-browser-rendering.git cd cloudflare-browser-rendering -
安装依赖项:
npm install -
构建项目:
npm run build
Cloudflare Worker 设置
-
使用 Wrangler 将
puppeteer-worker.js文件部署到 Cloudflare Workers:npx wrangler deploy -
确保在 Cloudflare Worker 中配置以下绑定:
- 名为
browser的 Browser Rendering 绑定 - 名为
SCREENSHOTS的 KV 命名空间绑定
- 名为
-
记下已部署 Worker 的 URL(例如,
https://browser-rendering-api.yourusername.workers.dev)
配置
Claude Desktop
-
打开 Claude Desktop 配置文件:
# macOS code ~/Library/Application\ Support/Claude/claude_desktop_config.json # Windows code %APPDATA%\Claude\claude_desktop_config.json -
添加 MCP 服务配置:
{ "mcpServers": { "cloudflare-browser-rendering": { "command": "node", "args": ["/path/to/cloudflare-browser-rendering/dist/index.js"], "env": { "BROWSER_RENDERING_API": "https://your-worker-url.workers.dev" }, "disabled": false, "autoApprove": [] } } } -
重启 Claude Desktop
Cline
-
打开 Cline MCP 设置文件:
# macOS code ~/Library/Application\ Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json # Windows code %APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json -
添加 MCP 服务配置:
{ "mcpServers": { "cloudflare-browser-rendering": { "command": "node", "args": ["/path/to/cloudflare-browser-rendering/dist/index.js"], "env": { "BROWSER_RENDERING_API": "https://your-worker-url.workers.dev" }, "disabled": false, "autoApprove": [] } } }
使用方法
配置完成后,Claude Desktop 和 Cline 均可使用此 MCP 服务。你可以使用以下工具:
fetch_page
获取并处理网页,为大模型提供上下文。
参数:
url(必需):要获取的 URLmaxContentLength(可选):要返回的最大内容长度
示例:
Can you fetch and summarize the content from https://developers.cloudflare.com/browser-rendering/?
search_documentation
搜索 Cloudflare 文档并返回相关内容。
参数:
query(必需):搜索查询maxResults(可选):要返回的最大结果数
示例:
Search the Cloudflare documentation for information about "browser rendering API".
extract_structured_content
使用 CSS 选择器从网页中提取结构化内容。
参数:
url(必需):要从中提取内容的 URLselectors(必需):用于提取内容的 CSS 选择器
示例:
Extract the main heading and first paragraph from https://developers.cloudflare.com/browser-rendering/ using the selectors h1 and p.
summarize_content
概括网页内容,为大模型提供更精简的上下文。
参数:
url(必需):要概括的 URLmaxLength(可选):摘要的最大长度
示例:
Summarize the content from https://developers.cloudflare.com/browser-rendering/ in 300 words or less.
take_screenshot
截取网页的屏幕截图。
参数:
url(必需):要截取屏幕截图的 URLwidth(可选):视口宽度,单位为像素(默认值:1280)height(可选):视口高度,单位为像素(默认值:800)fullPage(可选):是否截取整个页面的屏幕截图,还是仅截取视口(默认值:false)
示例:
Take a screenshot of https://developers.cloudflare.com/browser-rendering/ with a width of 1024 pixels.
故障排除
日志记录
MCP 服务使用全面的日志记录,并采用以下前缀:
[Setup]:初始化和配置[API]:API 请求和响应[Error]:错误处理和调试
查看日志:
- Claude Desktop:查看
~/Library/Logs/Claude/mcp*.log(macOS)或%APPDATA%\Claude\Logs\mcp*.log(Windows)中的日志 - Cline:日志会显示在 VSCode 扩展的输出控制台中
常见问题
-
“BROWSER_RENDERING_API 环境变量未设置”
- 确保已在 MCP 服务配置中设置正确的 Cloudflare Worker URL
-
“Cloudflare worker API 不可用或未配置”
- 确认 Cloudflare Worker 已部署并正在运行
- 检查 URL 是否正确且可访问
-
“Browser binding 不可用”
- 确保已在 Cloudflare Worker 中配置 Browser Rendering 绑定
-
“SCREENSHOTS KV binding 不可用”
- 确保已在 Cloudflare Worker 中配置 KV 命名空间绑定
开发
项目结构
src/index.ts:主入口src/server.ts:MCP 服务实现src/browser-client.ts:与 Cloudflare Browser Rendering 交互的客户端src/content-processor.ts:处理网页内容,以便作为大模型上下文puppeteer-worker.js:Cloudflare Worker 实现
构建
npm run build
测试
项目包含全面的测试脚本,用于验证所有 MCP 工具是否正常运行:
npm test
此脚本将:
- 启动 MCP 服务
- 使用示例请求测试每个工具
- 验证响应
- 汇总测试结果
你也可以针对特定组件运行单项测试:
# Test the Puppeteer integration
npm run test:puppeteer
要确保测试正常运行,请确认你已:
- 使用
npm run build构建项目 - 将
BROWSER_RENDERING_API环境变量设置为 Cloudflare Worker URL - 部署带有所需绑定的 Cloudflare Worker
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。