Mailinator MCP Server
Correo electrónico desechable gratuito para IA: revisa cualquier bandeja de entrada de @mailinator.com, recupera mensajes en múltiples formatos y extrae códigos de verificación para flujos de trabajo automatizados.
Documentación
Mailinator-CLI (y servidor MCP)
Una herramienta CLI de Node.js y servidor MCP (Protocolo de Contexto de Modelo) para interactuar con el servicio de correo electrónico desechable Mailinator. Lista correos electrónicos en cualquier bandeja de entrada y recupera mensajes individuales en varios formatos, ya sea desde la línea de comandos o mediante asistentes de IA como Claude Desktop.
Características
Características de CLI
- 📬 Lista correos electrónicos en cualquier bandeja de entrada de Mailinator con formato de tabla numerada y legible
- 📧 Recupera correos electrónicos individuales por ID de mensaje o número de listado
- 🔒 Soporte para dominios públicos y privados
- 🎨 Múltiples formatos de salida (texto, HTML, encabezados, enlaces, JSON, etc.)
- ⚡ Caché rápida de bandeja de entrada para recuperación rápida de correos
- 🔑 Configuración flexible de token de API (variable de entorno o archivo de configuración)
- 🌐 Búsquedas de bandeja de entrada con comodines (con token de API)
Características del servidor MCP
- 🤖 Modo servidor MCP para integración con asistentes de IA (Claude Desktop, etc.)
- 🛠️ Herramientas:
list_inboxyget_emailpara operaciones activas de correo electrónico - 📚 Recursos: Acceso de solo lectura mediante URIs
mailinator://para contexto pasivo - 🔌 Servidor basado en HTTP con host/puerto configurable
- 🔄 Misma funcionalidad que CLI pero accesible mediante protocolo MCP
Instalación
Instalación global (recomendada)
npm install -g mailinator-cli
NPX (sin instalación requerida)
npx mailinator-cli inbox test public
Desarrollo local
git clone <repository-url>
cd mailinator-cli
npm install
npm link
Configuración
Token de API (opcional para dominio público)
Mailinator permite acceso público al dominio "public" sin autenticación. Para acceder a dominios privados o usar funciones avanzadas (registros SMTP, comodines, etc.), necesitarás un token de API.
Obtén tu token de API en: Configuración de API de Mailinator
Opción 1: Variable de entorno
export MAILINATOR_API_KEY=your_api_token_here
O crea un archivo .env:
MAILINATOR_API_KEY=your_api_token_here
Al ejecutar mailinator-cli, .env se carga automáticamente desde tu directorio de trabajo actual.
Opción 2: Archivo de configuración
Crea ~/.config/mailinator/config.json:
{
"apiKey": "your_api_token_here"
}
Prioridad: Variable de entorno > Archivo de configuración > Ninguno (solo dominio público)
Uso de CLI
Opciones globales
Estas opciones se pueden usar con cualquier comando:
-v, --verbose- Muestra información detallada de solicitudes/respuestas HTTP-V, --version- Muestra el número de versión-h, --help- Muestra ayuda para el comando--start-mcp-server- Inicia el modo servidor MCP en lugar de CLI--host <address>- Host del servidor MCP (solo con --start-mcp-server), predeterminado: 127.0.0.1--port <number>- Puerto del servidor MCP (solo con --start-mcp-server), predeterminado: 8080
Modo detallado:
Habilita el modo detallado para ver todas las llamadas HTTP con URL y respuestas JSON. Útil para depuración o comprensión de interacciones con la API.
# Show detailed HTTP information
mailinator-cli --verbose inbox testuser public
mailinator-cli -v email 1 summary
Comando de bandeja de entrada
Lista todos los correos electrónicos en una bandeja de entrada.
mailinator-cli [options] inbox <inbox_name> [domain]
Argumentos:
inbox_name(obligatorio): La bandeja de entrada/correo a consultardomain(opcional): Dominio a usar. Predeterminado:"private"si el token de API está configurado"public"si no hay token de API
Ejemplos:
# 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
Salida:
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 de correo electrónico
Recupera y muestra un correo electrónico específico.
mailinator-cli [options] email <message_id|listing_number> [format]
Argumentos:
message_id|listing_number(obligatorio): Cualquiera de:- Un número de listado del comando de bandeja de entrada (por ejemplo,
1,2,3) - Un ID de mensaje completo (por ejemplo,
testuser-1234567890-abcdef)
- Un número de listado del comando de bandeja de entrada (por ejemplo,
format(opcional): Formato de salida. Predeterminado:text
Formatos disponibles:
summary- Pares clave-valor (asunto, de, para, dominio, hora, id)text- Contenido de texto plano con encabezados (predeterminado)textplain- Solo parte de texto planotexthtml- Solo parte HTMLfull- Datos completos del correo como JSON formateadoraw- Datos sin procesar del correo como JSONheaders- Encabezados del correo como tablasmtplog- Cronología del registro de entrega SMTP (requiere token de API)links- Lista numerada de enlaces encontrados en el correolinksfull- Tabla con texto de enlace y URL
Ejemplos:
# 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
Ejemplo de salida (formato de 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 del servidor MCP
El modo servidor MCP (Protocolo de Contexto de Modelo) permite que asistentes de IA como Claude Desktop accedan a la funcionalidad de Mailinator programáticamente.
Iniciar el 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
Configurar Claude Desktop
Agrega a tu configuración MCP de Claude Desktop (típicamente en ~/Library/Application Support/Claude/claude_desktop_config.json en macOS):
Opción 1: Deja que Claude Desktop inicie el servidor
{
"mcpServers": {
"mailinator": {
"command": "node",
"args": ["/absolute/path/to/mailinator-cli/bin/index.js", "--start-mcp-server"],
"env": {
"MAILINATOR_API_KEY": "your_token_here"
}
}
}
}
Opción 2: Conectar al servidor en ejecución
{
"mcpServers": {
"mailinator": {
"url": "http://127.0.0.1:8080/mcp"
}
}
}
Herramientas MCP
El servidor proporciona dos herramientas que los asistentes de IA pueden invocar:
list_inbox
Lista todos los correos electrónicos en una bandeja de entrada de Mailinator.
Parámetros:
inbox_name(obligatorio): Nombre de la bandeja de entrada a consultardomain(opcional): Dominio (público, privado o personalizado)
Ejemplos de indicaciones para Claude:
- "Lista los correos en la bandeja de entrada joe"
- "¿Qué correos hay en testuser@public?"
- "Muéstrame todos los correos en myinbox"
get_email
Recupera un correo electrónico específico con formato opcional.
Parámetros:
message_id(obligatorio): ID de mensaje de los resultados de list_inboxdomain(opcional): Dominio (detección automática desde caché si no se proporciona)format(opcional): Formato de salida (texto, resumen, completo, smtplog, etc.)
Ejemplos de indicaciones para Claude:
- "Obtén ese primer correo"
- "Muéstrame el correo 3 en formato resumen"
- "Obtén el registro SMTP de ese mensaje"
Recursos MCP
El servidor también expone recursos que se pueden leer mediante URIs:
mailinator://inbox/{domain}/{inbox_name}- Leer listado de bandeja de entradamailinator://email/{domain}/{message_id}- Leer contenido de correo electrónico
Diferencia entre herramientas y recursos:
- Herramientas son operaciones activas que la IA invoca según las solicitudes del usuario
- Recursos son datos pasivos que la IA puede referenciar como contexto
Ambos proporcionan la misma funcionalidad subyacente pero a través de diferentes interfaces MCP.
Puntos finales del servidor MCP
Al ejecutar en modo servidor MCP:
- Punto final MCP:
POST http://127.0.0.1:8080/mcp(o tu host:puerto personalizado) - Verificación de estado:
GET http://127.0.0.1:8080/health
El servidor implementa el protocolo de transporte HTTP transmisible de MCP.
Caché de bandeja de entrada
El comando inbox almacena en caché la lista de correos en ~/.config/mailinator/inbox-cache.json. Esto te permite:
- Recuperar rápidamente correos por su número de listado (1, 2, 3, etc.)
- Evitar volver a ejecutar el comando de bandeja de entrada para cada recuperación de correo
- Detección automática de dominio para recuperación de correos en modo MCP
La caché persiste entre invocaciones de CLI hasta que ejecutes el comando inbox nuevamente.
Reglas de validación
Nombres de bandeja de entrada
- Máximo 50 caracteres
- Caracteres alfanuméricos y puntos (
.) - No puede comenzar ni terminar con un punto
- Patrón:
[a-zA-Z0-9]([a-zA-Z0-9.]*[a-zA-Z0-9])?
Comodines
- Requiere token de API
- Solo permitidos en dominios privados (no públicos)
- Formatos:
*(todas las bandejas de entrada) oprefix*(bandejas de entrada que comienzan con prefijo) - Solo un comodín al final
Dominios
- Valores especiales:
public,private - Dominios personalizados: Formato de nombre de dominio válido
Manejo de errores
El CLI proporciona mensajes de error claros para problemas comunes:
- Error de validación: Entrada no válida (nombre de bandeja de entrada, dominio, formato)
- Error de API: Fallos de autenticación, problemas de red, errores de API
- Error de caché: Sin bandeja de entrada en caché (ejecuta el comando
inboxprimero) - Error de configuración: Problemas con el archivo de configuración (advertencias no fatales)
Códigos de salida:
0- Éxito o advertencia de configuración1- Error de validación2- Error de API3- Error de caché
Ejemplos
Flujos de trabajo comunes
Verificar correos para una cuenta de prueba:
# 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
Usar con dominio 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
Extraer enlaces de un correo:
mailinator-cli inbox newsletter public
mailinator-cli email 1 links
Buscar en múltiples bandejas de entrada:
# Requires API token
mailinator-cli inbox test* private
Usar como servidor MCP con 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
- Conexión a Internet (para acceder a la API de Mailinator)
Puntos finales de API
Esta herramienta utiliza la API CLI v3 de Mailinator:
- Bandeja de entrada:
GET https://api.mailinator.com/cli/v3/domains/{domain}/inboxes/{inbox_name} - Correo electrónico:
GET https://api.mailinator.com/cli/v3/domains/{domain}/messages/{message_id}?format={format} - Registro SMTP:
GET https://api.mailinator.com/cli/v3/domains/{domain}/messages/{message_id}/smtplog
Nota: El formato smtplog utiliza una ruta de punto final separada, no un parámetro de consulta de formato.
Licencia
MIT
Contribuciones
¡Las contribuciones son bienvenidas! No dudes en enviar una Solicitud de Extracción.
Solución de problemas
Error de "Autenticación fallida"
- Verifica que tu token de API sea correcto
- Comprueba que el token esté configurado correctamente en la variable de entorno o archivo de configuración
Error de "No se encontró bandeja de entrada en caché"
- Ejecuta el comando
inboxprimero para poblar la caché - La caché se almacena en
~/.config/mailinator/inbox-cache.json
Error de "Las búsquedas con comodines requieren un token de API"
- Las búsquedas con comodines (
*oprefix*) requieren autenticación - Configura tu token de API usando variable de entorno o archivo de configuración
Error de "Acceso prohibido"
- Puede que estés intentando acceder a un dominio privado sin token de API
- Algunas operaciones requieren autenticación incluso en dominio público
Mensaje "(No hay registro SMTP disponible)"
- Los registros SMTP pueden requerir un token de API
- Los registros SMTP pueden no estar disponibles para todos los correos
- Asegúrate de solicitar el formato
smtplogcorrectamente
Problemas con el servidor MCP
Herramientas/Recursos que no aparecen en Claude Desktop:
- Reinicia Claude Desktop por completo (no solo reconectar)
- Verifica que la ruta de configuración MCP sea correcta
- Revisa los registros del servidor para ver errores
- Asegúrate de que el servidor esté ejecutándose:
curl http://127.0.0.1:8080/health
Errores de "Unión no válida" o JSON-RPC:
- Asegúrate de usar la versión más reciente del CLI
- Verifica que el servidor se haya iniciado correctamente
- Comprueba que el token de API esté configurado si accedes a funciones privadas
Puerto ya en uso:
- Otra instancia podría estar ejecutándose:
pkill -f "node.*start-mcp-server" - O usa un puerto diferente:
--port=8765
Soporte
Para problemas relacionados con la API de Mailinator en sí, visita: Soporte de Mailinator
Para problemas con la herramienta CLI, abre un problema en el repositorio.
Enlaces relacionados
- Mailinator - Servicio de prueba de correo electrónico
- Documentación de la API de Mailinator