mcpField
P
pp-firecrawl

pp-firecrawl

github.com/mvanhorn数据与数据库2.1k613 次安装今天更新
代码仓库

关于 pp-firecrawl

pp-firecrawl 是通过 firecrawl-pp-cli 使用 Firecrawl 的技能,适合需要抓取网页、爬取站点或提取结构化信息的 Agent。它还提供搜索、深度研究和批量任务命令,并支持独立安装 MCP 服务。

主要功能

  1. 01抓取单页或批量 URL
  2. 02爬取站点并映射 URL
  3. 03用 LLM 提取结构化数据
  4. 04搜索网页并抓取结果
  5. 05管理异步任务状态

适用场景

  1. 01从网页提取指定字段
  2. 02批量爬取多个页面
  3. 03查询网站内容并生成研究结果

MCP 相关

README 提供安装 firecrawl-pp-mcp 并注册到 Claude Code 的步骤。该 MCP 服务向客户端暴露 Firecrawl CLI 的相关操作;具体工具清单未说明。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mvanhorn/printing-press-library --skill pp-firecrawl

安装后在 Claude Code 中输入/pp-firecrawl确认已加载。

详细介绍

Firecrawl — Printing Press CLI

前置条件:安装 CLI

此技能通过 firecrawl-pp-cli 二进制文件运行。**调用此技能中的任何命令之前,必须确认 CLI 已安装。**如果尚未安装,请先安装:

  1. 通过 Printing Press 安装程序安装。在 macOS/Linux 上,二进制文件默认安装到 $HOME/.local/bin;在 Windows 上,默认安装到 %LOCALAPPDATA%\Programs\PrintingPress\bin:
    npx -y @mvanhorn/printing-press-library install firecrawl --cli-only
    
  2. 验证:firecrawl-pp-cli --version
  3. 确保报告的安装目录位于将调用此技能的 Agent/运行时的 $PATH 中。

如果 npx 安装失败(没有 Node、处于离线状态等),请改用 Go 直接安装(需要 Go 1.26.6 或更高版本):

go install github.com/mvanhorn/printing-press-library/library/developer-tools/firecrawl/cmd/firecrawl-pp-cli@latest

如果安装后 --version 报告“command not found”,则运行时无法在 $PATH 中找到二进制文件目录。验证成功之前,请勿继续运行技能命令。

命令参考

batch — 管理批处理

  • firecrawl-pp-cli batch cancel-scrape — 取消批量抓取任务
  • firecrawl-pp-cli batch get-scrape-errors — 获取批量抓取任务的错误
  • firecrawl-pp-cli batch get-scrape-status — 获取批量抓取任务的状态
  • firecrawl-pp-cli batch scrape-and-extract-from-urls — 抓取多个 URL,并可选择使用大模型提取信息

crawl — 管理爬取

  • firecrawl-pp-cli crawl cancel — 取消爬取任务
  • firecrawl-pp-cli crawl get-active — 获取已通过身份验证的团队的所有活动爬取任务
  • firecrawl-pp-cli crawl get-status — 获取爬取任务的状态
  • firecrawl-pp-cli crawl urls — 根据选项爬取多个 URL

deep-research — 管理深度研究

  • firecrawl-pp-cli deep-research get-status — 获取深度研究操作的状态和结果
  • firecrawl-pp-cli deep-research start — 根据查询启动深度研究操作

extract — 管理提取

  • firecrawl-pp-cli extract data — 使用大模型从页面中提取结构化数据
  • firecrawl-pp-cli extract get-status — 获取提取任务的状态

firecrawl-search — 管理 Firecrawl 搜索

  • firecrawl-pp-cli firecrawl-search — 搜索,并可选择抓取搜索结果

llmstxt — 管理 llmstxt

  • firecrawl-pp-cli llmstxt generate-llms-txt — 为网站生成 LLMs.txt
  • firecrawl-pp-cli llmstxt get-llms-txt-status — 获取 LLMs.txt 生成任务的状态和结果

map — 管理映射

  • firecrawl-pp-cli map — 根据选项映射多个 URL

scrape — 管理抓取

  • firecrawl-pp-cli scrape — 抓取单个 URL,并可选择使用大模型提取信息

team — 管理团队

  • firecrawl-pp-cli team get-credit-usage — 获取已通过身份验证的团队的剩余额度
  • firecrawl-pp-cli team get-token-usage — 获取已通过身份验证的团队的剩余令牌数(仅限 Extract)
查找合适的命令

如果你知道要做什么,但不知道该使用哪个命令,可以直接询问 CLI:

firecrawl-pp-cli which "<capability in your own words>"

which 会根据此 CLI 精选的功能索引,将自然语言能力查询解析为最匹配的命令。退出代码 0 表示至少有一个匹配项;退出代码 2 表示没有可信的匹配项——请改用 --help 或尝试更具体的查询。

身份验证设置

保存访问令牌:

firecrawl-pp-cli auth set-token YOUR_TOKEN_HERE

或者将 FIRECRAWL_BEARER_AUTH 设置为环境变量。

运行 firecrawl-pp-cli doctor 以验证设置。

Agent 模式

为任何命令添加 --agent。它会展开为:--json --compact --no-input --no-color --yes。

  • 可通过管道传递 — JSON 输出到 stdout,错误输出到 stderr

  • 可筛选 — --select 可保留部分字段。点分路径可深入嵌套结构;数组会逐个遍历元素。对于输出冗长的 API,这对控制上下文大小至关重要:

    firecrawl-pp-cli batch cancel-scrape mock-value --agent --select id,name,status
    
  • 可预览 — --dry-run 会显示请求,但不会发送

  • 适合离线使用 — 有本地 SQLite 存储时,同步/搜索命令可以使用该存储

  • 非交互式 — 从不提示输入,所有输入均通过标志提供

响应封装

从本地存储或 API 读取数据的命令会将输出封装在来源信封中:

{
  "meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
  "results": <data>
}

解析 .results 获取数据,并通过 .meta.source 判断数据来自实时数据还是本地数据。只有当标准输出连接到终端时,才会将便于阅读的 N results (live) 摘要打印到标准错误;通过管道传输或供 Agent 使用时,标准输出只包含纯 JSON。

Agent 反馈

当你(或 Agent)发现此 CLI 有任何不妥之处时,请记录下来:

firecrawl-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
firecrawl-pp-cli feedback --stdin < notes.txt
firecrawl-pp-cli feedback list --json --limit 10

条目会存储在本地 ~/.firecrawl-pp-cli/feedback.jsonl。除非设置了 FIRECRAWL_FEEDBACK_ENDPOINT,并且传入了 --send 或设置了 FIRECRAWL_FEEDBACK_AUTO_SEND=true,否则不会发送 POST 请求。默认仅保存在本地。

记录让你感到意外的事情,而不是 bug 报告。简短、具体,只写一行:这才是会不断累积价值的部分。

输出传递

每条命令都接受 --deliver <sink>。除了输出到标准输出(也可以替代标准输出)之外,还会将结果发送到指定目标,因此 Agent 无需手动通过管道传递命令结果。支持三种目标:

目标效果
stdout默认;仅写入标准输出
file:<path>将输出原子性地写入 <path>(临时文件 + 重命名)
webhook:<url>将输出正文 POST 到该 URL(使用 --compact 时,内容类型为 application/json 或 application/x-ndjson)

遇到未知方案时会拒绝处理,并返回结构化错误,列出支持的方案。Webhook 请求失败时会返回非零退出码,并在标准错误中记录 URL 和 HTTP 状态码。

命名配置

配置是已保存的一组标志值,可在多次调用中重复使用。当定时 Agent 每次运行都使用相同配置调用同一命令时,可以使用配置——这就是 HeyGen 的“Beacon”模式。

firecrawl-pp-cli profile save briefing --json
firecrawl-pp-cli --profile briefing batch cancel-scrape mock-value
firecrawl-pp-cli profile list --json
firecrawl-pp-cli profile show briefing
firecrawl-pp-cli profile delete briefing --yes

显式标志始终优先于配置值;配置值优先于默认值。agent-context 会在 available_profiles 下列出所有可用配置,方便进行内省的 Agent 在运行时发现它们。

退出码

代码含义
0成功
2用法错误(参数错误)
3未找到资源
4需要身份验证
5API 错误(上游问题)
7受到速率限制(等待后重试)
10配置错误

参数解析

解析 $ARGUMENTS:

  1. 为空、help 或 --help → 显示 firecrawl-pp-cli --help 的输出
  2. 以 install 开头 → 以 mcp 结尾 → 安装 MCP;否则 → 参见上文的先决条件
  3. 其他任何内容 → 直接使用(作为 CLI 命令执行,并带上 --agent)

安装 MCP 服务

  1. 安装 MCP 服务:
    go install github.com/mvanhorn/printing-press-library/library/other/firecrawl-pp-cli/cmd/firecrawl-pp-mcp@latest
    
  2. 在 Claude Code 中注册:
    claude mcp add firecrawl-pp-mcp -- firecrawl-pp-mcp
    
  3. 验证:claude mcp list

直接使用

  1. 检查是否已安装:which firecrawl-pp-cli 如果未找到,则提示安装(参见本技能开头的先决条件)。
  2. 根据用户查询,从上文的独特功能和命令参考中选择最合适的命令。
  3. 使用 --agent 标志执行:
    firecrawl-pp-cli <command> [subcommand] [args] --agent
    
  4. 如果存在歧义,可深入查看子命令帮助:firecrawl-pp-cli <command> --help。

评论

支持 Markdown