Outlook邮件管理服务器

一个提供标准化接口的Outlook邮件管理服务器,支持LLMs和其他MCP客户端通过协议读取、搜索和管理邮件。

  • by biguxuzz
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 biguxuzz/outlook-mcp-server

使用说明

Outlook MCP服务器

一种模型上下文协议(MCP)服务器,提供对Microsoft Outlook电子邮件功能的访问,允许LLM和其他MCP客户端通过标准化界面读取、搜索和管理电子邮件。

特性

  • 文件夹管理:列出Outlook客户端中的可用邮件文件夹
  • 电子邮件列表:从指定的时间段或日期范围检索电子邮件
  • 日期范围筛选:按特定日期范围筛选电子邮件(支持YYYY-MM和YYYY-MM-DD格式)
  • 电子邮件搜索:使用or运算符按联系人姓名、关键字或短语搜索电子邮件
  • 电子邮件详细信息:查看完整的电子邮件内容,包括附件
  • 电子邮件撰写:创建和发送新电子邮件
  • 电子邮件回复:回复现有电子邮件

先决条件

  • Windows操作系统
  • Python 3.10或更高版本
  • 已安装Microsoft Outlook并配置了活动帐户
  • Claude Desktop或其他兼容MCP的客户端

安装

  1. 克隆或下载此存储库
  2. 安装所需的依赖项:
pip install mcp>=1.2.0 pywin32>=305
  1. 配置Claude Desktop(或您首选的MCP客户端)以使用此服务器

配置

Claude桌面配置

将以下内容添加到您的 MCP_client_config.json 文件:

{
  "mcpServers": {
    "outlook": {
      "command": "python",
      "args": ["Your path\\outlook_mcp_server_v2.py"],
      "env": {}
    }
  }
}

光标配置

对于Cursor IDE,请将以下内容添加到您的 mcp.json 文件(通常位于 ~/.cursor/mcp.json):

重要:首先,手动启动服务器或使用进程管理器:

python outlook_mcp_server_v2.py

然后将此配置添加到您的 mcp.json:

{
  "mcpServers": {
    "outlook_mcp_server": {
      "url": "http://127.0.0.1:8050/mcp",
      "connection_id": "outlook_mcp_server"
    }
  }
}

备注:在Cursor尝试连接之前,请确保服务器正在运行。服务器启动时必须启用HTTP传输(默认)。

用法

启动服务器

您可以直接启动服务器:

python outlook_mcp_server_v2.py

或者允许像Claude Desktop这样的MCP客户端通过配置启动它。

环境变量(可选)

服务器支持以下环境变量用于HTTP传输配置:

  • MCP_TRANSPORT:传输类型(默认值:“streamablehttp”)
  • MCP_HTTP_HOST:HTTP主机(默认值:“127.0.0.1”)
  • MCP_HTTP_PORT:HTTP端口(默认值:8050)
  • MCP_HTTP_PATH:HTTP路径(默认值:“/mcp”)

可用工具

服务器提供以下工具:

  1. list_folders:列出Outlook中所有可用的邮件文件夹
  2. list_recent_emails:列出指定天数或日期范围内的电子邮件标题
    • 支持日期过滤 start_date 和 end_date 参数
    • 日期格式: YYYY-MM (整个月)或 YYYY-MM-DD (具体日期)
  3. search_emails:按联系人姓名或关键字在时间段或日期范围内搜索电子邮件
    • 支持日期过滤 start_date 和 end_date 参数
    • 日期格式: YYYY-MM (整个月)或 YYYY-MM-DD (具体日期)
  4. get_email_by_number:检索特定电子邮件的详细内容
  5. reply_to_email_by_number:对特定电子邮件的回复
  6. compose_email:创建并发送新电子邮件

工作流示例

  1. 使用 list_folders 查看所有可用的邮件文件夹
  2. 使用 list_recent_emails 查看最近的电子邮件(例如,过去7天或特定日期范围内的电子邮件)
  3. 使用 search_emails 按日期范围内的关键字查找特定电子邮件
  4. 使用 get_email_by_number 查看完整的电子邮件
  5. 使用 reply_to_email_by_number 回复电子邮件

例子

列出最近的电子邮件

Could you show me my unread emails from the last 3 days?

按日期范围列出电子邮件

Show me all emails from January 2024 (2024-01)
List emails from 2024-01-15 to 2024-02-20
Show me emails since 2024-03-01

搜索电子邮件

Search for emails about "project update OR meeting notes" in the last week

按日期范围搜索电子邮件

Search for emails containing "budget" from 2024-01 to 2024-02
Find emails about "meeting" from 2024-01-15 to 2024-01-31

阅读电子邮件详细信息

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)
  • 使用时,电子邮件历史记录的最长时间限制为365天 days 参数
  • 日期范围过滤支持以下格式: YYYY-MM (整个月)和 YYYY-MM-DD (具体日期)
  • 搜索功能取决于Outlook的内置搜索功能
  • 仅支持基本的电子邮件功能(没有日历、联系人等)

Outlook MCP Server(中文)

Model Context Protocol(MCP)服务器提供对Microsoft Outlook电子邮件功能的访问,允许LLM和其他MCP客户端通过标准化接口读取、搜索和管理电子邮件。

机会

  • 文件夹管理:查看Outlook中所有可用的邮箱
  • 信函一览表:接收指定时间段或日期范围的邮件
  • 日期范围筛选:按特定日期范围过滤邮件(支持YYYY-MM和YYYY-MM-DD格式)
  • 搜索邮件:按联系人名称、关键字或带有OR语句的短语搜索电子邮件
  • 信的细节:查看完整的电子邮件内容,包括附件
  • 创建电子邮件:创建和发送新邮件
  • 对信函的答复:对现有信件的答复

要求

  • 操作系统Windows
  • Python 3.10或更新版本
  • 使用活动帐户安装和配置的Microsoft Outlook
  • Claude Desktop或其他与MCP兼容的客户端

安装

  1. 克隆或下载此存储库
  2. 建立必要的依赖关系:
pip install mcp>=1.2.0 pywin32>=305
  1. 配置Claude Desktop(或您最喜欢的MCP客户端)以使用此服务器

配置

Claude Desktop配置

将以下内容添加到您的文件 MCP_client_config.json:

{
  "mcpServers": {
    "outlook": {
      "command": "python",
      "args": ["Ваш путь\\outlook_mcp_server_v2.py"],
      "env": {}
    }
  }
}

Cursor配置

对于Cursor IDE,将以下内容添加到您的文件中 mcp.json (通常在 ~/.cursor/mcp.json):

重要:首先手动启动服务器或使用进程管理器:

python outlook_mcp_server_v2.py

然后将此配置添加到您的配置中。 mcp.json:

{
  "mcpServers": {
    "outlook_mcp_server": {
      "url": "http://127.0.0.1:8050/mcp",
      "connection_id": "outlook_mcp_server"
    }
  }
}

备注:在Cursor尝试连接之前,确保服务器已启动。服务器必须启用HTTP传输(默认情况下)。

使用

启动服务器

您可以直接启动服务器:

python outlook_mcp_server_v2.py

或者允许像Claude Desktop这样的MCP客户端通过配置运行它。

环境变量(可选)

服务器支持以下环境变量来配置HTTP传输:

  • MCP_TRANSPORT:传输类型(默认为StreamableHTTP)
  • MCP_HTTP_HOST:HTTP主机(默认为127.0.0.1)
  • MCP_HTTP_PORT:HTTP端口(默认为8050)
  • MCP_HTTP_PATH:HTTP路径(默认为“/mcp”)

可用工具

服务器提供以下工具:

  1. list_folders:列出Outlook中所有可用邮箱
  2. list_recent_emails:指定天数或日期范围的邮件标题列表
    • 支持带有参数的日期筛选 start_date 和 end_date
    • 日期格式: YYYY-MM (一个月)或 YYYY-MM-DD (具体日期)
  3. search_emails:按联系人名称或关键字搜索时间段或日期范围内的邮件
    • 支持带有参数的日期筛选 start_date 和 end_date
    • 日期格式: YYYY-MM (一个月)或 YYYY-MM-DD (具体日期)
  4. get_email_by_number:获取特定邮件的详细内容
  5. reply_to_email_by_number:对具体信函的答复
  6. compose_email:创建和发送新邮件

示例工作流

  1. 使用 list_folders 查看所有可用的邮箱
  2. 使用 list_recent_emails 查看最近的电子邮件(例如,过去7天或特定日期范围)
  3. 使用 search_emails 搜索日期范围内的特定关键字邮件
  4. 使用 get_email_by_number 查看完整邮件
  5. 使用 reply_to_email_by_number 回信

实例

查看最近的电子邮件

Покажи мне непрочитанные письма за последние 3 дня

按日期范围查看邮件

Покажи мне все письма за январь 2024 года (2024-01)
Покажи письма с 2024-01-15 по 2024-02-20
Покажи письма с 2024-03-01

搜索邮件

Найди письма о "обновление проекта OR заметки встречи" за последнюю неделю

按日期范围搜索邮件

Найди письма содержащие "бюджет" с 2024-01 по 2024-02
Найди письма о "встрече" с 2024-01-15 по 2024-01-31

查看信件详细信息

Покажи мне детали письма №2 из списка

回信

Ответь на письмо №3: "Спасибо за информацию. Я изучу это и отвечу завтра."

创建新邮件

Отправь письмо на john.doe@example.com с темой "Повестка встречи" и текстом "Вот повестка дня для нашей предстоящей встречи..."

解决问题

  • 连接问题验证Outlook是否已启动并正确配置
  • 访问权限错误:验证脚本是否具有访问Outlook的权限
  • 搜索问题:对于复杂的查询,请尝试在术语之间使用或运算符
  • 电子邮件访问错误:验证电子邮件ID是否有效和可用
  • 服务器故障检查连接和Outlook稳定性

安全问题

此服务器可以访问您的Outlook帐户,并可以读取、发送和管理电子邮件。仅在受信任的MCP客户端和安全环境中使用它。

限制

  • 目前只支持文本(而不是HTML)
  • 使用此选项时,最大邮件历史记录限制为365天 days
  • 日期范围筛选支持以下格式: YYYY-MM (整个月)和 YYYY-MM-DD (具体日期)
  • 搜索功能取决于内置Outlook搜索功能
  • 仅支持基本电子邮件功能(没有日历、联系人等)