E-mail temporário para agentes de IA
Um servidor MCP, uma CLI e um skill de agente para o MoeMail. Seu agente cria a caixa, aguarda o e-mail de verificação, lê o código e apaga a caixa — pela mesma API que move o moemail.app.
8 ferramentas MCP · roda com npx, nada para hospedar · Claude Desktop, Cursor, Claude Code, Codex
Três formas de entrar
Servidor MCP
npx -y @moemail/mcp. Oito ferramentas que qualquer cliente MCP pode chamar via stdio. Nada para implantar, nada para manter rodando.
CLI
npm i -g @moemail/cli. Nove comandos, todos com saída --json e códigos de saída significativos — feitos para agentes orientados a shell e jobs de CI.
Skill de agente
moemail skill install coloca um SKILL.md no Claude Code ou no Codex, para que o agente já conheça o fluxo criar → aguardar → ler → apagar antes de ser solicitado.
As ferramentas
Os nomes são exatamente os que o servidor registra. wait_for_email é a que faz os agentes funcionarem: bloqueia por até 90 segundos e devolve status: "timeout" em vez de falhar, então o agente simplesmente chama de novo.
- create_email
- Cria uma caixa; devolve
ideaddress. Duração1h,24h,3doupermanent. - wait_for_email
- Consulta até chegar uma nova mensagem (≤ 90 s por chamada) ou expira sem erro.
- list_messages
- Lista do que a caixa recebeu, da mais recente para a mais antiga.
- read_message
- Texto completo e HTML de uma mensagem.
- list_emails
- Todas as caixas desta chave de API.
- send_email
- Responde a partir do endereço temporário (exige cota de envio).
- delete_message
- Remove uma mensagem.
- delete_email
- Remove a caixa e todo o seu conteúdo.
Como é uma sessão
O ciclo do código de verificação, com as chamadas de ferramenta que o agente realmente faz: quatro chamadas, mais quantas consultas o e-mail levar para chegar.
Cadastre-se no beta do example.com com um endereço descartável e me diga o código.
O agente cria uma caixa e digita o endereço no formulário de cadastro.
→ create_email { "expiry": "1h" }
← { "id": "k3f…", "address": "x7q2m9@moemail.app", "expiresAt": "…T15:04:05.000Z" }Depois espera. Cada consulta é uma chamada de API; aqui o e-mail chegou em doze segundos.
→ 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": "…" } }Ele lê a mensagem e extrai o código do corpo.
→ 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": "…", … }E apaga a caixa, para não deixar nada para trás.
→ delete_email { "emailId": "k3f…" }
← { "success": true, "deleted": "k3f…" }Pronto — o código era 482913. Apaguei a caixa.
Conectar um cliente
Cole sua chave onde estão os pontos. O bloco mcpServers é idêntico para Claude Desktop, Cursor e Windsurf; Claude Code e Codex recebem o mesmo comando no formato deles.
{
"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_••••••••••••" }Hospeda o MoeMail por conta própria? Adicione MOEMAIL_API_URL apontando para a sua instância — os dois pacotes usam moemail.app por padrão.
Ou use direto do shell
Mesma API, sem runtime de agente. Todo comando aceita --json; código de saída 1 é erro de execução e 2 é erro de configuração ou autenticação, então um script distingue "ainda não chegou e-mail" de "chave errada".
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…Ensine o agente uma vez
A CLI traz um arquivo de skill. Depois de instalado, o Claude Code ou o Codex recorre ao moemail sozinho sempre que uma tarefa precisa de uma caixa descartável, em vez de você explicar o fluxo toda vez.
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.mdChaves, cota e preço
Os dois pacotes autenticam com uma chave de API do MoeMail. Crie uma no seu perfil — é a mesma chave da API REST e consome a mesma cota mensal.
O acesso à API é um complemento pago: o plano padrão não inclui chamadas gratuitas. Compre um pacote de chamadas de API ou um upgrade para Duke na loja, com MoeCoin. A caixa de entrada web continua gratuita, então você pode ver o que as caixas fazem antes de pagar pela API.
Reserve cota para as consultas: cada consulta do wait_for_email e cada verificação do wait da CLI é uma chamada. Uma ida e volta típica de verificação — criar, aguardar, ler, apagar — são quatro chamadas mais as consultas.
Perguntas frequentes
Dê uma caixa de entrada ao seu agente
Crie uma chave de API, cole um bloco de configuração, e o próximo fluxo de cadastro que seu agente executar vai terminar sozinho.