Email MCP Server
email-mcp
Pequeño servidor MCP personal para un único buzón a través de IMAP + SMTP.
Está orientado principalmente a una configuración privada:
un buzón
credenciales suministradas a través de variables de entorno
lectura de correo mediante IMAP
envío de correo mediante SMTP
funciona bien con los valores predeterminados de Yandex Mail, pero puede apuntar a cualquier proveedor IMAP/SMTP
Qué he cambiado
Este repositorio originalmente funcionaba solo en modo stdio. Eso está bien para clientes MCP locales, pero la integración web de ChatGPT necesita un endpoint MCP HTTP. El servidor ahora admite:
stdiopara uso local/desarrollostreamable-httppara uso con la aplicación web de ChatGPTssepara compatibilidad
También corregí un problema con los hilos de correo:
el antiguo parámetro
reply_tosolo configuraba la cabeceraReply-Tolas respuestas reales normalmente deberían usar
In-Reply-ToyReferencesread_emailahora devuelve esas cabeceras para que puedan pasarse de vuelta asend_email
Y mejoré la salida de read_email devolviendo:
cabeceras decodificadas
metadatos de archivos adjuntos
cabeceras de hilos de mensajes
Related MCP server: IMAP/SMTP Email MCP Server
Soporte para archivos adjuntos
Esta versión admite tanto la lectura como el envío de archivos adjuntos.
Descargar un archivo adjunto de un correo recibido
Llama a
read_email(uid=..., folder="INBOX")Inspecciona la lista
attachmentsUsa
attachment_indexconget_attachment(...)
get_attachment(...) devuelve:
filenamecontent_typesize_bytescontent_base64
Enviar archivos adjuntos en un correo saliente
send_email(...) acepta una lista de attachments.
Cada elemento puede ser uno de:
{"path": "/path/to/file.pdf"}{"filename": "note.txt", "content_text": "hello from MCP"}{"filename": "report.pdf", "content_base64": "JVBERi0x...", "content_type": "application/pdf"}Comportamiento de la carpeta de enviados
Después de que el envío SMTP tiene éxito, el mismo mensaje MIME se añade a tu carpeta de enviados IMAP.
Por defecto, ese nombre de carpeta es:
SentPuedes sobrescribirlo si tu buzón utiliza un nombre de carpeta IMAP diferente:
export SENT_FOLDER="Sent"
# or
export MAILBOX_SENT_FOLDER="Sent"Si el correo enviado no aparece, primero ejecuta list_folders() y utiliza el nombre exacto de la carpeta devuelto por tu buzón.
Archivos
server.py— definiciones de herramientas MCP e inicio del transportemail_ops.py— implementación de IMAP/SMTPrequirements.txt— dependencias de Python
Entorno
Requerido:
export MAILBOX_EMAIL="you@example.com"
export MAILBOX_PASSWORD="your-app-password"Configuraciones de proveedor opcionales:
export IMAP_HOST="imap.yandex.com"
export IMAP_PORT="993"
export SMTP_HOST="smtp.yandex.com"
export SMTP_PORT="465"Configuración opcional de la carpeta de enviados:
export SENT_FOLDER="Sent"Configuraciones opcionales del servidor MCP:
export MCP_TRANSPORT="stdio"
export MCP_HOST="0.0.0.0"
export MCP_PORT="8000"También se admiten alias por conveniencia:
export YANDEX_EMAIL="you@yandex.ru"
export YANDEX_APP_PASSWORD="..."Instalación
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtEjecutar localmente con stdio
python server.pyEste es el modo correcto para clientes MCP locales que inician el proceso directamente.
Ejecutar para la aplicación web de ChatGPT
La web de ChatGPT necesita un endpoint MCP HTTPS público. Inicia el servidor en modo HTTP:
python server.py --transport streamable-http --host 0.0.0.0 --port 8000Luego, expón ese puerto a través de un túnel HTTPS público o un proxy inverso, y registra la URL MCP resultante en ChatGPT.
Herramientas expuestas
list_folders()
Enumera las carpetas IMAP disponibles.
search_emails(folder="INBOX", text=None, unseen_only=False, since_date=None, limit=30)
Busca mensajes según criterios IMAP.
Devuelve elementos como:
uidsubjectfromtodateflagssize_bytes
read_email(uid, folder="INBOX")
Obtiene un mensaje completo sin marcarlo como leído.
Devuelve:
cabeceras decodificadas
message_idin_reply_toreferencesattachmentsbody_plainbody_html
get_attachment(uid, folder="INBOX", attachment_index=None, filename=None)
Obtiene un único archivo adjunto y lo devuelve en base64.
send_email(...)
Envía un mensaje a través de SMTP.
Parámetros importantes:
reply_to_header— establece la cabecera Reply-Toin_reply_to— cabecera de hilosreferences— cabecera de hilosattachments— lista opcional de especificaciones de archivos adjuntos
Para una respuesta real, usa in_reply_to y normalmente también references.
Notas sobre Yandex
Los valores predeterminados típicos de Yandex son:
IMAP:
imap.yandex.com:993sobre SSL/TLSSMTP:
smtp.yandex.com:465sobre SSL/TLS
Usa una contraseña de aplicación, no la contraseña de tu cuenta principal.
Próximas actualizaciones razonables
archivos adjuntos de imágenes en línea/incrustadas
límites de tamaño de archivos adjuntos y streaming
herramientas de mover/archivar/eliminar con confirmación
OAuth en lugar de credenciales basadas en variables de entorno
pruebas con backends IMAP/SMTP simulados
This server cannot be deployed
Maintenance
Related MCP Connectors
Email infrastructure for AI agents — send, receive, search, and reply to email over MCP.
Email inboxes for AI agents: send, receive, reply, search, and manage threaded email over MCP.
Programmable email inbox for AI agents — JMAP, PoW auth, stdio MCP server.
Give an AI agent its own email address: send, reply, read, and wait for mail.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables email management through IMAP and SMTP protocols, supporting reading, sending, replying to emails with proper threading, and downloading attachments. Supports multiple email accounts with flexible configuration options.1BSD 3-Clause
- FlicenseNot gradedqualityDmaintenanceEnables email management via IMAP/SMTP, supporting list emails, read emails, send emails, and save drafts.-
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to interact with email accounts via IMAP and SMTP, supporting mailbox listing, email search, retrieval, sending, and management.MIT
- AlicenseNot gradedqualityCmaintenanceEnables natural language email operations (send, search, read, manage) via IMAP/SMTP, with support for attachments, multiple mailboxes, and secure configuration.MIT