IMAP MCP Server

Integrations

  • Uses Python as the runtime environment to implement the IMAP MCP server, providing email browsing, organization, and processing capabilities.

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.

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

local-only server

The server can only run on the client's local machine because it depends on local resources.

Un servidor de protocolo de contexto de modelo que permite a los asistentes de IA acceder y administrar el correo electrónico a través de IMAP, lo que admite la navegación, la búsqueda, la lectura y la organización de correos electrónicos mientras aprende las preferencias del usuario a lo largo del tiempo.

  1. Overview
    1. Features
      1. Current Project Structure
        1. Getting Started
          1. Prerequisites
          2. Installation
          3. Gmail Configuration
          4. Usage
        2. Development
          1. Setting Up Development Environment
          2. Running Tests
        3. Security Considerations
          1. Project Roadmap
            1. Contributing
              1. License
                1. Acknowledgments
                  ID: qghctp3vs5