Wegwerf-E-Mail für KI-Agenten
Ein MCP-Server, eine CLI und ein Agenten-Skill für MoeMail. Dein Agent legt ein Postfach an, wartet auf die Bestätigungsmail, liest den Code aus und löscht das Postfach wieder — über dieselbe API, die moemail.app antreibt.
8 MCP-Tools · läuft per npx, nichts zu hosten · Claude Desktop, Cursor, Claude Code, Codex
Drei Wege hinein
MCP-Server
npx -y @moemail/mcp. Acht Tools, die jeder MCP-Client über stdio aufrufen kann. Nichts zu deployen, nichts, das dauerhaft laufen muss.
CLI
npm i -g @moemail/cli. Neun Befehle, jeder mit --json-Ausgabe und aussagekräftigen Exit-Codes — gebaut für shell-gesteuerte Agenten und CI-Jobs.
Agenten-Skill
moemail skill install legt eine SKILL.md in Claude Code oder Codex ab, sodass der Agent den Ablauf Anlegen → Warten → Lesen → Löschen kennt, bevor er danach gefragt wird.
Die Tools
Die Namen entsprechen genau dem, was der Server registriert. wait_for_email ist das Tool, das Agenten funktionieren lässt: Es blockiert bis zu 90 Sekunden und liefert status: "timeout" statt eines Fehlers, sodass der Agent es einfach erneut aufruft.
- create_email
- Postfach anlegen; liefert
idundaddress. Lebensdauer1h,24h,3doderpermanent. - wait_for_email
- Pollen, bis eine neue Nachricht eintrifft (≤ 90 s pro Aufruf), sonst sauber in den Timeout laufen.
- list_messages
- Liste der empfangenen Nachrichten, neueste zuerst.
- read_message
- Vollständiger Text und HTML einer Nachricht.
- list_emails
- Alle Postfächer dieses API-Schlüssels.
- send_email
- Von der Wegwerf-Adresse antworten (Sendekontingent nötig).
- delete_message
- Eine Nachricht entfernen.
- delete_email
- Das Postfach mit allem Inhalt entfernen.
So sieht eine Sitzung aus
Die Bestätigungscode-Schleife, so wie der Agent die Tool-Aufrufe tatsächlich macht: vier Aufrufe plus so viele Polls, wie die Mail zum Eintreffen braucht.
Melde dich mit einer Wegwerf-Adresse für die Beta auf example.com an und sag mir den Code.
Der Agent legt ein Postfach an und trägt die Adresse ins Anmeldeformular ein.
→ create_email { "expiry": "1h" }
← { "id": "k3f…", "address": "x7q2m9@moemail.app", "expiresAt": "…T15:04:05.000Z" }Dann wartet er. Jeder Poll ist ein API-Aufruf; hier kam die Mail nach zwölf Sekunden.
→ 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": "…" } }Er liest die Nachricht und zieht den Code aus dem Text.
→ 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": "…", … }Und löscht das Postfach, damit nichts zurückbleibt.
→ delete_email { "emailId": "k3f…" }
← { "success": true, "deleted": "k3f…" }Fertig — der Code war 482913. Das Postfach habe ich gelöscht.
Einen Client verbinden
Füge deinen Schlüssel dort ein, wo die Punkte stehen. Der mcpServers-Block ist für Claude Desktop, Cursor und Windsurf identisch; Claude Code und Codex nehmen denselben Befehl in ihrem eigenen Format.
{
"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_••••••••••••" }Du hostest MoeMail selbst? Setze MOEMAIL_API_URL auf deine Instanz — beide Pakete zeigen standardmäßig auf moemail.app.
Oder direkt aus der Shell
Dieselbe API, keine Agenten-Laufzeit. Jeder Befehl akzeptiert --json; Exit-Code 1 ist ein Laufzeitfehler, 2 ein Konfigurations- oder Auth-Fehler, sodass ein Skript „noch keine Mail“ von „falscher Schlüssel“ unterscheiden kann.
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…Dem Agenten einmal beibringen
Die CLI bringt eine Skill-Datei mit. Einmal installiert, greift Claude Code oder Codex von selbst zu moemail, wann immer eine Aufgabe ein Wegwerf-Postfach braucht, statt dass du den Ablauf jedes Mal erklärst.
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.mdSchlüssel, Kontingent und Preis
Beide Pakete authentifizieren sich mit einem MoeMail-API-Schlüssel. Lege ihn in deinem Profil an — es ist derselbe Schlüssel wie für die REST-API, und er zieht vom selben Monatskontingent.
API-Zugang ist ein kostenpflichtiges Add-on: Der Standardtarif enthält keine kostenlosen Aufrufe. Kaufe im Shop mit MoeCoin ein API-Aufruf-Paket oder ein Duke-Upgrade. Das Web-Postfach selbst bleibt kostenlos, sodass du siehst, was die Postfächer tun, bevor du für die API zahlst.
Rechne das Polling ein: Jeder wait_for_email-Poll und jeder Tick von CLI wait ist ein Aufruf. Ein typischer Bestätigungsdurchlauf — Anlegen, Warten, Lesen, Löschen — sind vier Aufrufe plus die Polls.
Häufige Fragen
Gib deinem Agenten ein Postfach
Lege einen API-Schlüssel an, füge einen Konfigurationsblock ein, und der nächste Anmeldeablauf deines Agenten läuft von allein durch.