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
电子邮件处理 MCP 服务器
该 MCP 服务器提供电子邮件处理功能,并集成 MongoDB 进行语义搜索,以及 SQLite 进行高效存储和检索。
特征
- 使用日期范围过滤功能处理 Outlook 中的电子邮件
- 使用适当的连接管理将电子邮件存储在 SQLite 数据库中
- 使用 Ollama 生成向量嵌入
- 多邮箱支持
- 支持收件箱、已发送邮件和可选的已删除邮件文件夹
即将推出的功能
- 具有语义功能的电子邮件搜索
- 使用 LLM 进行电子邮件摘要
- 自动电子邮件分类
- 可定制的电子邮件报告
- 高级过滤选项
- Outlook 起草电子邮件回复
- Outlook 规则建议
- 通过 Neo4j 和 ChromaDB 集成扩展数据库选项
先决条件
- Python 3.10 或更高版本
- Ollama 本地运行(用于嵌入)
- 已安装 Microsoft Outlook
- Windows 操作系统(用于 Outlook 集成)
- MongoDB 服务器(用于存储嵌入)
安装
- 安装 uv(如果尚未安装):
- 创建虚拟环境:
- 激活虚拟环境:视窗:macOS/Linux:CopyCopy
- 安装依赖项:
- 安装 fastmcp 包:
- 确保 Ollama 在本地运行并具有所需的模型:
配置
将服务器添加到您的 Claude for Desktop 配置文件中:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
追踪与监控
该服务器已设计为支持外部跟踪和监控解决方案。MCP 日志记录实现已被有意移除,以支持更强大的跟踪方法,该方法将单独实现。
注意:请勿尝试重新实现之前的日志系统。后续会提供新的追踪方案。
配置字段说明:
command
:虚拟环境中 Python 可执行文件的完整路径args
:包含 MCP 服务器脚本完整路径的数组env
:配置的环境变量MONGODB_URI
:MongoDB 连接字符串SQLITE_DB_PATH
:SQLite 数据库文件的绝对路径EMBEDDING_BASE_URL
:Ollama 服务器 URLEMBEDDING_MODEL
:用于嵌入的模型LLM_MODEL
:用于 LLM 操作的模型COLLECTION_NAME
:要使用的 MongoDB 集合的名称(必需)PROCESS_DELETED_ITEMS
:是否处理“已删除邮件”文件夹中的电子邮件(可选,默认值:“false”)
disabled
:服务器是否被禁用(应为 false)alwaysAllow
:不需要用户确认的工具数组autoApprove
:可自动批准的工具数组
将路径替换为系统上的实际路径。请注意, env
部分中的 Windows 路径应使用双反斜杠。
可用工具
1. process_emails
处理指定日期范围内的电子邮件:
该工具将:
- 连接到指定的 Outlook 邮箱
- 从收件箱和已发送邮件文件夹(以及已删除邮件,如果启用)检索电子邮件
- 将电子邮件存储在 SQLite 数据库中
- 使用 Ollama 生成嵌入
- 将嵌入存储在 MongoDB 中以进行语义搜索
Claude 中的示例用法
建筑学
服务器采用混合搜索方式:
- SQLite 数据库用于:
- 主要电子邮件存储
- 全文搜索功能
- 处理状态追踪
- 高效过滤
- 如果目录不存在则自动创建
- 连接已正确关闭以防止数据库锁定
- MongoDB 适用于:
- 向量嵌入存储
- 语义相似性搜索
- 元数据过滤
- 高效检索
- 使用后正确关闭连接
错误处理
服务器提供了常见问题的详细错误消息:
- 无效的日期格式
- Outlook 的连接问题
- MongoDB 错误
- 使用重试逻辑嵌入生成故障
- SQLite 存储错误
- Ollama 服务器连接问题与自动重试
资源管理
服务器实施适当的资源管理以防止出现以下问题:
- 数据库连接(SQLite 和 MongoDB)在服务器生命周期内保持打开状态,以防止出现“无法在已关闭的数据库上操作”错误
- 仅当服务器关闭时,使用 atexit 处理程序关闭连接
- 析构函数和上下文管理器被用作后备,以确保在对象被垃圾收集时关闭连接
- 连接管理旨在平衡资源使用和操作可靠性
- 为 Ollama 等外部服务提供强大的重试逻辑,以处理临时连接问题
安全说明
- 服务器仅处理来自指定邮箱的电子邮件
- 所有数据都存储在本地(SQLite)和 MongoDB 中
- 除了本地 Ollama 服务器之外,没有外部 API 调用
- 需要用户明确批准才能处理电子邮件
- 不会通过 MCP 界面暴露任何敏感的电子邮件数据
调试
如果您遇到问题:
- 验证电子邮件是否已成功处理(检查 process_emails 响应)
- 确保 Ollama 服务器正在运行以生成嵌入
- 检查 SQLite 数据库是否可以访问
- 验证 MongoDB 连接是否正常工作
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.
使用日期过滤功能处理来自 Outlook 的电子邮件,将其存储在 SQLite 数据库中,同时为 MongoDB 中的语义搜索功能生成向量嵌入。
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