使用说明
项目简介
Firecrawl MCP服务器是一个基于 Model Context Protocol (MCP) 的应用后端,它集成了 Firecrawl 网页抓取 API,为LLM客户端提供强大的网页内容抓取和结构化数据提取功能。通过该服务器,LLM应用可以轻松地从互联网获取信息,并按照预定义的结构进行解析和利用。
主要功能点
- 网页抓取 (Website Scraping): 支持抓取指定URL的网页内容,并可选择多种输出格式,如 Markdown, HTML, 纯文本。
- 结构化数据提取 (Structured Data Extraction): 允许用户定义Prompt和Schema,从指定网页中提取符合Schema的结构化数据,方便LLM进行理解和应用。
- 错误追踪 (Error Tracking): 集成了 Sentry 错误追踪服务,帮助开发者监控和调试服务器运行状态。
安装步骤
-
安装依赖: 确保已安装 Node.js 和 npm,然后克隆仓库到本地,并在项目根目录下运行以下命令安装项目依赖:
npm install -
配置环境变量: 在项目根目录下创建 '.env' 文件,并填入以下环境变量:
FIRECRAWL_API_TOKEN=您的_Firecrawl_API_令牌 SENTRY_DSN=您的_Sentry_DSN (可选,用于错误追踪)- 'FIRECRAWL_API_TOKEN':必需。您的 Firecrawl API 令牌,用于访问 Firecrawl 服务。请前往 Firecrawl 官网获取。
- 'SENTRY_DSN':可选。您的 Sentry DSN (Data Source Name),用于错误追踪和性能监控。如果您不需要错误追踪功能,可以忽略此项。
-
启动服务器: 在项目根目录下运行以下命令启动 MCP 服务器:
npm start或者,您也可以直接在命令行中设置环境变量并启动服务器:
FIRECRAWL_API_TOKEN=您的_Firecrawl_API_令牌 npm start
服务器配置 (MCP 客户端)
要使 MCP 客户端连接到 Firecrawl MCP 服务器,您需要提供以下配置信息。以下是一个 JSON 格式的配置示例,您可以将其添加到您的 MCP 客户端配置中:
{ "serverName": "Firecrawl-MCP-Server", "command": "npm", "args": ["start"], "options": { "env": { "FIRECRAWL_API_TOKEN": "<请替换为您的 Firecrawl API 令牌>" // "SENTRY_DSN": "<请替换为您的 Sentry DSN (可选)>" }, "cwd": "<Firecrawl-MCP-Server 仓库的本地路径>" } }
配置参数说明:
- 'serverName': MCP 服务器的名称,可以自定义,例如 "Firecrawl-MCP-Server"。
- 'command': 启动服务器的命令,这里是 'npm',因为我们使用 'npm start' 启动服务器。
- 'args': 传递给 'command' 的参数,这里是 '["start"]',表示执行 'npm start' 命令。
- 'options': 可选的配置选项,用于更精细地控制服务器启动环境。
- 'env': 设置环境变量。请务必将 '<请替换为您的 Firecrawl API 令牌>' 替换为您的实际 Firecrawl API 令牌。 如果您配置了 Sentry,请取消 'SENTRY_DSN' 的注释并替换为您的 Sentry DSN。
- 'cwd': 请务必将 '<Firecrawl-MCP-Server 仓库的本地路径>' 替换为您本地 Firecrawl-MCP-Server 仓库的绝对路径。 例如 '/Users/yourusername/Documents/mcp-firecrawl-tool'。 这确保 MCP 客户端在正确的目录下启动服务器。
基本使用方法
启动服务器后,您可以使用 MCP 客户端(例如 'mcp-inspector')与 Firecrawl MCP 服务器进行交互,调用其提供的工具。
1. 网页抓取工具 (scrape-website)
该工具用于抓取指定 URL 的网页内容。
参数:
- 'url' (string, 必需): 要抓取的网页 URL。
- 'formats' (array of strings, 可选): 期望的输出格式数组,默认为 '["markdown"]'。可选格式包括 '"markdown"', '"html"', '"text"'。
使用示例 (mcp-inspector):
# 基本使用 (默认 Markdown 格式) mcp-inspector --tool scrape-website --args '{"url": "https://example.com"}' # 指定多种输出格式 mcp-inspector --tool scrape-website --args '{"url": "https://example.com", "formats": ["markdown", "html", "text"]}'
2. 结构化数据提取工具 (extract-data)
该工具用于从指定 URL 提取结构化数据。
参数:
- 'urls' (array of strings, 必需): 要提取数据的网页 URL 数组。
- 'prompt' (string, 必需): 描述需要提取的数据的 Prompt 文本。
- 'schema' (object, 必需): 描述数据结构的 Schema 定义。Schema 支持 string, boolean, number, 数组和嵌套对象类型。
使用示例 (mcp-inspector):
# 提取公司信息示例 mcp-inspector --tool extract-data --args '{ "urls": ["https://example.com"], "prompt": "提取公司使命、是否支持SSO以及是否开源。", "schema": { "company_mission": "string", "supports_sso": "boolean", "is_open_source": "boolean" } }' # 提取产品信息的复杂示例 mcp-inspector --tool extract-data --args '{ "urls": ["https://example.com/products", "https://example.com/pricing"], "prompt": "提取产品信息,包括名称、价格和特性。", "schema": { "products": [{ "name": "string", "price": "number", "features": ["string"] }] } }'
请根据您的实际需求选择合适的工具和参数,并参考 Firecrawl 官方文档了解更多关于 Firecrawl API 的信息。
信息
分类
网页与API