3 つの使い方
CLI
npm i -g @moemail/cli。9 つのコマンドすべてが --json 出力と意味のある終了コードを持ち、シェル駆動のエージェントや CI ジョブ向けに設計されています。
エージェント skill
moemail skill install が SKILL.md を Claude Code または Codex に配置し、頼まれる前から「作成 → 待機 → 読み取り → 削除」の流れをエージェントが把握します。
ツール一覧
名前は server が登録しているものと完全に同じです。エージェントを実際に動かすのは wait_for_email:最長 90 秒ブロックし、タイムアウト時は失敗ではなく status: "timeout" を返すので、エージェントはもう一度呼ぶだけです。
- create_email
- メールボックスを作成し、
idとaddressを返します。有効期間は1h、24h、3d、permanent。 - wait_for_email
- 新着メッセージが届くまでポーリング(1 回あたり ≤ 90 秒)、届かなければ穏やかにタイムアウト。
- list_messages
- メールボックスが受信したメッセージの一覧(新しい順)。
- read_message
- 1 件のメッセージの本文と HTML 全体。
- list_emails
- この API キーが所有するすべてのメールボックス。
- send_email
- 一時アドレスから返信(送信枚数の割り当てが必要)。
- delete_message
- メッセージを 1 件削除。
- delete_email
- メールボックスと中身をすべて削除。
セッションの流れ
認証コード取得の一連の流れを、エージェントが実際に行うツール呼び出しで示します。4 回の呼び出しに加え、メールが届くまでのポーリングが数回。
使い捨てアドレスで example.com のベータに登録して、認証コードを教えて。
エージェントがメールボックスを作成し、そのアドレスを登録フォームに入力します。
→ create_email { "expiry": "1h" }
← { "id": "k3f…", "address": "x7q2m9@moemail.app", "expiresAt": "…T15:04:05.000Z" }そして待機。ポーリング 1 回が API 呼び出し 1 回です。ここではメールは 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 です。メールボックスは削除しました。
クライアントに接続する
丸印の位置にキーを貼り付けてください。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 を指します。
あるいはシェルから直接
同じ API、エージェントランタイム不要。すべてのコマンドが --json を受け付け、終了コード 1 は実行時エラー、2 は設定または認証エラーなので、スクリプトは「まだメールが来ていない」と「キーが間違っている」を区別できます。
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.mdキー、割り当て、料金
どちらのパッケージも MoeMail API キーで認証します。プロフィールで作成してください——REST API と同じキーで、同じ月間割り当てを消費します。
API アクセスは有料のアドオンです。既定プランに無料の呼び出し枠はありません。ショップで MoeCoin を使って API 呼び出しパックを購入するか、Duke にアップグレードしてください。Web の受信箱自体は無料なので、API に支払う前にメールボックスの動作を確かめられます。
ポーリング分を見込んでください。wait_for_email の各ポーリングと CLI wait の各チェックは 1 回の呼び出しです。典型的な認証の往復——作成、待機、読み取り、削除——は 4 回の呼び出しにポーリング回数を加えたものです。