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-key
Windows(命令提示符):set FIRECRAWL_API_KEY=your-api-key
Windows(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 设置:
{
"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
示例
查看示例目录以获取更多使用示例:
错误处理
服务器实现了强大的错误处理:
- 使用指数退避算法进行速率限制
- 自动重试
- 详细错误消息
- 调试日志记录
安全
- API 密钥保护
- 请求验证
- 域名允许列表
- 速率限制
- 安全错误消息
贡献
请参阅CONTRIBUTING.md了解贡献指南。
执照
MIT 许可证 - 详情请参阅许可证。