Skip to main content
Glama

Servidor IMAP MCP

Un servidor de Protocolo de Contexto de Modelo (MCP) que permite a los asistentes de IA revisar el correo electrónico, procesar mensajes y conocer las preferencias del usuario a través de la interacción.

Descripción general

Este proyecto implementa un servidor MCP que interactúa con servidores de correo electrónico IMAP para proporcionar las siguientes capacidades:

  • Navegación y búsqueda de correo electrónico

  • Organización del correo electrónico (mover, etiquetar, marcar)

  • Redacción y respuestas de correos electrónicos

  • Procesamiento interactivo de correo electrónico y aprendizaje de las preferencias del usuario

  • Resumen y categorización automatizados de correos electrónicos

  • Compatibilidad con múltiples proveedores IMAP

El servidor IMAP MCP está diseñado para funcionar con Claude o cualquier otro asistente compatible con MCP, lo que les permite actuar como asistentes de correo electrónico inteligentes que aprenden sus preferencias a lo largo del tiempo.

Related MCP server: Gmail MCP Server

Características

  • Autenticación de correo electrónico : acceso seguro a servidores IMAP con varios métodos de autenticación

  • Exploración de correo electrónico : lista de carpetas y mensajes con opciones de filtrado

  • Contenido del correo electrónico : lea el contenido del mensaje, incluido texto, HTML y archivos adjuntos

  • Acciones de correo electrónico : Mover, eliminar, marcar como leídos/no leídos, marcar mensajes

  • Redacción de correos electrónicos : redacte y guarde respuestas a mensajes con el formato adecuado

    • Soporte para respuestas en texto plano y HTML

    • Funcionalidad de respuesta a todos con soporte CC

    • Hilos adecuados con encabezados En respuesta a y Referencias

    • Guardar borradores en las carpetas apropiadas

  • Búsqueda : Funciones de búsqueda básicas en todas las carpetas

  • Patrones de interacción : Patrones estructurados para procesar correos electrónicos y aprender preferencias (planificado)

  • Capa de aprendizaje : registrar y analizar las decisiones de los usuarios para predecir acciones futuras (planificadas)

Estructura actual del proyecto

El proyecto actualmente está organizado de la siguiente manera:

. ├── examples/ # Example configurations │ └── config.yaml.example ├── imap_mcp/ # Source code │ ├── __init__.py │ ├── config.py # Configuration handling │ ├── imap_client.py # IMAP client implementation │ ├── models.py # Data models │ ├── resources.py # MCP resources implementation │ ├── server.py # Main server implementation │ └── tools.py # MCP tools implementation ├── tests/ # Test suite │ ├── __init__.py │ └── test_models.py ├── INSTALLATION.md # Detailed installation guide ├── pyproject.toml # Project configuration └── README.md # This file

Empezando

Prerrequisitos

  • Python 3.8 o superior

  • Una cuenta de correo electrónico compatible con IMAP (se recomienda Gmail)

  • uv para la gestión de paquetes y la ejecución de scripts de Python

Instalación

  1. Instale uv si aún no lo ha hecho:

    curl -LsSf https://astral.sh/uv/install.sh | sh
  2. Clonar e instalar el paquete:

    git clone https://github.com/non-dirty/imap-mcp.git cd imap-mcp uv venv source .venv/bin/activate # On Windows: .venv\Scripts\activate uv pip install -e ".[dev]"

Configuración de Gmail

  1. Crear un archivo de configuración:

    cp config.sample.yaml config.yaml
  2. Configurar las credenciales OAuth2 de Gmail:

    • Ir a la consola de Google Cloud

    • Crea un nuevo proyecto o selecciona uno existente

    • Habilitar la API de Gmail

    • Crear credenciales OAuth2 (tipo de aplicación de escritorio)

    • Descargar la configuración del cliente

  3. Actualice config.yaml con su configuración de Gmail:

    imap: host: imap.gmail.com port: 993 username: your-email@gmail.com use_ssl: true oauth2: client_id: YOUR_CLIENT_ID client_secret: YOUR_CLIENT_SECRET refresh_token: YOUR_REFRESH_TOKEN

Uso

Revisar el correo electrónico

Para listar correos electrónicos en su bandeja de entrada:

uv run list_inbox.py --config config.yaml --folder INBOX --limit 10

Opciones disponibles:

  • --folder : especifica qué carpeta comprobar (predeterminado: BANDEJA DE ENTRADA)

  • --limit : Número máximo de correos electrónicos a mostrar (predeterminado: 10)

  • --verbose : Habilitar la salida de registro detallada

Iniciar el servidor MCP

Para iniciar el servidor IMAP MCP:

uv run imap_mcp.server --config config.yaml

Para el modo de desarrollo con depuración:

uv run imap_mcp.server --dev

Administración de tokens OAuth2

Para actualizar su token OAuth2:

uv run imap_mcp.auth_setup refresh-token --config config.yaml

Para generar un nuevo token OAuth2:

uv run imap_mcp.auth_setup generate-token --config config.yaml

Desarrollo

Configuración del entorno de desarrollo

# Set up virtual environment python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate # Install development dependencies pip install -e ".[dev]"

Ejecución de pruebas

pytest

Consideraciones de seguridad

Este servidor MCP requiere acceso a su cuenta de correo electrónico, que contiene información personal confidencial. Tenga en cuenta las siguientes consideraciones de seguridad:

  • Almacene las credenciales de correo electrónico de forma segura mediante variables de entorno o almacenamiento de credenciales seguro

  • Considere usar contraseñas específicas de la aplicación en lugar de la contraseña de su cuenta principal

  • Limite el acceso a la carpeta únicamente a lo que sea necesario para su caso de uso

  • Revise los permisos otorgados al servidor en la configuración de su proveedor de correo electrónico

Hoja de ruta del proyecto

  • [x] Inicialización del proyecto y configuración del repositorio

  • [x] Integración básica de IMAP

  • [x] Implementación de recursos de correo electrónico

  • [x] Implementación de la herramienta de correo electrónico

  • [x] Funcionalidad de respuesta y borrador de correo electrónico

  • [ ] Implementación del aprendizaje de preferencias del usuario

  • [ ] Capacidades de búsqueda avanzada

  • [ ] Soporte para múltiples cuentas

  • [ ] Integración con los principales proveedores de correo electrónico

Contribuyendo

¡Agradecemos sus contribuciones! Consulte las normas en CONTRIBUTING.md .

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

Expresiones de gratitud

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/non-dirty/imap-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server