Agenty
官方使用AI进行网页抓取、爬取和变更检测
你可以用 Agenty MCP 做什么?
- 将任意网页转换为干净的 Markdown — 使用
markdown从 URL 中去除导航、广告和样板内容,获取适合 LLM 处理的文本。 - 通过设备模拟捕获截图 — 使用
screenshot截取全页或裁剪后的 PNG/JPEG 截图,可模拟 iPhone 14 等设备。 - 抓取 JavaScript 渲染后的 HTML — 使用
scrape获取所有脚本执行完毕后的最终 DOM,适用于单页应用。 - 通过选择器提取结构化数据 — 使用
extract配合 CSS 或 XPath 从页面中提取特定字段,如价格或标题。 - 生成自定义格式的 PDF — 使用
pdf将页面导出为 A4 或 Letter 尺寸的 PDF,可控制页边距、页眉和打印背景。 - 追踪 HTTP 重定向链 — 使用
redirects跟踪 URL 的每次重定向,用于调试链接或验证规范目标地址。
文档
Agenty AI 提供了一个模型上下文协议 (MCP) 服务器,让 Claude、Cursor 等 AI 助手以及任何兼容 MCP 的客户端能够直接访问浏览器自动化工具。你可以使用 LLM 模型来截取屏幕截图、生成 PDF、抓取网页、提取结构化数据、将页面转换为 Markdown 等等。
在本文中,我将介绍如何连接到 Agenty 的 MCP 服务器以及如何使用每个可用的工具。
前提条件
在连接之前,你需要:
- 一个 Agenty AI 账户和 API 密钥
- 一个兼容 MCP 的客户端,例如 Claude Desktop、Cursor、Windsurf 或任何支持模型上下文协议的工具
- 如果你使用 CLI 或本地配置文件,需要 Node.js 18 或更高版本
如何连接
将以下配置添加到你的 MCP 客户端。对于 Claude Desktop,配置放在 claude_desktop_config.json 中。对于 Cursor,配置放在你的 .cursor/mcp.json 文件中。
{
"mcpServers": {
"agenty": {
"url": "https://api.agenty.ai/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
将 YOUR_API_KEY 替换为你从 Agenty AI > 设置 > API 密钥中获取的密钥。添加完成后,重启你的客户端,Agenty 工具就会出现在工具列表中。
Agenty API 密钥 1069×482 32.4 KB
对于支持 OAuth 或基于令牌登录的客户端,你可以直接通过 Agenty AI 登录流程进行身份验证,而无需手动粘贴密钥。
可用工具
Agenty MCP 服务器提供了十一个工具,涵盖了最常见的浏览器自动化需求。每个工具都接受一个 URL 或原始 HTML 作为输入,以及用于控制浏览器行为的可选参数。
Agenty MCP 中的可用工具 1265×795 60.9 KB
Markdown MCP
markdown 工具会加载一个页面,去除导航、页脚、脚本、广告和其他杂乱内容,并将剩余的可读内容转换为干净的 Markdown。它可以将相对链接解析为绝对 URL,并移除数据图像。
这对于将网页内容提供给 LLM、构建 RAG 管道或保存文章的可读版本特别有用。
示例提示:
“将 Web scraping - Wikipedia 转换为 Markdown”
“获取这篇博客文章的 Markdown 内容:https://example.com/article”
使用 Claude desktop 预览网站抓取 1272×844 67.2 KB
截图 MCP
screenshot 工具会启动一个真实的浏览器,加载页面,并将其捕获为 PNG 或 JPEG 图像。它支持全页截图、裁剪区域、自定义视口、设备模拟以及调整大小和旋转等图像处理。
当你需要页面的视觉快照、记录 UI 或验证网站在特定屏幕尺寸下的外观时,这非常有用。
示例提示:
“对 https://example.com 进行全页截图,并以 PNG 格式返回”
“使用 iPhone 14 视口捕获 https://agenty.ai 的移动端截图”
网页抓取 MCP
web scrape 工具会在一个真实的浏览器中加载 URL,并执行完整的 JavaScript,然后返回渲染后的 HTML。与简单的 HTTP 请求不同,它会等待动态内容加载,因此对于单页应用和 JavaScript 密集型页面非常可靠。
当你需要页面在运行所有脚本后用户所看到的原始 HTML 时,可以使用此工具。
示例提示:
“抓取 https://news.ycombinator.com 的 HTML 并返回完整的渲染内容”
“抓取此页面并等待 3 秒以加载动态内容:https://example.com/dashboard”
网页爬取 MCP
links crawling 工具会渲染一个页面,并提取 DOM 中找到的每个超链接。它返回所有锚点 href 的扁平列表,你可以用它来构建爬取队列、审核内部链接或发现内容。
示例提示:
“查找 https://agenty.ai” 上的所有链接
“从 https://example.com/blog 提取每个链接,并给我一个文章 URL 列表”
PDF MCP
PDF 工具会在一个真实的浏览器中渲染页面,并将其导出为 PDF。你可以设置页面格式(A4、Letter 等)、启用横向模式、设置边距、显示或隐藏背景,并提供自定义页眉和页脚。
示例提示:
“以 A4 格式生成 https://agenty.ai 的 PDF,并启用打印背景”
“创建 https://example.com/report” 的横向 PDF
数据提取 MCP
extract 工具会渲染一个页面,并使用 CSS 选择器或 XPath 提取结构化数据。它适用于从渲染后的页面中提取特定字段,如产品价格、评论数量、职位名称或任何重复元素。
示例提示:
“从 https://example.com/products” 提取产品名称和价格
“获取 https://news.ycombinator.com” 上的所有标题
站点地图 MCP
sitemap crawler 工具会读取网站的 sitemap.xml,跟踪站点地图索引文件,并返回所有已发现 URL 的完整列表。它支持使用排除模式来过滤掉某些路径。
使用此工具可以快速了解网站的整体结构,或为大型网站构建爬取列表。
示例提示:
“查找 https://agenty.ai” 站点地图中的所有 URL
“获取 https://example.com 的站点地图,并排除任何包含 /blog/ 的 URL”
重定向追踪 MCP
redirects capture 工具会跟踪给定 URL 的所有 HTTP 重定向,并返回完整的链,包括每个中间 URL、状态码和最终目标。
这对于调试损坏的链接、验证规范 URL 以及审核联盟或缩短链接很有帮助。
示例提示:
“追踪 https://bit.ly/some-link” 的所有重定向
“显示 https://example.com/old-page” 的重定向链
电子邮件抓取 MCP
emails scraper 工具会加载一个或多个 URL(一次最多十个),并提取渲染页面上找到的所有电子邮件地址。它可以处理混淆的地址和动态加载的联系人部分。
示例提示:
“查找 https://example.com/contact” 上的所有电子邮件地址
“从这三个页面抓取电子邮件:https://site1.com, https://site2.com, https://site3.com”
内容 MCP
content 工具会在 JavaScript 执行后返回页面的完整渲染 HTML。它与 scrape 类似,但针对需要最终 DOM 状态而非抓取管道的用例进行了优化。
示例提示:
“获取 https://example.com/app” 的渲染 HTML 内容
快照 MCP
snapshot 工具会捕获页面的无障碍树——一个包含所有交互式和可读元素(包括按钮、链接、输入框和标题)的结构化列表。这是为需要在不处理原始 HTML 的情况下导航或理解页面的 AI 代理设计的。
示例提示:
“对 https://example.com 进行无障碍快照,以便我了解页面结构”
示例提示
以下是一些结合使用工具的多个步骤示例:
审核网站内容: “获取 https://example.com, 的站点地图,然后将前 5 个页面转换为 Markdown 并总结每个页面”
生成可视化报告: “在移动端和桌面端视口下对 https://agenty.ai 进行截图,并同时显示两者”
构建联系人列表: “查找 https://example.com/team, 上的所有链接,然后从每个团队成员页面抓取电子邮件地址”
验证链接健康状况: “从 https://example.com/blog 提取所有链接,并追踪任何不返回 200 状态码的链接的重定向链”
存档页面: “将 https://example.com/article 转换为 Markdown 并生成 PDF 版本,两者都使用绝对链接”
支持的参数
所有基于导航的工具(screenshot、pdf、scrape、content、markdown、links、extract、redirects)共享一组通用的浏览器配置选项:
| 参数 | 类型 | 描述 |
|---|---|---|
| url | string | 要加载的页面 URL。如果未提供 html,则为必填项。 |
| html | string | 要渲染的原始 HTML 字符串,而不是加载 URL。 |
| waitFor | string 或 number | 在捕获之前等待 CSS 选择器、毫秒数或网络事件。 |
| viewport | object | 设置 width、height、deviceScaleFactor、isMobile、hasTouch 和 isLandscape。 |
| device | string | 模拟命名设备,例如 iPhone 14 或 iPad Pro。 |
| userAgent | string | 覆盖浏览器用户代理字符串。 |
| cookies | array | 在页面加载前注入 cookie。 |
| blockAds | boolean | 阻止广告网络请求。默认情况下,抓取工具会启用此功能。 |
| blockTrackers | boolean | 阻止跟踪和分析脚本。 |
| goToOptions | object | 控制导航超时(毫秒)和 waitUntil 策略(load、domcontentloaded、networkidle0、networkidle2)。 |
| setExtraHTTPHeaders | object | 以键值对形式添加自定义请求头。 |
| rejectRequestPattern | array | 阻止匹配这些 URL 模式的请求。 |
| requestInterceptors | array | 拦截匹配模式的请求并返回自定义响应。 |
| authenticate | object | 为受基本身份验证保护的页面设置 HTTP 用户名和密码。 |
| anonymous | object | 通过代理路由并跳过资源类型以实现匿名浏览。 |
截图特定参数:
| 参数 | 类型 | 描述 |
|---|---|---|
| options.fullPage | boolean | 捕获整个可滚动页面。默认为 true。 |
| options.type | string | 图像格式:png 或 jpeg。默认为 png。 |
| options.quality | number | JPEG 质量,从 0 到 100。 |
| options.clip | object | 使用 x、y、width 和 height 捕获特定区域。 |
| options.omitBackground | boolean | 使背景透明(仅限 PNG)。 |
| manipulate | object | 使用 resize、rotate、flip 和 flop 对图像进行后处理。 |
| responseType | string | 将图像作为缓冲区(默认)或托管 URL 返回。 |
当通过 MCP 使用截图工具时,结果默认以托管 URL 的形式返回。当直接调用 API 时,responseType 默认为 buffer。设置 responseType: 'url' 以接收托管链接。
PDF 特定参数:
| 参数 | 类型 | 描述 |
|---|---|---|
| options.format | string | 页面尺寸:A4、Letter、Legal、Tabloid、Ledger、A0–A6。 |
| options.landscape | boolean | 以横向方向渲染。 |
| options.margin | object | 设置上、下、左、右边距。 |
| options.printBackground | boolean | 在输出中包含 CSS 背景。 |
| options.displayHeaderFooter | boolean | 在每页上显示页眉和页脚。 |
| options.headerTemplate | string | 页眉的 HTML 模板。 |
| options.footerTemplate | string | 页脚的 HTML 模板。 |
| options.pageRanges | string | 打印特定页面,例如 1-5。 |
| options.scale | number | 缩放页面内容。 |
| emulateMedia | string | 以屏幕或打印媒体类型渲染。 |
| responseType | string | 将 PDF 作为 buffer(默认)或托管 URL 返回。 |
通过 MCP 使用 PDF 工具时,结果默认以托管 URL 返回。直接调用 API 时,responseType 默认为 buffer。设置 responseType: 'url' 以接收托管链接。
速率限制与合理使用
每个 API 密钥根据您的套餐有每月请求限制。运行大量 JavaScript 或生成大型 PDF 的长时间页面会消耗更多资源。使用 blockAds 和 blockTrackers 来加速请求并减少抓取工作负载的带宽使用。
Agenty AI 的请求和响应模式有意与最广泛使用的浏览器自动化 API 保持兼容,包括 Browserless、Firecrawl、Cloudflare Browser Rendering 及类似服务。如果您已经在使用这些提供商之一,只需更新基础 URL 和 API 密钥即可切换到 Agenty AI,无需重写现有请求。
| 提供商 | 迁移方式 |
|---|---|
| Browserless | 更改基础 URL 和 API 密钥。所有参数均兼容。 |
| Firecrawl | 更改基础 URL 和 API 密钥。抓取、markdown 和爬取端点直接映射。 |
| Cloudflare Browser Rendering | 更改基础 URL 和认证头。截图和内容参数兼容。 |
| Puppeteer HTTP APIs | 大多数 goToOptions 和页面选项可 1:1 映射。 |