> ## Documentation Index
> Fetch the complete documentation index at: https://docs.firecrawl.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# ElevenAgents

> 使用 Firecrawl 为 ElevenLabs 语音和聊天代理提供实时网页访问

使用 Firecrawl，让你的 [ElevenAgents](https://elevenlabs.io/agents) 语音和聊天代理能够实时抓取、搜索和爬取网页。本指南涵盖两种集成方式：

1. **MCP 服务器** — 连接托管的 Firecrawl MCP 服务器，无需编写代码即可完成设置。
2. **服务器 Webhook 工具** — 将自定义工具指向 Firecrawl 的 REST API，以完全控制请求。

<div id="prerequisites">
  ## 先决条件
</div>

* 一个有权访问 ElevenAgents 的 [ElevenLabs](https://elevenlabs.io) 账户
* 从你的 [firecrawl.dev Dashboard](https://firecrawl.dev) 获取的 Firecrawl API 密钥

<div id="option-1-firecrawl-mcp-server">
  ## 选项 1：Firecrawl MCP Server
</div>

让代理具备网页访问能力的最快方式。ElevenAgents 支持远程 MCP 服务器，而 Firecrawl 提供托管式 MCP 端点。

<div id="add-the-mcp-server">
  ### 添加 MCP 服务器
</div>

1. 在 ElevenLabs 中打开 [Integrations 页面](https://elevenlabs.io/app/agents/integrations)，然后点击 **+ Add integration**。
2. 在集成库中选择 **Custom MCP Server**。
3. 填写以下字段：

| 字段          | 值                                                         |
| ----------- | --------------------------------------------------------- |
| **名称**      | Firecrawl                                                 |
| **描述**      | 从任意网站搜索、抓取、爬取并提取内容。                                       |
| **服务器类型**   | Streamable HTTP                                           |
| **服务器 URL** | `https://mcp.firecrawl.dev/YOUR_FIRECRAWL_API_KEY/v2/mcp` |

将 `YOUR_FIRECRAWL_API_KEY` 替换为你的实际 API 密钥。**Type** 下拉菜单保留为 **Value**。请将此 URL 视为机密信息——其中包含你的 API 密钥。

<Note>
  你必须选择 **Streamable HTTP** 作为服务器类型。默认的 SSE 选项不适用于 Firecrawl MCP 端点。
</Note>

4. 在 **Tool Approval Mode** 下，选择一个审批级别：
   * **No Approval** — 代理可自由使用工具。适合只读抓取场景。
   * **Fine-Grained Tool Approval** — 可让你预先选择哪些工具可自动运行，哪些需要审批。适合控制高成本的爬取操作。
   * **Always Ask** (默认) — 代理会在每次调用工具前请求许可。

5. 勾选 **I trust this server**，然后点击 **Add Server**。

ElevenLabs 将连接到该服务器，并列出可用工具 (scrape、search、crawl、map 等) 。

<div id="attach-it-to-an-agent">
  ### 将其连接到代理
</div>

1. 在 [ElevenAgents dashboard](https://elevenlabs.io/app/agents/agents) 中创建或打开一个代理。
2. 前往 **Tools** 选项卡，然后选择 **MCP** 子选项卡。
3. 点击 **Add server**，然后从下拉菜单中选择 **Firecrawl** 集成。

<div id="update-the-system-prompt">
  ### 更新系统 prompt
</div>

在 **代理** 选项卡中，向 **系统 prompt** 添加说明，让代理知道何时使用 Firecrawl。例如：

```text theme={null}
你是一位得力的研究助手。当用户询问某个网站、某家公司，或任何需要最新信息的话题时，请使用 Firecrawl 工具进行网页搜索或抓取相关页面，然后总结结果。
```

<div id="test-it">
  ### 试一试
</div>

点击顶部导航栏中的 **Preview**。你可以通过文本聊天输入框进行测试，或直接发起语音通话。可以试试这样的 prompt：

> "firecrawl.dev 是做什么的？去这个网站看看，并帮我总结一下。"

该代理会调用 Firecrawl MCP 的 `scrape` 工具，获取页面的 markdown，并返回摘要。

***

<div id="option-2-server-webhook-tool">
  ## 选项 2：服务器 Webhook 工具
</div>

当你需要精细控制请求参数 (formats、headers、timeouts 等) ，或想在不暴露完整 MCP 工具集的情况下调用特定的 Firecrawl 端点时，请使用这种方法。

<div id="scrape-tool">
  ### 抓取工具
</div>

创建一个工具，用于抓取单个 URL，并以 Markdown 形式返回其内容。

1. 打开你的代理，进入 **Tools** 选项卡。
2. 点击 **Add tool**，然后选择 **Webhook**。
3. 配置该工具：

| Field           | Value                                 |
| --------------- | ------------------------------------- |
| **Name**        | scrape\_website                       |
| **Description** | 从 URL 抓取内容，并以整洁的 Markdown 格式返回。       |
| **Method**      | POST                                  |
| **URL**         | `https://api.firecrawl.dev/v2/scrape` |

<Note>
  **Method** 字段的默认值是 GET——请务必将其改为 **POST**。
</Note>

4. 滚动到 **Headers** 部分，点击 **Add header** 添加身份验证信息：

| Header          | Value                           |
| --------------- | ------------------------------- |
| `Authorization` | `Bearer YOUR_FIRECRAWL_API_KEY` |

或者，如果你已配置工作区身份验证连接，也可以直接使用 **Authentication** 下拉菜单。

5. 添加一个 **body parameter**：

| Parameter | Type   | Description | Required |
| --------- | ------ | ----------- | -------- |
| `url`     | string | 要抓取的 URL    | Yes      |

6. 点击 **Add tool**。

Firecrawl API 默认会以 Markdown 格式返回页面内容。代理会接收 JSON 响应，并可使用 `markdown` 字段来回答问题。

<div id="search-tool">
  ### 搜索工具
</div>

创建一个工具，用于进行网页搜索并返回包含已抓取内容的结果。

1. 再次点击 **Add tool** → **Webhook**，并按如下方式配置：

| 字段              | 值                                     |
| --------------- | ------------------------------------- |
| **Name**        | search\_web                           |
| **Description** | 根据查询进行网页搜索，并返回包含页面内容的相关结果。            |
| **Method**      | POST                                  |
| **URL**         | `https://api.firecrawl.dev/v2/search` |

2. 添加与上文相同的 `Authorization` 请求头。

3. 添加 **body 参数**：

| 参数      | 类型     | 描述                 | 必填 |
| ------- | ------ | ------------------ | -- |
| `query` | string | 搜索查询               | 是  |
| `limit` | number | 返回结果的最大数量 (默认值为 5) | 否  |

4. 点击 **Add tool**。

<div id="update-the-system-prompt">
  ### 更新系统 prompt
</div>

在 **代理** 标签页中，更新 **系统 prompt**：

```text theme={null}
你是一个知识渊博、可以使用网页工具的助手。

- 当用户提供具体 URL 供你读取时，使用 `scrape_website`。
- 当用户提出需要在线查找信息的一般性问题时，使用 `search_web`。

始终简明扼要地总结信息，并注明来源 URL。
```

### 试试看

点击 **Preview**，然后试着提问：

> “搜索最新的 Next.js 功能，并给我一个总结。”

代理会调用 `search_web`，从 Firecrawl 获取结果，并返回对这些结果的总结。

***

<div id="tips">
  ## 提示
</div>

* **模型选择** — 为确保工具调用稳定可靠，请使用高智能模型，例如 GPT-4o、Claude Sonnet 4.5 或更高版本，或 Gemini 2.5 Flash。较小的模型可能难以提取出正确的参数。
* **让 prompt 足够具体** — 明确告诉代理在什么情况下使用各个工具。指令过于含糊，容易导致工具调用遗漏或出错。
* **限制响应大小** — 对于语音代理，抓取到的长网页内容可能会占满 LLM 上下文。在抓取选项中使用 `onlyMainContent: true` (或指示代理尽量精简总结) ，以保持响应简洁。
* **工具调用提示音** — 在 webhook 或 MCP 工具设置中，你可以配置 **Tool call sound**，在工具运行时播放环境音效。这能让用户知道代理正在工作。

<div id="resources">
  ## 资源
</div>

* [ElevenAgents 文档](https://elevenlabs.io/docs/eleven-agents/overview)
* [ElevenAgents 工具概览](https://elevenlabs.io/docs/eleven-agents/customization/tools)
* [ElevenAgents MCP 集成](https://elevenlabs.io/docs/eleven-agents/customization/tools/mcp)
* [Firecrawl API 参考文档](https://docs.firecrawl.dev/api-reference/v2-introduction)
* [Firecrawl MCP 服务器](https://docs.firecrawl.dev/mcp-server)
