关于 mailsnail
Mailsnail 是面向 AI Agent 的开源 MCP 服务,可发送实体 USPS 信件、明信片和认证邮件。它支持可替换的邮寄服务商、发送预览与安全控制,并可使用托管服务或自行部署。
主要功能
- 01发送信件、明信片和认证邮件
- 02验证地址并预览信件
- 03跟踪、列出和取消邮件
- 04使用多家服务商并进行故障切换
- 05自行托管网关或使用托管服务
- 06控制实发许可和会话支出
适用场景
- 01发送 Agent 撰写的感谢信
- 02按期限寄送认证法律通知
- 03发送前预览价格和证明文件
- 04通过团队管理的网关处理邮件
MCP 相关
向 MCP 客户端提供 11 项邮件管理工具,包括发送、预览、地址验证、跟踪和取消。客户端可连接托管远程服务或自行部署的网关。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y mailsnailMAIL_PROVIDERWhere to mail from: 'managed' (default, no signup, pay-per-piece via Stripe), 'click2mail' (BYO account), or 'lob' (BYO key).MAIL_API_BASE_URLHosted Mailsnail backend. Required when MAIL_PROVIDER=managed.CLICK2MAIL_USERNAMEClick2Mail account username. Required when MAIL_PROVIDER=click2mail.CLICK2MAIL_PASSWORD密钥Click2Mail account password. Required when MAIL_PROVIDER=click2mail.LOB_API_KEY密钥Lob API key. Required when MAIL_PROVIDER=lob. test_* is free; live_* actually mails.MAIL_MCP_ALLOW_LIVESet to '1' to actually mail in BYOK modes. Default '0' is dry-run.MAIL_MCP_SPEND_CAP_USDPer-session estimated spend cap. Server refuses sends past this.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Mailsnail
面向 AI Agent 的开源、与服务提供商无关的实体邮件服务。
Agent 拥有所有沟通渠道,唯独缺少一个。它们可以发送电子邮件、短信、拨打电话,还能在各种信息流上发帖——但直到现在,要把一封盖有邮戳的实体信件投进邮箱,还得由人工注册打印服务提供商账户、配置 API 密钥并接通账单。Mailsnail 填补了这一空缺:
- 无需安装。 只需在 Claude、ChatGPT、Cursor 或任何 MCP 客户端中添加一个 URL 并登录。可使用银行卡支付单封信件,也可以充值余额;价格仅为成本价:平信起价 $1.21,挂号信起价 $8.61,无订阅费用。能够创建 Stripe Shared Payment Token 的 Agent 也可以通过 Machine Payments Protocol(HTTP 402)按件付款,无需账户。
- 永不受制于单一服务商。 服务提供商层开放且可替换:使用自己的 Click2Mail 或 Lob 账户、自托管整个网关,或串联多个服务提供商以实现故障转移。托管服务只是为了方便,并非牢笼。
- 专为合规邮件打造。 通过
extra_service: "certified"发送挂号信——这类邮件依法必须以实体形式寄送(如初步留置权通知、法律通知),且不能因为某个打印 API 状况不佳而错过截止期限。
claude mcp add -t http mailsnail https://api.mailsnail.dev/mcp
# then /mcp → mailsnail → Authenticate, and: "Mail a thank-you letter to my aunt."
在 Claude Desktop 或 ChatGPT 中,将 https://api.mailsnail.dev/mcp 添加为自定义连接器。各应用的设置步骤见:mailsnail.dev/setup。想改用自己的 Click2Mail 或 Lob 账户?请参阅运行方式。
托管连接器和插件
最快的入门方式无需安装。只需在 Claude、ChatGPT、Cursor 或任何支持远程服务的 MCP 客户端中,将 https://api.mailsnail.dev/mcp 添加为自定义连接器并登录。各应用的设置步骤见 mailsnail.dev/setup。
plugins/mailsnail 将此连接器与用于发送信件、发送挂号信和跟踪邮件的技能打包在一起。它适用于 Claude(聊天、Cowork 和 Claude Code)以及 Cursor。要在 Claude Code 中安装:
/plugin marketplace add iancollins27/mailsnail
/plugin install mailsnail@mailsnail
软件包
| 软件包 | 内容 |
|---|---|
mailsnail | MCP 服务——提供 11 个工具(doctor、verify_address、preview_letter、send_letter、send_postcard、get_balance、top_up、get_letter、get_postcard、list_letters、cancel_letter),可搭配下方任意服务提供商使用。适用于 Claude Code、Claude Desktop、Cursor、Codex CLI、OpenAI Agents SDK。 |
@mailsnail/core | 与服务提供商无关的核心:适配器(Click2Mail、Lob、任何 Mailsnail 网关)、多服务提供商故障转移路由器、请求验证。零依赖。 |
@mailsnail/gateway | 可自托管的 REST API:自带服务提供商凭据、将 body_text 渲染为 PDF、生成校样、记录调用日志。api.mailsnail.dev 上的托管服务运行相同的线路协议。 |
spec/ | 与服务提供商无关的邮件单元架构,以及故障转移安全契约。实现它后,任何实体——包括打印店——都能成为兼容 Mailsnail 的节点。 |
运行方式
| 模式 | 凭据 | 付费方 | 适用场景 |
|---|---|---|---|
托管连接器(api.mailsnail.dev/mcp) | 无;你需要登录 | 你按信件付费,可用银行卡或余额支付 | 使用 Claude、ChatGPT、Cursor 的用户;零配置 |
| 托管模式(默认使用 stdio) | 无 | Agent 按件付费(Stripe SPT) | 能够生成 SPT 的 Agent |
| 网关 | 你自己的凭据,保存在你的服务器上 | 你的服务提供商账户 | 团队;PII 保留在你的基础设施中 |
| click2mail / lob(BYOK) | 你自己的凭据,保存在本地环境中 | 你的服务提供商账户 | 直接控制;使用单一服务提供商 |
| 故障转移链 | 你自己的凭据,每个服务提供商各一份 | 你的服务提供商账户 | 绝不能错过截止期限的邮件 |
故障转移的设计刻意保持保守:只有在故障服务提供商确认没有任何内容进入生产流程且没有发生扣款时,才会转至下一个服务提供商(safeToRetry — 参见规范)。重复寄出认证信件比报错更糟。
在出口代理或允许列表后运行
沙盒化的 Agent——CI 运行器、企业级 Agent 平台、托管式 Agent 会话——通常位于出口允许列表之后,而托管模式正是为这种环境而设计的。两分钟即可完成设置:
npx mailsnail doctor # says exactly what it can and can't reach, and why. Free; never mails.
允许以下主机:
| 模式 | 允许的主机 | 端口 |
|---|---|---|
| 托管模式(默认) | api.mailsnail.dev | 443(TCP / HTTPS CONNECT) |
| 自托管网关 | MAIL_API_BASE_URL 指向的地址 | 其端口 |
| click2mail(BYOK) | rest.click2mail.com | 443 |
| lob(BYOK) | api.lob.com | 443 |
请按主机名而非 IP 设置允许列表:托管网关运行在托管基础设施上,其地址可能随时变化。如果你的策略只允许 IP,请在你控制的地址上自托管 @mailsnail/gateway——这条备用途径正是开放服务提供商层的意义所在。
通过 HTTP 代理连接。 除非明确配置,否则 Node 的 fetch 会忽略 HTTPS_PROXY,所以即使网关已加入允许列表,请求仍可能悄无声息地超时。你可以:
export NODE_USE_ENV_PROXY=1 # Node >= 22.21
export HTTPS_PROXY=http://proxy.example:8080
或者在 mailsnail 旁安装 undici(npm i undici),这样 Mailsnail 就会自行通过 HTTPS_PROXY/HTTP_PROXY/ALL_PROXY 路由,并遵循 NO_PROXY。mailsnail doctor 会告诉你当前实际生效的是哪种方式。
代理会检查 TLS? 将 NODE_EXTRA_CA_CERTS 指向组织的 CA 证书包。
如果仍然被拦截,错误信息会明确说明,而不是猜测:传输错误会带有 code,值为 unreachable、egress_blocked 或 tls_untrusted,并附上需要允许的准确 host:port。出现这些代码意味着请求从未到达后端——没有寄出邮件,也没有扣款;需要修复的是网络策略,而不是你的账户。
安全
- 所有操作默认均为试运行;发送实际邮件必须显式设置
MAIL_MCP_ALLOW_LIVE=1。 - MCP 服务设有每会话支出上限;在托管模式下,付费邮件寄送失败时会自动退款。
preview_letter会在扣款前返回校样 PDF 和准确价格——请先向用户展示。- 请勿将其用于垃圾邮件、骚扰或欺诈。服务提供商条款和 USPS 规定均适用;托管模式会执行自身的滥用筛查。
为什么选择开源
你正在让软件把纸质邮件投入信箱,并为此花费资金。阅读代码。使用你自己的服务提供商账户免费自行运行。若你不想持有任何凭据,也可以使用托管模式。如果我们让你失望,只需设置 MAIL_PROVIDER=click2mail,你的邮件照常寄送——这就是我们的承诺,而本仓库的存在让它能够得到保障。
状态
早期阶段。目前仅支持美国。支持信件、认证信件和明信片。托管 API、MCP 服务、自托管网关以及 Click2Mail/Lob 适配器已上线;接下来将添加更多适配器(PostGrid、Stannp)——如果你想更早获得支持,CONTRIBUTING.md 中有适配器指南。
许可证
MIT。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。