电子邮件处理 MCP 服务器
该 MCP 服务器提供电子邮件处理功能,并集成 MongoDB 进行语义搜索,以及 SQLite 进行高效存储和检索。
特征
- 使用日期范围过滤功能处理 Outlook 中的电子邮件
- 使用适当的连接管理将电子邮件存储在 SQLite 数据库中
- 使用 Ollama 生成向量嵌入
- 多邮箱支持
- 支持收件箱、已发送邮件和可选的已删除邮件文件夹
即将推出的功能
- 具有语义功能的电子邮件搜索
- 使用 LLM 进行电子邮件摘要
- 自动电子邮件分类
- 可定制的电子邮件报告
- 高级过滤选项
- Outlook 起草电子邮件回复
- Outlook 规则建议
- 通过 Neo4j 和 ChromaDB 集成扩展数据库选项
先决条件
- Python 3.10 或更高版本
- Ollama 本地运行(用于嵌入)
- 已安装 Microsoft Outlook
- Windows 操作系统(用于 Outlook 集成)
- MongoDB 服务器(用于存储嵌入)
安装
- 安装 uv(如果尚未安装):
- 创建虚拟环境:
- 激活虚拟环境:视窗:macOS/Linux:
- 安装依赖项:
- 安装 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
- AsecurityFlicenseAqualityProvides an interface to manage email marketing, contact lists, dynamic templates, and email analytics via SendGrid's API.Last updated -216TypeScript
- -securityAlicense-qualityProvides IMAP and SMTP capabilities, enabling developers to manage email services with seamless integration and automated workflows.Last updated -38PythonBSD 3-Clause
- -securityAlicense-qualityProvides comprehensive Gmail integration with LLM processing capabilities, allowing users to read, search, filter emails and handle attachments through the Model Context Protocol.Last updated -31TypeScriptMIT License
- AsecurityAlicenseAqualityManage your emails effortlessly with a standardized interface for drafting, sending, retrieving, and organizing messages. Streamline your email workflow with complete Gmail API coverage, including label and thread management.Last updated -6521215JavaScriptMIT License