Mailinator MCP Server
E-mail descartável gratuito para IA—verifique qualquer caixa de entrada @mailinator.com, recupere mensagens em múltiplos formatos e extraia códigos de verificação para fluxos de trabalho automatizados.
Documentação
Mailinator-CLI (e servidor MCP)
Uma ferramenta CLI em Node.js e servidor MCP (Model Context Protocol) para interagir com o serviço de e-mail descartável Mailinator. Liste e-mails em qualquer caixa de entrada e recupere mensagens individuais em vários formatos, seja pela linha de comando ou por assistentes de IA como o Claude Desktop.
Recursos
Recursos da CLI
- 📬 Liste e-mails em qualquer caixa de entrada do Mailinator com tabela numerada e legível
- 📧 Recupere e-mails individuais por ID da mensagem ou número da listagem
- 🔒 Suporte para domínios públicos e privados
- 🎨 Múltiplos formatos de saída (texto, HTML, cabeçalhos, links, JSON, etc.)
- ⚡ Cache rápido de caixa de entrada para recuperação rápida de e-mails
- 🔑 Configuração flexível de token de API (variável de ambiente ou arquivo de configuração)
- 🌐 Pesquisas de caixa de entrada com curinga (com token de API)
Recursos do servidor MCP
- 🤖 Modo servidor MCP para integração com assistentes de IA (Claude Desktop, etc.)
- 🛠️ Ferramentas:
list_inboxeget_emailpara operações ativas de e-mail - 📚 Recursos: Acesso somente leitura via URIs
mailinator://para contexto passivo - 🔌 Servidor baseado em HTTP com host/porta configuráveis
- 🔄 Mesma funcionalidade da CLI, mas acessível via protocolo MCP
Instalação
Instalação Global (Recomendado)
npm install -g mailinator-cli
NPX (Sem Instalação Necessária)
npx mailinator-cli inbox test public
Desenvolvimento Local
git clone <repository-url>
cd mailinator-cli
npm install
npm link
Configuração
Token de API (Opcional para Domínio Público)
O Mailinator permite acesso público ao domínio "public" sem autenticação. Para acessar domínios privados ou usar recursos avançados (logs SMTP, curingas, etc.), você precisará de um token de API.
Obtenha seu token de API em: Configurações de API do Mailinator
Opção 1: Variável de Ambiente
export MAILINATOR_API_KEY=your_api_token_here
Ou crie um arquivo .env:
MAILINATOR_API_KEY=your_api_token_here
Ao executar mailinator-cli, o .env é carregado automaticamente do seu diretório de trabalho atual.
Opção 2: Arquivo de Configuração
Crie ~/.config/mailinator/config.json:
{
"apiKey": "your_api_token_here"
}
Prioridade: Variável de ambiente > Arquivo de configuração > Nenhum (somente domínio público)
Uso da CLI
Opções Globais
Estas opções podem ser usadas com qualquer comando:
-v, --verbose- Mostra informações detalhadas de requisição/resposta HTTP-V, --version- Exibe o número da versão-h, --help- Exibe ajuda para o comando--start-mcp-server- Inicia o modo servidor MCP em vez da CLI--host <address>- Host do servidor MCP (somente com --start-mcp-server), padrão: 127.0.0.1--port <number>- Porta do servidor MCP (somente com --start-mcp-server), padrão: 8080
Modo Verboso:
Ative o modo verboso para ver todas as chamadas HTTP com URLs e respostas JSON. Útil para depuração ou compreensão das interações com a API.
# Show detailed HTTP information
mailinator-cli --verbose inbox testuser public
mailinator-cli -v email 1 summary
Comando Inbox
Lista todos os e-mails em uma caixa de entrada.
mailinator-cli [options] inbox <inbox_name> [domain]
Argumentos:
inbox_name(obrigatório): A caixa de entrada/e-mail a consultardomain(opcional): Domínio a usar. Padrão:"private"se o token de API estiver configurado"public"se não houver token de API
Exemplos:
# List emails in the public domain (no token required)
mailinator-cli inbox testuser public
# List emails in private domain (requires API token)
mailinator-cli inbox myinbox private
# Auto-detect domain based on token configuration
mailinator-cli inbox myinbox
# Use custom domain
mailinator-cli inbox support mycustomdomain.com
# Wildcard search (requires API token and private domain)
mailinator-cli inbox test* private
# Show verbose HTTP information
mailinator-cli --verbose inbox testuser public
Saída:
Inbox: testuser@public
┌─────┬────────────────────────────────┬──────────────────────────────────────────────────┬────────────────────┐
│ # │ From │ Subject │ Time │
├─────┼────────────────────────────────┼──────────────────────────────────────────────────┼────────────────────┤
│ 1 │ noreply@example.com │ Welcome to our service │ 21 mins ago │
│ 2 │ notifications@github.com │ [GitHub] Password reset request │ 2 hours ago │
│ 3 │ support@company.com │ Your order confirmation │ 5 hours ago │
└─────┴────────────────────────────────┴──────────────────────────────────────────────────┴────────────────────┘
Total: 3 emails
Comando Email
Recupera e exibe um e-mail específico.
mailinator-cli [options] email <message_id|listing_number> [format]
Argumentos:
message_id|listing_number(obrigatório): Um dos seguintes:- Um número de listagem do comando inbox (ex.:
1,2,3) - Um ID completo da mensagem (ex.:
testuser-1234567890-abcdef)
- Um número de listagem do comando inbox (ex.:
format(opcional): Formato de saída. Padrão:text
Formatos Disponíveis:
summary- Pares chave-valor (assunto, de, para, domínio, hora, id)text- Conteúdo em texto simples com cabeçalhos (padrão)textplain- Somente parte em texto simplestexthtml- Somente parte em HTMLfull- Dados completos do e-mail como JSON formatadoraw- Dados brutos do e-mail como JSONheaders- Cabeçalhos do e-mail como tabelasmtplog- Linha do tempo do log de entrega SMTP (requer token de API)links- Lista numerada de links encontrados no e-maillinksfull- Tabela com texto do link e URLs
Exemplos:
# Retrieve email by listing number (from inbox command)
mailinator-cli email 1
# Retrieve with specific format
mailinator-cli email 1 summary
mailinator-cli email 1 headers
mailinator-cli email 1 texthtml
# Retrieve by full message ID
mailinator-cli email testuser-1234567890-abcdef text
# Extract all links from email
mailinator-cli email 1 links
# View SMTP delivery log (requires API token)
mailinator-cli email 1 smtplog
# View full email data
mailinator-cli email 1 full
# Show verbose HTTP information
mailinator-cli --verbose email 1 full
Exemplo de Saída (formato texto):
From: noreply@example.com
Subject: Welcome to our service
Time: Feb 12, 2026 14:30:15
────────────────────────────────────────────────────────────────────────────────
Hello and welcome!
Thank you for signing up for our service. We're excited to have you on board.
To get started, please verify your email address by clicking the link below:
https://example.com/verify?token=abc123
Best regards,
The Team
Uso do Servidor MCP
O modo servidor MCP (Model Context Protocol) permite que assistentes de IA como o Claude Desktop acessem a funcionalidade do Mailinator programaticamente.
Iniciando o Servidor MCP
# Start on default port (127.0.0.1:8080)
mailinator-cli --start-mcp-server
# Start on custom host and port
mailinator-cli --start-mcp-server --host=0.0.0.0 --port=3000
# With API token for authenticated features
export MAILINATOR_API_KEY=your_token_here
mailinator-cli --start-mcp-server
Configurando o Claude Desktop
Adicione à configuração MCP do seu Claude Desktop (normalmente em ~/Library/Application Support/Claude/claude_desktop_config.json no macOS):
Opção 1: Deixe o Claude Desktop Iniciar o Servidor
{
"mcpServers": {
"mailinator": {
"command": "node",
"args": ["/absolute/path/to/mailinator-cli/bin/index.js", "--start-mcp-server"],
"env": {
"MAILINATOR_API_KEY": "your_token_here"
}
}
}
}
Opção 2: Conectar ao Servidor em Execução
{
"mcpServers": {
"mailinator": {
"url": "http://127.0.0.1:8080/mcp"
}
}
}
Ferramentas MCP
O servidor fornece duas ferramentas que os assistentes de IA podem invocar:
list_inbox
Lista todos os e-mails em uma caixa de entrada do Mailinator.
Parâmetros:
inbox_name(obrigatório): Nome da caixa de entrada a consultardomain(opcional): Domínio (público, privado ou personalizado)
Exemplos de prompts para o Claude:
- "Liste os e-mails na caixa de entrada joe"
- "Quais e-mails estão em testuser@public"
- "Mostre-me todos os e-mails em myinbox"
get_email
Recupera um e-mail específico com formato opcional.
Parâmetros:
message_id(obrigatório): ID da mensagem dos resultados de list_inboxdomain(opcional): Domínio (detectado automaticamente do cache se não fornecido)format(opcional): Formato de saída (texto, resumo, completo, smtplog, etc.)
Exemplos de prompts para o Claude:
- "Busque aquele primeiro e-mail"
- "Mostre-me o e-mail 3 em formato de resumo"
- "Obtenha o log SMTP para essa mensagem"
Recursos MCP
O servidor também expõe recursos que podem ser lidos via URIs:
mailinator://inbox/{domain}/{inbox_name}- Ler listagem da caixa de entradamailinator://email/{domain}/{message_id}- Ler conteúdo do e-mail
Diferença entre Ferramentas e Recursos:
- Ferramentas são operações ativas que a IA invoca com base nas solicitações do usuário
- Recursos são dados passivos que a IA pode referenciar como contexto
Ambos fornecem a mesma funcionalidade subjacente, mas através de diferentes interfaces MCP.
Endpoints do Servidor MCP
Ao executar no modo servidor MCP:
- Endpoint MCP:
POST http://127.0.0.1:8080/mcp(ou seu host:porta personalizado) - Verificação de Saúde:
GET http://127.0.0.1:8080/health
O servidor implementa o protocolo de transporte HTTP Streamable do MCP.
Cache de Caixa de Entrada
O comando inbox armazena em cache a lista de e-mails em ~/.config/mailinator/inbox-cache.json. Isso permite que você:
- Recupere rapidamente e-mails pelo número de listagem (1, 2, 3, etc.)
- Evite executar novamente o comando inbox para cada recuperação de e-mail
- Detecte automaticamente o domínio para recuperação de e-mail no modo MCP
O cache persiste entre invocações da CLI até que você execute o comando inbox novamente.
Regras de Validação
Nomes de Caixa de Entrada
- Máximo de 50 caracteres
- Caracteres alfanuméricos e pontos (
.) - Não pode começar ou terminar com ponto
- Padrão:
[a-zA-Z0-9]([a-zA-Z0-9.]*[a-zA-Z0-9])?
Curingas
- Requer token de API
- Permitido apenas em domínios privados (não públicos)
- Formatos:
*(todas as caixas de entrada) ouprefix*(caixas de entrada começando com prefixo) - Apenas um curinga no final
Domínios
- Valores especiais:
public,private - Domínios personalizados: Formato válido de nome de domínio
Tratamento de Erros
A CLI fornece mensagens de erro claras para problemas comuns:
- Erro de Validação: Entrada inválida (nome da caixa de entrada, domínio, formato)
- Erro de API: Falhas de autenticação, problemas de rede, erros de API
- Erro de Cache: Nenhuma caixa de entrada em cache (execute o comando
inboxprimeiro) - Erro de Configuração: Problemas no arquivo de configuração (avisos não fatais)
Códigos de saída:
0- Sucesso ou aviso de configuração1- Erro de validação2- Erro de API3- Erro de cache
Exemplos
Fluxos de Trabalho Comuns
Verifique e-mails de uma conta de teste:
# List emails
mailinator-cli inbox testuser public
# Read the first email
mailinator-cli email 1
# View headers of second email
mailinator-cli email 2 headers
Use com domínio privado:
# Configure API token
export MAILINATOR_API_KEY=your_token_here
# List private inbox
mailinator-cli inbox myinbox
# Read email with summary
mailinator-cli email 1 summary
# View SMTP delivery log
mailinator-cli email 1 smtplog
Extraia links de um e-mail:
mailinator-cli inbox newsletter public
mailinator-cli email 1 links
Pesquise em múltiplas caixas de entrada:
# Requires API token
mailinator-cli inbox test* private
Use como servidor MCP com Claude Desktop:
# Start the server
export MAILINATOR_API_KEY=your_token_here
mailinator-cli --start-mcp-server
# In Claude Desktop, ask:
# "What emails are in the joe inbox?"
# "Show me that first email in summary format"
# "Get the SMTP log for that message"
Requisitos
- Node.js >= 18.0.0
- Conexão com a internet (para acessar a API do Mailinator)
Endpoints da API
Esta ferramenta usa a API v3 da CLI do Mailinator:
- Inbox:
GET https://api.mailinator.com/cli/v3/domains/{domain}/inboxes/{inbox_name} - Email:
GET https://api.mailinator.com/cli/v3/domains/{domain}/messages/{message_id}?format={format} - Log SMTP:
GET https://api.mailinator.com/cli/v3/domains/{domain}/messages/{message_id}/smtplog
Nota: O formato smtplog usa um caminho de endpoint separado, não um parâmetro de consulta de formato.
Licença
MIT
Contribuição
Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request.
Solução de Problemas
Erro "Falha na autenticação"
- Verifique se o seu token de API está correto
- Verifique se o token está configurado corretamente na variável de ambiente ou no arquivo de configuração
Erro "Nenhuma caixa de entrada em cache encontrada"
- Execute o comando
inboxprimeiro para popular o cache - O cache é armazenado em
~/.config/mailinator/inbox-cache.json
Erro "Pesquisas com curinga requerem um token de API"
- Pesquisas com curinga (
*ouprefix*) requerem autenticação - Configure seu token de API usando variável de ambiente ou arquivo de configuração
Erro "Acesso negado"
- Você pode estar tentando acessar um domínio privado sem token de API
- Algumas operações requerem autenticação mesmo no domínio público
Mensagem "(Nenhum log SMTP disponível)"
- Logs SMTP podem exigir um token de API
- Logs SMTP podem não estar disponíveis para todos os e-mails
- Certifique-se de estar solicitando o formato
smtplogcorretamente
Problemas com o Servidor MCP
Ferramentas/Recursos não aparecendo no Claude Desktop:
- Reinicie o Claude Desktop completamente (não apenas reconecte)
- Verifique se o caminho da configuração MCP está correto
- Verifique os logs do servidor para erros
- Certifique-se de que o servidor está em execução:
curl http://127.0.0.1:8080/health
Erros de "união inválida" ou JSON-RPC:
- Certifique-se de estar usando a versão mais recente da CLI
- Verifique se o servidor foi iniciado com sucesso
- Verifique se o token de API está configurado ao acessar recursos privados
Porta já em uso:
- Outra instância pode estar em execução:
pkill -f "node.*start-mcp-server" - Ou use uma porta diferente:
--port=8765
Suporte
Para problemas relacionados à própria API do Mailinator, visite: Suporte Mailinator
Para problemas com a ferramenta CLI, abra uma issue no repositório.
Links Relacionados
- Mailinator - Serviço de teste de e-mail
- Documentação da API do Mailinator