PS

pexni/smails

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

39 stars 4 forks 质量 75 趋势 16MIT

代理原生一次性邮件 — Cloudflare Workers + Durable Objects,支持CLI和MCP。https://smails.dev

概览

一个即时、匿名的一次性收件箱,用于注册、一次性验证码和确认——配备REST API、CLI和一个,让你的AI代理也能接收验证邮件。无需注册,无需密码。 给你的代理一个独立收件箱:把MCP服务器接入Claude、光标或任何MCP客户端,它就能自动创建邮箱并读取来邮件(验证码、魔法链接)。 - — 打开网站时你有地址,零点击 - — 新邮件通过WebSocket到达,无需轮询 - — REST API、CLI和MCP服务器共用同一邮箱 - — 从可配置的接收域名中选择 - — 邮箱在7天不活跃后自动过期 - — Cloudflare Workers + Durable Objects(每个邮箱一个DO,SQLite存储) 访问——首次加载时会为你创建一个收件箱。 将服务器添加到任何MCP客户端(例如Claude Desktop,~/.claude/mcp.json): 工具:create_mailbox、list_messages、read_message、delete_message、get_address。

概述(AI 翻译)

为人类和AI代理提供一次性邮件 即时匿名的一次性收件箱,用于注册、一次性验证码和确认——配备REST API、CLI和MCP服务器,使AI代理也能接收验证邮件。无需注册,无需密码。

→ smails.dev ·npx @smails/cli create

给你的代理一个自己的收件箱:把MCP服务器连接到Claude、光标或任何MCP客户端,它可以自己创建邮箱并读取来信(验证码、魔法链接)。

特色

  • 即时收件箱 — 打开网站就有地址,零点击
  • 实时 — 新邮件通过WebSocket送达,无需轮询
  • 为代理构建 — REST API、CLI 和 MCP 服务器共用同一邮箱
  • 多域 — 从可配置的接收域中选择
  • 自清洁 — 邮箱在7天未使用后自动过期
  • Serverless — Cloudflare Workers + Durable Objects(每个邮箱一个 DO,SQLite 存储)

快速开始

网络

访问smails.dev——首次加载时会为你创建一个收件箱。

CLI

MCP(针对人工智能代理)

将服务器添加到任意MCP客户端(例如Claude Desktop,~/.claude/mcp.json):

本页由 AI 翻译,技术细节请以原文为准。

README

以下为原文 README 节选,完整内容请查看原文。

smails

Disposable email for humans and AI agents. An instant, anonymous throwaway inbox for sign-ups, one-time codes, and confirmations — with a REST API, a CLI, and an MCP server, so your AI agent can receive verification emails too. No signup, no password.

→ smails.dev · npx @smails/cli create

Give your agent its own inbox: plug the MCP server into Claude, Cursor, or any MCP client and it can create a mailbox and read incoming mail (verification codes, magic links) on its own.

Features

  • Instant inbox — open the site and you have an address, zero clicks
  • Real-time — new mail arrives over WebSocket, no polling
  • Built for agents — REST API, CLI, and an MCP server share the same mailbox
  • Multi-domain — pick from configurable receiving domains
  • Self-cleaning — mailboxes auto-expire after 7 days of inactivity
  • Serverless — Cloudflare Workers + Durable Objects (one DO per mailbox, SQLite storage)

Quick start

Web

Visit smails.dev — an inbox is created for you on first load.

CLI

npx @smails/cli create      # create a mailbox (token saved to ~/.smails)
npx @smails/cli inbox       # list messages
npx @smails/cli read    # read a message (id prefix is enough)
npx @smails/cli whoami      # show the current address
npx @smails/cli create --force  # replace with a fresh mailbox

MCP (for AI agents)

Add the server to any MCP client (e.g. Claude Desktop, ~/.claude/mcp.json):

{
  "mcpServers": {
    "smails": { "command": "npx", "args": ["@smails/cli", "mcp"] }
  }
}

Tools: create_mailbox, list_messages, read_message, delete_message, get_address.

REST API

# create a mailbox
curl -X POST https://smails.dev/api/mailbox
# → { "address": "...", "token": "..." }

# list messages with the returned token
curl https://smails.dev/api/mailbox/messages \
  -H "Authorization: Bearer "
Method Path Description
POST /api/mailbox Create a mailbox → { address, token }
GET /api/mailbox/messages List messages
GET /api/mailbox/messages/:id Read a message (full parsed body)
DELETE /api/mailbox/messages/:id Delete a message
WS /api/mailbox/connect?token= Stream new-mail notifications

Authenticate every request (except create) with Authorization: Bearer .

How it works

Inbound mail ──▶ Cloudflare Email Routing (catch-all)
                          │
                          ▼
                  Worker  email() handler ──┐
                                            ▼
在 GitHub 查看完整 README

安装

npx @smails/cli mcp
新手?先看 mcpskill.org 教程 →

配置

{ "mcpServers": { "smails": { "command": "npx", "args": ["@smails/cli", "mcp"] } } }