关于 Firecrawl MCP Server
Firecrawl MCP Server 将 Firecrawl API 的网页抓取、搜索、站点爬取和结构化数据提取能力提供给 MCP 客户端,适用于需要处理网页内容的工作流。它还支持站点地图生成、内容筛选及多种输出格式。
主要功能
- 01抓取网页并筛选内容
- 02搜索多语言网页内容
- 03控制深度爬取站点
- 04生成站点结构地图
- 05从多个 URL 提取结构化数据
适用场景
- 01将网页内容转换为 Markdown
- 02按路径和深度爬取站点
- 03批量提取页面中的结构化信息
MCP 相关
该 MCP 服务通过 Firecrawl API 向客户端提供网页抓取、搜索、爬取、站点地图和数据提取工具,需要配置 Firecrawl API 密钥。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Firecrawl MCP 服务
一个使用 Firecrawl API 进行网页抓取、内容搜索、网站爬取和数据提取的模型上下文协议(MCP)服务。
功能
-
网页抓取:通过可自定义选项从任意网页提取内容
- 移动设备模拟
- 广告和弹窗屏蔽
- 内容筛选
- 结构化数据提取
- 多种输出格式
-
内容搜索:智能搜索功能
- 多语言支持
- 基于位置的结果
- 可自定义结果数量限制
- 结构化输出格式
-
网站爬取:高级网页爬取功能
- 深度控制
- 路径筛选
- 速率限制
- 进度跟踪
- 网站地图集成
-
网站映射:生成网站结构图
- 子域名支持
- 搜索筛选
- 链接分析
- 可视化层级结构
-
数据提取:从多个 URL 提取结构化数据
- 架构验证
- 批量处理
- 网页搜索增强
- 自定义提取提示词
安装
# Global installation
npm install -g @modelcontextprotocol/mcp-server-firecrawl
# Local project installation
npm install @modelcontextprotocol/mcp-server-firecrawl
快速开始
-
从 开发者门户 获取 Firecrawl API 密钥
-
设置 API 密钥:
Unix/Linux/macOS(bash/zsh):
export FIRECRAWL_API_KEY=your-api-keyWindows(命令提示符):
set FIRECRAWL_API_KEY=your-api-keyWindows(PowerShell):
$env:FIRECRAWL_API_KEY = "your-api-key"替代方式:使用 .env 文件(推荐用于开发):
# Install dotenv npm install dotenv # Create .env file echo "FIRECRAWL_API_KEY=your-api-key" > .env然后在代码中:
import dotenv from 'dotenv'; dotenv.config(); -
运行服务:
mcp-server-firecrawl
集成
Claude 桌面应用
添加到 MCP 设置中:
{
"firecrawl": {
"command": "mcp-server-firecrawl",
"env": {
"FIRECRAWL_API_KEY": "your-api-key"
}
}
}
Claude VSCode 扩展
添加到 MCP 配置中:
{
"mcpServers": {
"firecrawl": {
"command": "mcp-server-firecrawl",
"env": {
"FIRECRAWL_API_KEY": "your-api-key"
}
}
}
}
使用示例
网页抓取
// Basic scraping
{
name: "scrape_url",
arguments: {
url: "https://example.com",
formats: ["markdown"],
onlyMainContent: true
}
}
// Advanced extraction
{
name: "scrape_url",
arguments: {
url: "https://example.com/blog",
jsonOptions: {
prompt: "Extract article content",
schema: {
title: "string",
content: "string"
}
},
mobile: true,
blockAds: true
}
}
网站爬取
// Basic crawling
{
name: "crawl",
arguments: {
url: "https://example.com",
maxDepth: 2,
limit: 100
}
}
// Advanced crawling
{
name: "crawl",
arguments: {
url: "https://example.com",
maxDepth: 3,
includePaths: ["/blog", "/products"],
excludePaths: ["/admin"],
ignoreQueryParameters: true
}
}
网站映射
// Generate site map
{
name: "map",
arguments: {
url: "https://example.com",
includeSubdomains: true,
limit: 1000
}
}
数据提取
// Extract structured data
{
name: "extract",
arguments: {
urls: ["https://example.com/product1", "https://example.com/product2"],
prompt: "Extract product details",
schema: {
name: "string",
price: "number",
description: "string"
}
}
}
配置
详细的设置选项请参阅配置指南。
API 文档
详细的端点规范请参阅 API 文档。
开发
# Install dependencies
npm install
# Build
npm run build
# Run tests
npm test
# Start in development mode
npm run dev
示例
查看 examples 目录,了解更多使用示例:
- 基础抓取:scrape.ts
- 爬取和映射:crawl-and-map.ts
错误处理
该服务实现了稳健的错误处理机制:
- 指数退避式速率限制
- 自动重试
- 详细的错误消息
- 调试日志记录
安全
- API 密钥保护
- 请求验证
- 域名允许列表
- 速率限制
- 安全的错误消息
参与贡献
贡献指南请参阅 CONTRIBUTING.md。
许可证
MIT 许可证——详情请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。