Outlook MCP服务器
一种模型上下文协议(MCP)服务器,提供对Microsoft Outlook电子邮件功能的访问,允许LLM和其他MCP客户端通过标准化界面读取、搜索和管理电子邮件。
特性
- 文件夹管理:列出Outlook客户端中的可用邮件文件夹
- 电子邮件列表:从指定时间段检索电子邮件
- 电子邮件搜索:使用or运算符按联系人姓名、关键字或短语搜索电子邮件
- 电子邮件详细信息:查看完整的电子邮件内容,包括附件
- 电子邮件撰写:创建和发送新电子邮件
- 电子邮件回复:回复现有电子邮件
先决条件
- Windows操作系统
- Python 3.10或更高版本
- 已安装Microsoft Outlook并配置了活动帐户
- Claude Desktop或其他兼容MCP的客户端
安装
- 克隆或下载此存储库
- 安装所需的依赖项:
pip install mcp>=1.2.0 pywin32>=305- 配置Claude Desktop(或您首选的MCP客户端)以使用此服务器
配置
Claude桌面配置
将以下内容添加到您的 MCP_client_config.json 文件:
{
"mcpServers": {
"outlook": {
"command": "python",
"args": ["Your path\\outlook_mcp_server.py"],
"env": {}
}
}
}用法
启动服务器
您可以直接启动服务器:
python outlook_mcp_server.py或者允许像Claude Desktop这样的MCP客户端通过配置启动它。
可用工具
服务器提供以下工具:
list_folders:列出Outlook中所有可用的邮件文件夹list_recent_emails:列出指定天数内的电子邮件标题search_emails:按联系人姓名或关键字搜索电子邮件get_email_by_number:检索特定电子邮件的详细内容reply_to_email_by_number:对特定电子邮件的回复compose_email:创建并发送新电子邮件
工作流示例
- 使用
list_folders查看所有可用的邮件文件夹 - 使用
list_recent_emails查看最近的电子邮件(例如,过去7天的电子邮件) - 使用
search_emails按关键字查找特定电子邮件 - 使用
get_email_by_number查看完整的电子邮件 - 使用
reply_to_email_by_number回复电子邮件
例子
列出最近的电子邮件
Could you show me my unread emails from the last 3 days?搜索电子邮件
Search for emails about "project update OR meeting notes" in the last week阅读电子邮件详细信息
Show me the details of email #2 from the list回复电子邮件
Reply to email #3 with: "Thanks for the information. I'll review this and get back to you tomorrow."撰写新电子邮件
Send an email to john.doe@example.com with subject "Meeting Agenda" and body "Here's the agenda for our upcoming meeting..."故障排除
- 连接问题:确保Outlook正在运行并且配置正确
- 权限错误:确保脚本具有访问Outlook的权限
- 搜索问题:对于复杂的搜索,请尝试在术语之间使用OR运算符
- 电子邮件访问错误:检查电子邮件ID是否有效且可访问
- 服务器崩溃:检查Outlook的连接和稳定性
安全考虑
此服务器可以访问您的Outlook电子邮件帐户,并可以阅读、发送和管理电子邮件。仅在受信任的MCP客户端和安全环境中使用它。
局限性
- 目前仅支持文本电子邮件(不支持HTML)
- 最长电子邮件历史记录限制为30天
- 搜索功能取决于Outlook的内置搜索功能
- 仅支持基本的电子邮件功能(没有日历、联系人等)
