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)