Tratamiento del correo electrónico - MCP Server Seguro por ALMC Security 2025

Tratamiento del correo electrónico

Ver en GitHub

MseeP.ai Security Assessment Badge

Servidor MCP de procesamiento de correo electrónico

Este servidor MCP proporciona capacidades de procesamiento de correo electrónico con integración MongoDB para búsqueda semántica y SQLite para almacenamiento y recuperación eficientes.

Características

  • Procesamiento de correos electrónicos desde Outlook con filtrado de intervalos de fechas
  • Almacenamiento de correos electrónicos en base de datos SQLite con gestión de conexiones adecuada
  • Generación de incrustaciones vectoriales mediante Ollama
  • Soporte multi-buzón
  • Compatibilidad con las carpetas Bandeja de entrada, Elementos enviados y, opcionalmente, Elementos eliminados

Próximas funciones

  • Búsqueda de correos electrónicos con funciones semánticas
  • Resumen de correos electrónicos mediante LLM
  • Categorización automática de correos electrónicos
  • Informes de correo personalizables
  • Opciones avanzadas de filtrado
  • Redacción de respuestas de correo electrónico de Outlook
  • Sugerencias de reglas de Outlook
  • Opciones ampliadas de bases de datos con integración de Neo4j y ChromaDB

Requisitos previos

  • Python 3.10 o superior
  • Ollama ejecutándose localmente (para incrustaciones)
  • Microsoft Outlook instalado
  • Sistema operativo Windows (para la integración de Outlook)
  • Servidor MongoDB (para almacenar las incrustaciones)

Instalación

  1. Instale uv (si no está ya instalado):
pip install uv
  1. Crear un entorno virtual:
uv venv .venv
  1. Activar el entorno virtual:

    Windows:

    .venv\Scripts\activar

    macOS/Linux:

    source .venv/bin/activate
  2. Instalar dependencias:

uv pip install -e
  1. Instalar el paquete fastmcp:
uv pip install fastmcp
  1. Asegúrese de que Ollama se está ejecutando localmente con los modelos requeridos:
ollama pull nomic-embed-text

Configuración

Añada el servidor a su archivo de configuración de Claude for Desktop:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{ "mcpServers": { "outlook-email": { "command": "C:/Users/username/path/to/mcp-server-outlook-email/.venv/Scripts/python", "args": [ "C:/Usuarios/nombre_de_usuario/ruta/para/mcp-servidor-mirador-correo/src/mcp_server.py" ], "env": { "MONGODB_URI": "mongodb://localhost:27017/MCP?authSource=admin", "SQLITE_DB_PATH": "C:\Users\username\path\to\mcp-server-outlook-email\data\emails.db", "EMBEDDING_BASE_URL": "http://localhost:11434", "EMBEDDING_MODEL": "nomic-embed-text", "COLLECTION_NAME": "outlook-emails", "PROCESS_DELETED_ITEMS": "false" } } }

Seguimiento y supervisión

El servidor ha sido diseñado para soportar soluciones externas de seguimiento y monitorización. La implementación de registro de MCP se ha eliminado intencionadamente en favor de un enfoque de seguimiento más sólido que se implementará por separado.

Nota: No intente volver a implementar el sistema de registro anterior. En el futuro se proporcionará una nueva solución de seguimiento.

Explicación de los campos de configuración:

  • comando: Ruta completa al ejecutable de Python en su entorno virtual
  • args: Matriz que contiene la ruta completa al script del servidor MCP
  • env: Variables de entorno para la configuración
    • MONGODB_URI: Cadena de conexión a MongoDB
    • SQLITE_DB_PATH: Ruta absoluta al archivo de base de datos SQLite
    • EMBEDDING_BASE_URL: URL del servidor Ollama
    • EMBEDDING_MODEL: Modelo a utilizar para las incrustaciones
    • LLM_MODEL: Modelo a utilizar para las operaciones LLM
    • NOMBRE_COLECCIÓN: Nombre de la colección MongoDB a utilizar (obligatorio)
    • PROCESS_DELETED_ITEMS: Si procesar correos electrónicos de la carpeta Elementos eliminados (opcional, por defecto: "false")
  • disabled: Si el servidor está deshabilitado (debe ser false)
  • alwaysAllow: Conjunto de herramientas que no requieren confirmación del usuario
  • autoApprove: Conjunto de herramientas que pueden ser auto-aprobadas

Sustituya las rutas por las rutas reales de su sistema. Tenga en cuenta que las rutas de Windows en la sección env deben usar doble barra invertida.

Herramientas disponibles

1. procesar_correos_electrónicos

Procesa los correos electrónicos de un intervalo de fechas especificado:

{ "fecha_inicio": "2024-01-01", # fecha con formato ISO (AAAA-MM-DD) "end_date": "2024-02-15", # fecha con formato ISO (AAAA-MM-DD) "mailboxes": ["Todos"] # Lista de nombres de buzones o ["Todos"] para todos los buzones }

La herramienta

  1. Conectarse a los buzones de Outlook especificados
  2. Recuperar correos electrónicos de las carpetas Bandeja de entrada y Elementos enviados (y Elementos eliminados si está activado)
  3. Almacenar los correos electrónicos en una base de datos SQLite
  4. Generar incrustaciones utilizando Ollama
  5. Almacenar las incrustaciones en MongoDB para la búsqueda semántica

Ejemplo de uso en Claude

"Procesar los correos electrónicos del 1 al 17 de febrero de todos los buzones"

Arquitectura

El servidor utiliza un enfoque de búsqueda híbrido:

  1. Base de datos SQLite para:

    • Almacenamiento primario de correo electrónico
    • Capacidad de búsqueda de texto completo
    • Seguimiento del estado de procesamiento
    • Filtrado eficaz
    • El directorio se crea automáticamente si no existe
    • Las conexiones se cierran correctamente para evitar el bloqueo de la base de datos
  2. MongoDB para:

    • Almacenamiento de incrustaciones vectoriales
    • Búsqueda por similitud semántica
    • Filtrado de metadatos
    • Recuperación eficiente
    • Las conexiones se cierran correctamente después de su uso

Gestión de errores

El servidor proporciona mensajes de error detallados para los problemas más comunes:

  • Formatos de fecha no válidos
  • Problemas de conexión con Outlook
  • Errores de MongoDB
  • Errores de generación de incrustaciones con lógica de reintento
  • Errores de almacenamiento SQLite
  • Problemas de conexión con el servidor Ollama con reintentos automáticos

Gestión de recursos

El servidor implementa una gestión de recursos adecuada para evitar problemas:

  • Las conexiones a bases de datos (SQLite y MongoDB) se mantienen abiertas durante la vida del servidor para evitar errores de "No se puede operar en una base de datos cerrada"
  • Las conexiones sólo se cierran cuando el servidor se apaga, usando un manejador atexit
  • Se utilizan destructores y gestores de contexto para garantizar que las conexiones se cierran cuando los objetos se recogen de la basura
  • La gestión de conexiones está diseñada para equilibrar el uso de recursos con la fiabilidad operativa
  • Lógica de reintento robusta para servicios externos como Ollama para gestionar problemas temporales de conexión

Notas de seguridad

  • El servidor sólo procesa los correos electrónicos de los buzones especificados
  • Todos los datos se almacenan localmente (SQLite) y en MongoDB
  • No hay llamadas a API externas excepto al servidor local de Ollama
  • Requiere la aprobación explícita del usuario para procesar el correo electrónico
  • No se exponen datos sensibles de correo electrónico a través de la interfaz MCP

Depuración

En caso de problemas

  1. Compruebe que los correos electrónicos se han procesado correctamente (compruebe la respuesta process_emails)
  2. Asegúrese de que el servidor Ollama se está ejecutando para la generación de incrustaciones
  3. Compruebe que la base de datos SQLite es accesible
  4. Compruebe que la conexión MongoDB funciona correctamente

Relacionados en Comunicación - MCP Servers Seguros

ServidorResumenAcciones
ChatSumEste servidor MCP se utiliza para resumir los mensajes de chat.Ver
Servidor CData Slack MCPServidor de protocolo de contexto de modelo (MCP) de CData para SlackVer
Servidor MCP Digital Samba Embedded APIUtilice su asistente de inteligencia artificial para interactuar con la API Digital Samba EmbeddedVer
Envío de correo electrónico MCPVer
any-chat-completions-mcpIntegra Claude con cualquier API de finalización de chat compatible con OpenAI SDK - OpenAI, Perplex...Ver
Claude Assist MCPUn servidor de Protocolo de Contexto de Modelo (MCP) que permite a Claude Code comunicarse con Claud...Ver