Integrations
Stores email vector embeddings for semantic search capabilities, manages connections properly, and provides metadata filtering and efficient retrieval
Planned future integration for expanded database options and more advanced relationship modeling for emails
Generates vector embeddings for emails using models like nomic-embed-text for enhanced semantic search capabilities
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
- Procesar correos electrónicos desde Outlook con filtrado por rango de fechas
- Almacene correos electrónicos en una base de datos SQLite con una gestión de conexión adecuada
- Generar incrustaciones vectoriales usando Ollama
- Compatibilidad con varios buzones de correo
- Compatibilidad con carpetas Bandeja de entrada, Elementos enviados y, opcionalmente, Elementos eliminados
Próximas funciones
- Búsqueda de correo electrónico con capacidades semánticas
- Resumen de correo electrónico mediante LLM
- Categorización automática de correo electrónico
- Informes de correo electrónico personalizables
- Opciones de filtrado avanzadas
- Borrador de respuestas de correo electrónico de Outlook
- Sugerencias de reglas de Outlook
- Opciones de base de datos ampliadas con integración de Neo4j y ChromaDB
Prerrequisitos
- Python 3.10 o superior
- Ollama ejecutándose localmente (para incrustaciones)
- Microsoft Outlook instalado
- Sistema operativo Windows (para la integración con Outlook)
- Servidor MongoDB (para almacenar incrustaciones)
Instalación
- Instalar uv (si aún no está instalado):
- Crear un entorno virtual:
- Activar el entorno virtual:Ventanas:macOS/Linux:CopyCopy
- Instalar dependencias:
- Instalar el paquete fastmcp:
- Asegúrese de que Ollama se esté ejecutando localmente con los modelos requeridos:
Configuración
Agregue el servidor a su archivo de configuración de Claude for Desktop:
- Ventanas:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Rastreo y Monitoreo
El servidor se diseñó para admitir soluciones externas de rastreo y monitorización. La implementación del registro de MCP se eliminó intencionalmente para sustituir un enfoque de rastreo más robusto que se implementará por separado.
Nota: No intente reimplementar el sistema de registro anterior. Se proporcionará una nueva solución de rastreo próximamente.
Explicación de los campos de configuración:
command
: Ruta completa al ejecutable de Python en su entorno virtualargs
: Matriz que contiene la ruta completa al script del servidor MCPenv
: Variables de entorno para configuraciónMONGODB_URI
: cadena de conexión de MongoDBSQLITE_DB_PATH
: Ruta absoluta al archivo de base de datos SQLiteEMBEDDING_BASE_URL
: URL del servidor OllamaEMBEDDING_MODEL
: Modelo a utilizar para incrustacionesLLM_MODEL
: Modelo a utilizar para operaciones LLMCOLLECTION_NAME
: Nombre de la colección MongoDB a utilizar (obligatorio)PROCESS_DELETED_ITEMS
: Si se deben procesar correos electrónicos de la carpeta Elementos eliminados (opcional, valor predeterminado: "falso")
disabled
: si el servidor está deshabilitado (debe ser falso)alwaysAllow
: Matriz de herramientas que no requieren confirmación del usuarioautoApprove
: conjunto de herramientas que pueden aprobarse automáticamente
Reemplace las rutas con 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
Procesar correos electrónicos de un rango de fechas específico:
La herramienta hará lo siguiente:
- Conectarse a buzones de correo de Outlook especificados
- Recuperar correos electrónicos de las carpetas Bandeja de entrada y Elementos enviados (y Elementos eliminados si está habilitado)
- Almacenar correos electrónicos en una base de datos SQLite
- Generar incrustaciones usando Ollama
- Incrustaciones de almacenes en MongoDB para búsqueda semántica
Ejemplo de uso en Claude
Arquitectura
El servidor utiliza un enfoque de búsqueda híbrido:
- Base de datos SQLite para:
- Almacenamiento de correo electrónico principal
- Capacidades de búsqueda de texto completo
- Seguimiento del estado del procesamiento
- Filtrado eficiente
- El directorio se crea automáticamente si no existe
- Las conexiones se cierran correctamente para evitar el bloqueo de la base de datos.
- MongoDB para:
- Almacenamiento de incrustaciones vectoriales
- Búsqueda de similitud semántica
- Filtrado de metadatos
- Recuperación eficiente
- Las conexiones están correctamente cerradas después del uso.
Manejo de errores
El servidor proporciona mensajes de error detallados para problemas comunes:
- Formatos de fecha no válidos
- Problemas de conexión con Outlook
- Errores de MongoDB
- Incrustación de errores de generación con lógica de reintento
- Errores de almacenamiento de SQLite
- Problemas de conexión del servidor Ollama con reintentos automáticos
Gestión de recursos
El servidor implementa una gestión adecuada de recursos para evitar problemas:
- Las conexiones de bases de datos (SQLite y MongoDB) se mantienen abiertas durante la vida útil del servidor para evitar errores del tipo "No se puede operar en una base de datos cerrada".
- Las conexiones solo se cierran cuando el servidor se apaga, mediante un controlador atexit
- Los destructores y administradores de contexto se utilizan como respaldo para garantizar que las conexiones se cierren cuando se recolectan elementos no utilizados de los objetos.
- La gestión de la conexión está diseñada para equilibrar el uso de recursos con la confiabilidad operativa.
- Lógica de reintento robusta para servicios externos como Ollama para manejar problemas de conexión temporales
Notas de seguridad
- El servidor sólo procesa correos electrónicos de buzones específicos
- Todos los datos se almacenan localmente (SQLite) y en MongoDB
- No hay llamadas API externas excepto al servidor Ollama local
- Requiere la aprobación explícita del usuario para el procesamiento del correo electrónico
- No se exponen datos de correo electrónico confidenciales a través de la interfaz MCP
Depuración
Si encuentra problemas:
- Verifique que los correos electrónicos se procesaron correctamente (verifique la respuesta de process_emails)
- Asegúrese de que el servidor Ollama se esté ejecutando para la generación de incrustaciones
- Compruebe que la base de datos SQLite sea accesible
- Verificar que la conexión de MongoDB funcione correctamente
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Procesa correos electrónicos de Outlook con filtrado de fechas, almacenándolos en bases de datos SQLite mientras genera incrustaciones vectoriales para capacidades de búsqueda semántica en MongoDB.
- Características
- Próximas funciones
- Prerrequisitos
- Instalación
- Configuración
- Herramientas disponibles
- Ejemplo de uso en Claude
- Arquitectura
- Manejo de errores
- Gestión de recursos
- Notas de seguridad
- Depuración
Related Resources
Related MCP Servers
- -securityFlicense-qualityEnables querying log data stored in SQLite databases through the Model Context Protocol, allowing natural language interactions with log analysis.Last updated -Python
- -securityFlicense-qualityA protocol server that enables LLMs like Claude to interact with MongoDB databases, providing tools for schema exploration, aggregation queries, and data analysis through natural language in Cursor.Last updated -115TypeScript
- -securityAlicense-qualityAn MCP server that enables large language models to interact directly with MongoDB databases, allowing them to query collections, inspect schemas, and manage data through natural language.Last updated -340MIT License
- -securityAlicense-qualityA Model Context Protocol server that enables semantic search capabilities by providing tools to manage Qdrant vector database collections, process and embed documents using various embedding services, and perform semantic searches across vector embeddings.Last updated -89TypeScriptMIT License