使用 Firecrawl,让你的 ElevenAgents 语音和聊天代理能够实时抓取、搜索和爬取网页。本指南涵盖两种集成方式:
- MCP 服务器 — 连接托管的 Firecrawl MCP 服务器,无需编写代码即可完成设置。
- 服务器 Webhook 工具 — 将自定义工具指向 Firecrawl 的 REST API,以完全控制请求。
选项 1:Firecrawl MCP Server
让代理具备网页访问能力的最快方式。ElevenAgents 支持远程 MCP 服务器,而 Firecrawl 提供托管式 MCP 端点。
- 在 ElevenLabs 中打开 Integrations 页面,然后点击 + Add integration。
- 在集成库中选择 Custom MCP Server。
- 填写以下字段:
| 字段 | 值 |
|---|
| 名称 | Firecrawl |
| 描述 | 从任意网站搜索、抓取、爬取并提取内容。 |
| 服务器类型 | Streamable HTTP |
| 服务器 URL | https://mcp.firecrawl.dev/YOUR_FIRECRAWL_API_KEY/v2/mcp |
将 YOUR_FIRECRAWL_API_KEY 替换为你的实际 API 密钥。Type 下拉菜单保留为 Value。请将此 URL 视为机密信息——其中包含你的 API 密钥。
你必须选择 Streamable HTTP 作为服务器类型。默认的 SSE 选项不适用于 Firecrawl MCP 端点。
-
在 Tool Approval Mode 下,选择一个审批级别:
- No Approval — 代理可自由使用工具。适合只读抓取场景。
- Fine-Grained Tool Approval — 可让你预先选择哪些工具可自动运行,哪些需要审批。适合控制高成本的爬取操作。
- Always Ask (默认) — 代理会在每次调用工具前请求许可。
-
勾选 I trust this server,然后点击 Add Server。
ElevenLabs 将连接到该服务器,并列出可用工具 (scrape、search、crawl、map 等) 。
- 在 ElevenAgents dashboard 中创建或打开一个代理。
- 前往 Tools 选项卡,然后选择 MCP 子选项卡。
- 点击 Add server,然后从下拉菜单中选择 Firecrawl 集成。
在 代理 选项卡中,向 系统 prompt 添加说明,让代理知道何时使用 Firecrawl。例如:
你是一位得力的研究助手。当用户询问某个网站、某家公司,或任何需要最新信息的话题时,请使用 Firecrawl 工具进行网页搜索或抓取相关页面,然后总结结果。
点击顶部导航栏中的 Preview。你可以通过文本聊天输入框进行测试,或直接发起语音通话。可以试试这样的 prompt:
“firecrawl.dev 是做什么的?去这个网站看看,并帮我总结一下。”
该代理会调用 Firecrawl MCP 的 scrape 工具,获取页面的 markdown,并返回摘要。
当你需要精细控制请求参数 (formats、headers、timeouts 等) ,或想在不暴露完整 MCP 工具集的情况下调用特定的 Firecrawl 端点时,请使用这种方法。
创建一个工具,用于抓取单个 URL,并以 Markdown 形式返回其内容。
- 打开你的代理,进入 Tools 选项卡。
- 点击 Add tool,然后选择 Webhook。
- 配置该工具:
| Field | Value |
|---|
| Name | scrape_website |
| Description | 从 URL 抓取内容,并以整洁的 Markdown 格式返回。 |
| Method | POST |
| URL | https://api.firecrawl.dev/v2/scrape |
Method 字段的默认值是 GET——请务必将其改为 POST。
- 滚动到 Headers 部分,点击 Add header 添加身份验证信息:
| Header | Value |
|---|
Authorization | Bearer YOUR_FIRECRAWL_API_KEY |
或者,如果你已配置工作区身份验证连接,也可以直接使用 Authentication 下拉菜单。
- 添加一个 body parameter:
| Parameter | Type | Description | Required |
|---|
url | string | 要抓取的 URL | Yes |
- 点击 Add tool。
Firecrawl API 默认会以 Markdown 格式返回页面内容。代理会接收 JSON 响应,并可使用 markdown 字段来回答问题。
创建一个工具,用于进行网页搜索并返回包含已抓取内容的结果。
- 再次点击 Add tool → Webhook,并按如下方式配置:
| 字段 | 值 |
|---|
| Name | search_web |
| Description | 根据查询进行网页搜索,并返回包含页面内容的相关结果。 |
| Method | POST |
| URL | https://api.firecrawl.dev/v2/search |
-
添加与上文相同的
Authorization 请求头。
-
添加 body 参数:
| 参数 | 类型 | 描述 | 必填 |
|---|
query | string | 搜索查询 | 是 |
limit | number | 返回结果的最大数量 (默认值为 5) | 否 |
- 点击 Add tool。
在 代理 标签页中,更新 系统 prompt:
你是一个知识渊博、可以使用网页工具的助手。
- 当用户提供具体 URL 供你读取时,使用 `scrape_website`。
- 当用户提出需要在线查找信息的一般性问题时,使用 `search_web`。
始终简明扼要地总结信息,并注明来源 URL。
试试看
点击 Preview,然后试着提问:
“搜索最新的 Next.js 功能,并给我一个总结。”
代理会调用 search_web,从 Firecrawl 获取结果,并返回对这些结果的总结。
- 模型选择 — 为确保工具调用稳定可靠,请使用高智能模型,例如 GPT-4o、Claude Sonnet 4.5 或更高版本,或 Gemini 2.5 Flash。较小的模型可能难以提取出正确的参数。
- 让 prompt 足够具体 — 明确告诉代理在什么情况下使用各个工具。指令过于含糊,容易导致工具调用遗漏或出错。
- 限制响应大小 — 对于语音代理,抓取到的长网页内容可能会占满 LLM 上下文。在抓取选项中使用
onlyMainContent: true (或指示代理尽量精简总结) ,以保持响应简洁。
- 工具调用提示音 — 在 webhook 或 MCP 工具设置中,你可以配置 Tool call sound,在工具运行时播放环境音效。这能让用户知道代理正在工作。