MCP Server Firecrawl
一个服务器,它使用 Firecrawl API 提供网络抓取和智能内容搜索功能,使 AI 代理能够从网站提取结构化数据并执行内容搜索。
Tools
crawl
Crawls a website starting from a base URL
map
Maps a website's structure
extract
Extracts structured data from URLs
scrape_url
Scrape content from a URL using Firecrawl API
search_content
Search content using Firecrawl API
README
Firecrawl MCP 服务器
一个用于网络抓取、内容搜索、网站爬取和数据提取的模型上下文协议 (MCP) 服务器,使用 Firecrawl API。
功能
-
网络抓取: 从任何网页提取内容,具有可自定义的选项
- 移动设备模拟
- 广告和弹出窗口拦截
- 内容过滤
- 结构化数据提取
- 多种输出格式
-
内容搜索: 智能搜索功能
- 多语言支持
- 基于位置的结果
- 可自定义的结果限制
- 结构化输出格式
-
网站爬取: 高级网络爬取功能
- 深度控制
- 路径过滤
- 速率限制
- 进度跟踪
- 站点地图集成
-
站点地图: 生成站点结构图
- 子域名支持
- 搜索过滤
- 链接分析
- 可视化层级结构
-
数据提取: 从多个 URL 提取结构化数据
- 模式验证
- 批量处理
- 网络搜索增强
- 自定义提取提示
安装
# 全局安装
npm install -g @modelcontextprotocol/mcp-server-firecrawl
# 本地项目安装
npm install @modelcontextprotocol/mcp-server-firecrawl
快速开始
-
从 开发者门户 获取您的 Firecrawl API 密钥
-
设置您的 API 密钥:
Unix/Linux/macOS (bash/zsh):
export FIRECRAWL_API_KEY=your-api-key
Windows (命令提示符):
set FIRECRAWL_API_KEY=your-api-key
Windows (PowerShell):
$env:FIRECRAWL_API_KEY = "your-api-key"
替代方案:使用 .env 文件(推荐用于开发):
# 安装 dotenv npm install dotenv # 创建 .env 文件 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"
}
}
}
}
使用示例
网络抓取
// 基本抓取
{
name: "scrape_url",
arguments: {
url: "https://example.com",
formats: ["markdown"],
onlyMainContent: true
}
}
// 高级提取
{
name: "scrape_url",
arguments: {
url: "https://example.com/blog",
jsonOptions: {
prompt: "Extract article content",
schema: {
title: "string",
content: "string"
}
},
mobile: true,
blockAds: true
}
}
网站爬取
// 基本爬取
{
name: "crawl",
arguments: {
url: "https://example.com",
maxDepth: 2,
limit: 100
}
}
// 高级爬取
{
name: "crawl",
arguments: {
url: "https://example.com",
maxDepth: 3,
includePaths: ["/blog", "/products"],
excludePaths: ["/admin"],
ignoreQueryParameters: true
}
}
站点地图
// 生成站点地图
{
name: "map",
arguments: {
url: "https://example.com",
includeSubdomains: true,
limit: 1000
}
}
数据提取
// 提取结构化数据
{
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 文档。
开发
# 安装依赖
npm install
# 构建
npm run build
# 运行测试
npm test
# 在开发模式下启动
npm run dev
示例
查看 示例 目录以获取更多使用示例:
- 基本抓取:scrape.ts
- 爬取和映射:crawl-and-map.ts
错误处理
服务器实现了强大的错误处理:
- 具有指数退避的速率限制
- 自动重试
- 详细的错误消息
- 调试日志
安全
- API 密钥保护
- 请求验证
- 域名允许列表
- 速率限制
- 安全的错误消息
贡献
有关贡献指南,请参阅 CONTRIBUTING.md。
许可证
MIT 许可证 - 有关详细信息,请参阅 LICENSE。
推荐服务器
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Playwright MCP Server
提供一个利用模型上下文协议的服务器,以实现类人浏览器的自动化,该服务器使用 Playwright,允许控制浏览器行为,例如导航、元素交互和滚动。
@kazuph/mcp-fetch
用于获取网页内容和处理图像的模型上下文协议服务器。这使得 Claude Desktop(或任何 MCP 客户端)能够适当地获取网页内容和处理图像。
Apple MCP Server
通过 MCP 协议与 Apple 应用(如“信息”、“备忘录”和“通讯录”)进行交互,从而使用自然语言发送消息、搜索和打开应用内容。
DuckDuckGo MCP Server
一个模型上下文协议 (MCP) 服务器,通过 DuckDuckGo 提供网页搜索功能,并具有内容获取和解析的附加功能。
contentful-mcp
在你的 Contentful Space 中更新、创建、删除内容、内容模型和资源。
YouTube Transcript MCP Server
这个服务器用于获取指定 YouTube 视频 URL 的字幕,从而可以与 Goose CLI 或 Goose Desktop 集成,进行字幕提取和处理。
serper-search-scrape-mcp-server
这个 Serper MCP 服务器支持搜索和网页抓取,并且支持 Serper API 引入的所有最新参数,例如位置。