給 AI Agent 用的臨時信箱
MoeMail 的 MCP server、CLI 和 Agent skill。你的 Agent 自己建立信箱、等待驗證信、讀出驗證碼、刪掉信箱——走的就是驅動 moemail.app 的那套 API。
8 個 MCP 工具 · npx 直接執行,無需部署 · 支援 Claude Desktop、Cursor、Claude Code、Codex
三種接入方式
Agent skill
moemail skill install 把一份 SKILL.md 裝進 Claude Code 或 Codex,Agent 在被要求之前就已經知道「建立 → 等待 → 讀取 → 刪除」這套流程。
工具列表
名稱與 server 實際註冊的完全一致。讓 Agent 真正能用起來的是 wait_for_email:它最多阻塞 90 秒,逾時回傳 status: "timeout" 而不是報錯,Agent 只需再呼叫一次。
- create_email
- 建立信箱,回傳
id和address。有效期1h、24h、3d或permanent。 - wait_for_email
- 輪詢直到有新郵件到達(單次 ≤ 90 秒),逾時則平穩回傳。
- list_messages
- 信箱收到的郵件列表,最新的在前。
- read_message
- 單封郵件的完整內文與 HTML。
- list_emails
- 這個 API Key 名下的所有信箱。
- send_email
- 用臨時地址回信(需要寄信額度)。
- delete_message
- 刪除一封郵件。
- delete_email
- 刪除信箱及其中全部內容。
一次會話是什麼樣
取驗證碼的完整循環,按 Agent 實際發出的工具呼叫呈現:四次呼叫,加上郵件到達前的若干次輪詢。
用一個一次性地址在 example.com 註冊 beta,然後告訴我驗證碼。
Agent 建立一個信箱,把地址填進註冊表單。
→ create_email { "expiry": "1h" }
← { "id": "k3f…", "address": "x7q2m9@moemail.app", "expiresAt": "…T15:04:05.000Z" }然後等待。每次輪詢算一次 API 呼叫;這裡郵件在 12 秒後到達。
→ wait_for_email { "emailId": "k3f…", "timeoutSec": 90 }
← { "status": "received", "elapsedSec": 12,
"message": { "messageId": "m81…", "from": "no-reply@example.com",
"subject": "Your code is 482913", "receivedAt": "…" } }它讀取郵件,從內文裡取出驗證碼。
→ read_message { "emailId": "k3f…", "messageId": "m81…" }
← { "id": "m81…", "from": "no-reply@example.com", "subject": "Your code is 482913",
"content": "Enter 482913 to finish signing up. …", "html": "…", … }最後刪除信箱,不留任何東西。
→ delete_email { "emailId": "k3f…" }
← { "success": true, "deleted": "k3f…" }完成——驗證碼是 482913。信箱已刪除。
連接客戶端
把你的 Key 填到圓點的位置。mcpServers 這一段在 Claude Desktop、Cursor 和 Windsurf 裡完全相同;Claude Code 和 Codex 用各自的格式寫同一條命令。
{
"mcpServers": {
"moemail": {
"command": "npx",
"args": ["-y", "@moemail/mcp"],
"env": {
"MOEMAIL_API_KEY": "mk_••••••••••••"
}
}
}
}{
"mcpServers": {
"moemail": {
"command": "npx",
"args": ["-y", "@moemail/mcp"],
"env": {
"MOEMAIL_API_KEY": "mk_••••••••••••"
}
}
}
}claude mcp add moemail -e MOEMAIL_API_KEY=mk_•••••••••••• -- npx -y @moemail/mcp[mcp_servers.moemail]
command = "npx"
args = ["-y", "@moemail/mcp"]
env = { MOEMAIL_API_KEY = "mk_••••••••••••" }自架的 MoeMail?加一個指向你實例的 MOEMAIL_API_URL——兩個套件預設都指向 moemail.app。
或者在 shell 裡直接用
同一套 API,不需要 Agent 執行環境。每條命令都接受 --json;結束碼 1 是執行期錯誤,2 是設定或驗證錯誤,腳本因此能區分「郵件還沒到」和「Key 不對」。
npm i -g @moemail/cli
moemail config set api-key mk_••••••••••••
# 1. a mailbox that lives for an hour
moemail create --expiry 1h --json
# {"id":"k3f…","address":"x7q2m9@moemail.app","expiresAt":"2026-09-02T15:04:05.000Z"}
# 2. block until the verification mail lands (exit 1 on timeout)
moemail wait --email-id k3f… --timeout 120 --json
# {"messageId":"m81…","from":"no-reply@example.com","subject":"Your code is 482913","receivedAt":"…"}
# 3. read it, then clean up
moemail read --email-id k3f… --message-id m81… --json
moemail delete --email-id k3f…只教一次
CLI 自帶一份 skill 檔案。裝好之後,Claude Code 或 Codex 遇到需要一次性收件匣的任務時會自己去用 moemail,不必每次都由你解釋流程。
moemail skill install # auto-detects Claude Code and Codex
moemail skill install --platform claude # ~/.claude/skills/moemail/SKILL.md
moemail skill install --platform codex # ~/.codex/skills/moemail/SKILL.mdKey、額度與價格
兩個套件都用 MoeMail API Key 驗證。在個人中心建立即可——與 REST API 用的是同一把 Key,也共用同一份月度額度。
API 存取是付費加購項目:預設方案不含免費呼叫次數。在商店用 MoeCoin 購買 API 呼叫包或升級為 Duke。網頁收件匣本身始終免費,你可以先看看信箱的實際效果,再為 API 付費。
請為輪詢預留額度:wait_for_email 的每次輪詢、CLI wait 的每次探測都算一次呼叫。一次典型的驗證流程——建立、等待、讀取、刪除——是四次呼叫加上輪詢次數。