MoeMail

AI エージェント向けの一時メール

MoeMail の MCP server、CLI、エージェント skill。エージェントが自分でメールボックスを作り、認証メールを待ち、コードを読み取り、メールボックスを削除します——moemail.app を動かしているのと同じ API 経由で。

8 つの MCP ツール · npx で起動、ホスティング不要 · Claude Desktop、Cursor、Claude Code、Codex に対応

3 つの使い方

MCP server

npx -y @moemail/mcp。どの MCP クライアントからも stdio 経由で呼べる 8 つのツール。デプロイも常駐も不要です。

@moemail/mcp

CLI

npm i -g @moemail/cli。9 つのコマンドすべてが --json 出力と意味のある終了コードを持ち、シェル駆動のエージェントや CI ジョブ向けに設計されています。

@moemail/cli

エージェント skill

moemail skill install が SKILL.md を Claude Code または Codex に配置し、頼まれる前から「作成 → 待機 → 読み取り → 削除」の流れをエージェントが把握します。

SKILL.md

ツール一覧

名前は server が登録しているものと完全に同じです。エージェントを実際に動かすのは wait_for_email:最長 90 秒ブロックし、タイムアウト時は失敗ではなく status: "timeout" を返すので、エージェントはもう一度呼ぶだけです。

create_email
メールボックスを作成し、idaddress を返します。有効期間は 1h24h3dpermanent
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 は同じコマンドをそれぞれの形式で書きます。

Claude Desktop · claude_desktop_config.json
{
  "mcpServers": {
    "moemail": {
      "command": "npx",
      "args": ["-y", "@moemail/mcp"],
      "env": {
        "MOEMAIL_API_KEY": "mk_••••••••••••"
      }
    }
  }
}
Cursor · .cursor/mcp.json
{
  "mcpServers": {
    "moemail": {
      "command": "npx",
      "args": ["-y", "@moemail/mcp"],
      "env": {
        "MOEMAIL_API_KEY": "mk_••••••••••••"
      }
    }
  }
}
Claude Code · terminal
claude mcp add moemail -e MOEMAIL_API_KEY=mk_•••••••••••• -- npx -y @moemail/mcp
Codex CLI · ~/.codex/config.toml
[mcp_servers.moemail]
command = "npx"
args = ["-y", "@moemail/mcp"]
env = { MOEMAIL_API_KEY = "mk_••••••••••••" }

MoeMail をセルフホストしていますか? 自分のインスタンスを指す MOEMAIL_API_URL を追加してください——どちらのパッケージも既定では moemail.app を指します。

あるいはシェルから直接

同じ API、エージェントランタイム不要。すべてのコマンドが --json を受け付け、終了コード 1 は実行時エラー、2 は設定または認証エラーなので、スクリプトは「まだメールが来ていない」と「キーが間違っている」を区別できます。

@moemail/cli · bash
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 を使うようになり、毎回手順を説明する必要がなくなります。

bash
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 回の呼び出しにポーリング回数を加えたものです。

プロフィール → API キーを開く

よくある質問

パッケージは MIT ライセンスで、インストールは無料です。ただし、それを通して MoeMail を呼び出すには割り当てのある API キーが必要で、これは有料アドオンです——既定プランに API 呼び出しは含まれません。moemail.app の Web 受信箱の利用は無料です。

stdio server を起動できる MCP クライアントならどれでも。上で示したのは Claude Desktop、Cursor、Windsurf、Claude Code、Codex CLI です。server は npx で起動するため、必要なのは Node.js 18 以降だけです。

エディタやチャットアプリ内のエージェントがツールを自分で呼ぶなら MCP server。シェルスクリプト、CI ジョブ、ターミナル型エージェントが流れを制御するなら CLI——その --json 出力と終了コードはそのために設計されています。どちらも同じキーで同じ API を使います。

使えます。MOEMAIL_API_URL を自分のインスタンスに設定してください。既定値は https://moemail.app です。CLI では `moemail config set api-url` で保存することもできます。

send_email ツールと `moemail send` コマンドは、アカウントに送信の割り当てがあれば一時アドレスから送信できます。送信の割り当ては API 呼び出しとは別枠です。

まだありません。現在 server は npx によりローカルで stdio として動作し、主要なクライアントはすべてこの方式に対応しています。ホスト型の Streamable HTTP エンドポイントは計画中で、公開時にはこのページで告知します。ローカル方式はその後も使えます。

どちらのパッケージも GitHub のオープンソース MoeMail リポジトリ内、packages/mcp と packages/cli にあり、サービス本体と同じリポジトリです。

エージェントに受信箱を

API キーを作成し、設定を 1 ブロック貼り付けるだけ。次にエージェントが実行するサインアップの流れは、最後まで自動で完了します。