Skip to content

Firecrawl

Firecrawl MCP 服务器将你的 ADK 智能体连接到 Firecrawl API,这是一项可以爬取任何网站并将其内容转换为干净、结构化 Markdown 的服务。这使你的智能体能够摄取、搜索和推理来自任何 URL 的网络数据,包括其所有子页面。

功能

  • 基于智能体的网络研究:部署一个智能体,它可以接收一个主题,使用搜索工具查找相关 URL,然后使用刮取工具提取每一页的完整内容以进行分析或摘要。
  • 结构化数据提取:使用提取工具从 URL 列表中拉取特定的、结构化信息(如产品名称、价格或联系信息),由 LLM 提取提供支持。
  • 大规模内容摄取:使用批量刮取和爬取工具自动刮取整个网站或大量 URL。这对于为 RAG(检索增强生成)流水线填充向量数据库非常理想。

前置条件

与 ADK 一起使用

from google.adk.agents.llm_agent import Agent
from google.adk.tools.mcp_tool.mcp_session_manager import StdioConnectionParams
from google.adk.tools.mcp_tool.mcp_toolset import MCPToolset
from mcp import StdioServerParameters

FIRECRAWL_API_KEY = "YOUR_FIRECRAWL_API_KEY"

root_agent = Agent(
    model="gemini-2.5-pro",
    name="firecrawl_agent",
    description="使用 Firecrawl 刮取网站的有用助手",
    instruction="帮助用户搜索网站内容",
    tools=[
        MCPToolset(
            connection_params=StdioConnectionParams(
                server_params = StdioServerParameters(
                    command="npx",
                    args=[
                        "-y",
                        "firecrawl-mcp",
                    ],
                    env={
                        "FIRECRAWL_API_KEY": FIRECRAWL_API_KEY,
                    }
                ),
                timeout=30,
            ),
        )
    ],
)
from google.adk.agents.llm_agent import Agent
from google.adk.tools.mcp_tool.mcp_session_manager import StreamableHTTPServerParams
from google.adk.tools.mcp_tool.mcp_toolset import MCPToolset

FIRECRAWL_API_KEY = "YOUR_FIRECRAWL_API_KEY"

root_agent = Agent(
    model="gemini-2.5-pro",
    name="firecrawl_agent",
    description="使用 Firecrawl 刮取网站的有用助手",
    instruction="帮助用户搜索网站内容",
    tools=[
        MCPToolset(
            connection_params=StreamableHTTPServerParams(
                url=f"https://mcp.firecrawl.dev/{FIRECRAWL_API_KEY}/v2/mcp",
            ),
        )
    ],
)

可用工具

此工具集提供了一套全面的网络爬取、刮取和搜索功能:

工具 名称 描述
刮取工具 firecrawl_scrape 使用高级选项从单个 URL 刮取内容
批量刮取工具 firecrawl_batch_scrape 使用内置的速率限制和并行处理高效地刮取多个 URL
检查批量状态 firecrawl_check_batch_status 检查批量操作的状态
映射工具 firecrawl_map 映射网站以发现站点上所有已索引的 URL
搜索工具 firecrawl_search 搜索网络并可选择从搜索结果中提取内容
爬取工具 firecrawl_crawl 使用高级选项启动异步爬取
检查爬取状态 firecrawl_check_crawl_status 检查爬取作业的状态
提取工具 firecrawl_extract 使用 LLM 功能从网页中提取结构化信息。支持云 AI 和自托管 LLM 提取

配置

Firecrawl MCP 服务器可以使用环境变量进行配置:

必需

  • FIRECRAWL_API_KEY:你的 Firecrawl API 密钥
    • 使用云 API 时必需(默认)
    • 使用带有 FIRECRAWL_API_URL 的自托管实例时可选

Firecrawl API URL(可选)

  • FIRECRAWL_API_URL(可选):自托管实例的自定义 API 端点
    • 示例:https://firecrawl.your-domain.com
    • 如果未提供,将使用云 API(需要 API 密钥)

重试配置(可选)

  • FIRECRAWL_RETRY_MAX_ATTEMPTS:最大重试次数(默认:3)
  • FIRECRAWL_RETRY_INITIAL_DELAY:首次重试前的初始延迟(毫秒)(默认:1000)
  • FIRECRAWL_RETRY_MAX_DELAY:重试之间的最大延迟(毫秒)(默认:10000)
  • FIRECRAWL_RETRY_BACKOFF_FACTOR:指数退避乘数(默认:2)

信用额度使用监控(可选)

  • FIRECRAWL_CREDIT_WARNING_THRESHOLD:信用额度使用警告阈值(默认:1000)
  • FIRECRAWL_CREDIT_CRITICAL_THRESHOLD:信用额度使用临界阈值(默认:100)

其他资源