mcpField
P
pp-resend

pp-resend

github.com/mvanhorn营销与增长2.1k231 次安装今天更新
代码仓库

关于 pp-resend

pp-resend 是面向 Agent 的 Resend 命令行技能,用于查询和管理账户。它将 API 操作与基于本地同步数据的跨资源查询和分析结合起来。

主要功能

  1. 01收件人邮件历史与事件时间线
  2. 02受众及联系人归属查询
  3. 03广播与送达率分析
  4. 04域名验证和 API 密钥审计
  5. 05通过命令行管理 Resend 资源

适用场景

  1. 01调查单个收件人的邮件送达问题
  2. 02活动前检查受众互动情况
  3. 03跟踪退信率和投诉率
  4. 04安全审查时查找过期 API 密钥

安装

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

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

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

详细介绍

Resend — Printing Press CLI

前置条件:安装 CLI

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

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

如果 npx 安装失败(没有 Node、离线等),请改用直接通过 Go 安装的方式(需要 Go 1.26.6 或更高版本):

go install github.com/mvanhorn/printing-press-library/library/productivity/resend/cmd/resend-pp-cli@latest

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

何时使用此 CLI

当 Agent 需要回答有关 Resend 账户的跨资源问题,而控制面板或 SDK 无法通过一次调用回答时,请使用此 CLI — 例如,向特定收件人发送了什么、某个联系人属于哪些受众、广播表现随时间的变化趋势如何、7 天退信率是多少。对于单次事务性发送,请使用 npx resend send;对于模板,请使用 React Email。此 CLI 是面向 Agent 的配套工具,并非替代品。

独特功能

这些功能在此 API 的其他任何工具中都不可用。

基于本地状态的跨资源查询
  • emails to — 向单个收件人地址发送的所有邮件,包含投递状态和时间戳,并按时间从新到旧排序。

    当 Agent 需要还原单个用户收到的邮件时使用 — 例如处理支持工单、GDPR 数据导出或争议调查。

    resend-pp-cli emails to <your-email> --json --select id,subject,status,sent_at
    
  • emails timeline — 单封邮件的精简事件链:已发送 → 已投递 → 已打开 → 已点击 → 已退信,并显示在一个有序表格中。

    在排查“为什么没有收到邮件?”时使用 — 一条命令即可显示邮件是否已发送、投递、打开或退信,以及发生时间。

    resend-pp-cli emails timeline 4ef9a417-d4ff-4ec5-9af2-c80a4d5d2c1f --json
    
  • audiences inventory — 按受众汇总:联系人数量、退订数量、上次广播时间戳和近期打开率。

    规划活动前使用 — 快速查看哪些受众状态良好且近期有互动。

    resend-pp-cli audiences inventory --json
    
  • contacts where — 一次查询即可找到联系人(按电子邮件地址或姓名搜索)所属的所有受众、细分和主题。

    在处理退订请求、GDPR 删除请求或“为什么 bob 会收到这封邮件?”等问题时使用。

    resend-pp-cli contacts where <contact-email> --json --select audience_name,subscribed
    
基于本地存储的汇总分析
  • broadcasts performance — 所有广播的打开率、点击率和退信率,支持排序;不限于单个广播或 30 天时间窗口。

    用于比较账户生命周期内各活动的表现。

    resend-pp-cli broadcasts performance --json --select broadcasts,count,status
    
  • domains health — 在一个表格中显示每个域名的验证状态以及 DKIM/SPF/DMARC 状态,并标记缺失或未经验证的记录。

    在呼叫事件或投递问题发生时使用,确认所有发信域名均已完成验证。

    resend-pp-cli domains health --json
    
  • deliverability summary — 根据本地事件数据,计算滚动时间窗口(默认 7d)内的退信率、投诉率和抑制数量。

    每周使用,监控 IP/域名信誉趋势,防止其导致投递问题。

    resend-pp-cli deliverability summary --window 7d --json
    
运维规范
  • api-keys rotation — 按密钥使用时长和上次使用时间戳排序(从日志中联接得出),并标记超过 N 天未使用的旧密钥。

    在季度安全审查期间使用,找出应轮换或撤销的未使用密钥。

    resend-pp-cli api-keys rotation --older-than 90d --json
    

命令参考

api-keys — 通过 Resend API 创建和管理 API Keys。

  • resend-pp-cli api-keys create — 创建新的 API 密钥
  • resend-pp-cli api-keys delete — 移除现有 API 密钥
  • resend-pp-cli api-keys list — 获取 API 密钥列表

audiences — 已弃用:请改用 Segments。通过 Resend API 创建和管理 Audiences。

  • resend-pp-cli audiences create — 已弃用:请改用 Segments。这些端点仍可使用,但未来将被移除。
  • resend-pp-cli audiences delete — 已弃用:请改用 Segments。这些端点仍可使用,但未来将被移除。
  • resend-pp-cli audiences get — 已弃用:请改用 Segments。这些端点仍可使用,但未来将被移除。
  • resend-pp-cli audiences list — 已弃用:请改用 Segments。这些端点仍可使用,但未来将被移除。

automations — 通过 Resend API 创建和管理 Automations。

  • resend-pp-cli automations create — 创建自动化
  • resend-pp-cli automations delete — 删除自动化
  • resend-pp-cli automations get — 检索单个自动化
  • resend-pp-cli automations list — 检索自动化列表
  • resend-pp-cli automations update — 更新自动化

broadcasts — 通过 Resend API 创建和管理 Broadcasts。

  • resend-pp-cli broadcasts create — 创建广播
  • resend-pp-cli broadcasts delete — 移除处于草稿状态的现有广播
  • resend-pp-cli broadcasts get — 检索单个广播
  • resend-pp-cli broadcasts list — 检索广播列表
  • resend-pp-cli broadcasts update — 更新现有广播

contact-properties — 通过 Resend API 创建和管理 Contact Properties。

  • resend-pp-cli contact-properties create — 创建新的联系人属性
  • resend-pp-cli contact-properties delete — 移除现有联系人属性
  • resend-pp-cli contact-properties get — 检索单个联系人属性
  • resend-pp-cli contact-properties list — 检索联系人属性列表
  • resend-pp-cli contact-properties update — 更新现有联系人属性

contacts — 通过 Resend API 创建和管理 Contacts。

  • resend-pp-cli contacts create — 创建新联系人
  • resend-pp-cli contacts delete — 按 ID 或电子邮件地址移除现有联系人
  • resend-pp-cli contacts get — 按 ID 或电子邮件地址检索单个联系人
  • resend-pp-cli contacts list — 检索联系人列表
  • resend-pp-cli contacts update — 按 ID 或电子邮件地址更新单个联系人

domains — 通过 Resend API 创建和管理域名。

  • resend-pp-cli domains create — 创建新域名
  • resend-pp-cli domains delete — 移除现有域名
  • resend-pp-cli domains get — 检索单个域名
  • resend-pp-cli domains list — 检索域名列表
  • resend-pp-cli domains update — 更新现有域名

emails — 通过 Resend API 开始发送电子邮件。

  • resend-pp-cli emails create — 发送电子邮件
  • resend-pp-cli emails create-batch — 一次触发最多 100 封批量电子邮件。
  • resend-pp-cli emails get — 检索单封电子邮件
  • resend-pp-cli emails get-receiving — 检索单封收到的电子邮件
  • resend-pp-cli emails get-receiving-2 — 检索收到的电子邮件的附件列表
  • resend-pp-cli emails get-receiving-3 — 检索收到的电子邮件的单个附件
  • resend-pp-cli emails list — 检索电子邮件列表
  • resend-pp-cli emails list-receiving — 检索收到的电子邮件列表
  • resend-pp-cli emails update — 更新单封电子邮件

events — 通过 Resend API 创建和管理 Events。

  • resend-pp-cli events create — 创建事件
  • resend-pp-cli events create-send — 发送事件
  • resend-pp-cli events delete — 删除事件
  • resend-pp-cli events get — 检索单个事件
  • resend-pp-cli events list — 检索事件列表
  • resend-pp-cli events update — 更新事件

logs — 通过 Resend API 检索 API 请求日志。

  • resend-pp-cli logs get — 检索单条日志
  • resend-pp-cli logs list — 检索日志列表

segments — 通过 Resend API 创建和管理 Segments。

  • resend-pp-cli segments create — 创建一个新分组
  • resend-pp-cli segments delete — 删除现有分组
  • resend-pp-cli segments get — 获取单个分组
  • resend-pp-cli segments list — 获取分组列表

templates — 通过 Resend API 创建和管理模板。

  • resend-pp-cli templates create — 创建模板
  • resend-pp-cli templates delete — 删除现有模板
  • resend-pp-cli templates get — 获取单个模板
  • resend-pp-cli templates list — 获取模板列表
  • resend-pp-cli templates update — 更新现有模板

topics — 通过 Resend API 创建和管理主题。

  • resend-pp-cli topics create — 创建一个新主题
  • resend-pp-cli topics delete — 删除现有主题
  • resend-pp-cli topics get — 获取单个主题
  • resend-pp-cli topics list — 获取主题列表
  • resend-pp-cli topics update — 更新现有主题

webhooks — 通过 Resend API 创建和管理 Webhook。

  • resend-pp-cli webhooks create — 创建一个新 Webhook
  • resend-pp-cli webhooks delete — 删除现有 Webhook
  • resend-pp-cli webhooks get — 获取单个 Webhook
  • resend-pp-cli webhooks list — 获取 Webhook 列表
  • resend-pp-cli webhooks update — 更新现有 Webhook
查找合适的命令

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

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

which 会根据自然语言功能查询,从此 CLI 精选的功能索引中匹配最合适的命令。退出代码 0 表示至少找到一个匹配项;退出代码 2 表示没有可信的匹配项 — 此时请改用 --help 或使用更具体的查询。

示例

重建用户收到的邮件记录
resend-pp-cli emails to [email protected] --json --select id,subject,status,sent_at,opened_at --limit 50

适用于支持工单和 GDPR 导出 — 列出发送给某位收件人的每封邮件及其投递状态。

活动前受众检查
resend-pp-cli audiences inventory --json --select name,contact_count,unsubscribed_count,last_broadcast_at

安排广播邮件前运行 — 找出退订率较高或互动数据过时的受众。

每周投递能力审查
resend-pp-cli deliverability summary --window 7d --agent --select bounce_rate,complaint_rate,suppression_count

获取 IP/域名信誉趋势快照;通过 jq 管道处理,以便在超出阈值时发出警报。

审计过期的 API 密钥
resend-pp-cli api-keys rotation --older-than 90d --json --select name,created_at,last_used_at

在每季度安全审查期间找出未使用的密钥。

搜索所有已发送邮件中的短语
resend-pp-cli search 'password reset' --json --select id,subject,to,sent_at

基于 FTS5;请先运行 sync --full。

身份验证设置

运行 resend-pp-cli auth setup 获取用于申请令牌的 URL 和步骤(添加 --launch 可打开 URL)。然后保存令牌:

resend-pp-cli auth set-token YOUR_TOKEN_HERE

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

运行 resend-pp-cli doctor 验证设置。

Agent 模式

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

  • 支持管道处理 — JSON 输出到 stdout,错误输出到 stderr

  • 支持筛选 — --select 保留部分字段。点分路径可访问嵌套结构;数组会逐项遍历。对于内容冗长的 API,这对控制上下文大小至关重要:

    resend-pp-cli api-keys list --agent --select id,name,status
    
  • 支持预览 — --dry-run 显示请求,但不会发送

  • 适合离线使用 — 有本地 SQLite 存储时,sync/search 命令可使用该存储

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

  • 显式重试 — 仅当已存在的创建操作应视为成功时才使用 --idempotent;仅当目标不存在的删除操作应视为成功时才使用 --ignore-missing

响应封装

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

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

解析 .results 获取数据,并查看 .meta.source 以判断数据来自实时 API 还是本地存储。只有当 stdout 连接到终端时,才会将易读的 N results (live) 摘要打印到 stderr — 通过管道处理或由 Agent 使用时,stdout 只会输出纯 JSON。

Agent 反馈

当你(或 Agent)发现此 CLI 有不对劲的地方时,请记录下来:

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

条目会本地存储在 ~/.resend-pp-cli/feedback.jsonl 中。除非设置了 RESEND_FEEDBACK_ENDPOINT,并且传入了 --send 或设置了 RESEND_FEEDBACK_AUTO_SEND=true,否则绝不会通过 POST 发送。默认仅存储在本地。

记录让你感到意外的事情,而不是提交错误报告。简短、具体、一行即可:这才是日积月累产生价值的部分。

输出传递

每个命令都接受 --deliver <sink>。除了(或取代)stdout 外,输出还会发送到指定的目标,因此 Agent 无需通过管道手动传递命令结果。支持三种目标:

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

对于未知方案,会拒绝请求并返回结构化错误,指出支持的方案。Webhook 请求失败时会返回非零退出码,并在 stderr 中记录 URL 和 HTTP 状态码。

命名配置

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

resend-pp-cli profile save briefing --json
resend-pp-cli --profile briefing api-keys list
resend-pp-cli profile list --json
resend-pp-cli profile show briefing
resend-pp-cli profile delete briefing --yes

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

退出码

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

参数解析

解析 $ARGUMENTS:

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

安装 MCP 服务

从此 CLI 发布的公共库条目或预构建版本安装 MCP 二进制文件,然后进行注册:

claude mcp add resend-pp-mcp -- resend-pp-mcp

验证:claude mcp list

直接使用

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

评论

支持 Markdown