使用说明(Markdown 格式)
-
项目简介
- 这是一个把 Outlook 作为上下文源的 MCP 服务器实现。它将资源、工具和提示模板暴露为 MCP 客户端可调用的服务,允许 LLM 客户端读取邮件、执行邮件相关操作、渲染并应用 Prompt 模板等。
-
主要功能点
- 资源与数据:从 Outlook 加载邮件、文件夹、缓存邮件等,提供数据访问能力。
- 工具注册与执行:注册一组针对 Outlook 的工具,如查询、查看缓存、发送与转发、文件夹操作等,LLM 可以调用这些工具完成具体任务。
- 提示模板与工作流:提供用于控制 AI 行为的 Prompt 模板与工作流定义,确保交互的可控性与安全性。
- 会话与缓存管理:维护与 Outlook 的会话、缓存最近加载的邮件、并提供缓存清理与持久化能力。
- JSON-RPC 通信:通过 MCP 客户端进行请求/响应,返回结构化的 JSON-RPC 风格数据或通知。
-
安装步骤(2 种方式)
- 方法 A(推荐,不改变代码):使用 UVX 自动依赖并以 MCP 服务器模式启动
- 安装并启动
- 克隆仓库并进入项目目录
- 使用 uvx 自动安装并以开发模式运行 Outlook MCP 服务器
- 配置客户端以指向服务器(见下方配置示例)
- 安装并启动
- 方法 B(标准 Python 方式):直接用 Python 运行 MCP 服务器
- 安装依赖并启动
- git clone https://github.com/marlonluo2018/outlook-mcp-server.git
- cd outlook-mcp-server
- pip install -r requirements.txt
- python -m outlook_mcp_server
- 配置客户端以指向服务器(见下方配置示例)
- 安装依赖并启动
- 方法 A(推荐,不改变代码):使用 UVX 自动依赖并以 MCP 服务器模式启动
-
服务器配置(MCP 客户端配置说明) 说明:MCP 客户端需要配置启动命令及参数,以便与服务器建立连接。以下给出准确的配置示例信息,按常见 JSON 配置格式描述,便于直接填写到客户端配置中(无需代码块):
- 方案 1(直接运行服务器进程,命令为 Python 模块启动):
- server name: outlook-assistant
- command: python
- args: ["-m", "outlook_mcp_server"]
- 说明:该配置会让 MCP 客户端通过指定的命令启动服务器模块,服务器启动后将对外暴露 MCP 服务入口。
- 方案 2(通过 UVX 启动,包含 Outlook 自动依赖):
- server name: outlook-assistant-uvx
- command: uvx
- args: ["--with", "pywin32>=226", "--with-editable", ".", "outlook-mcp-server"]
- 说明:若环境支持 UVX 自动化依赖,该方案可简化部署和依赖安装。
- 方案 1(直接运行服务器进程,命令为 Python 模块启动):
-
基本使用方法
- 运行服务器后,LLM 客户端发送 MCP 请求(如读取资源、调用工具、获取 Prompt),服务器返回 JSON-RPC 风格响应。
- 常用操作包括:从 Outlook 加载最近邮件、按主题/发件人/收件人/正文筛选、查看缓存、回复/撰写邮件、批量转发等。
- 客户端应在需要时调用工具并获取结果,服务器会通过工具注册表返回处理结果。
-
运行环境与约束
- 需要运行在 Windows 系统且安装有 Microsoft Outlook(需运行中),以及 Python 3.8+(部分实现针对 Windows COM 接口)。
- 服务器通过 COM 访问 Outlook 对象模型,涉及 Outlook 会话管理、文件夹路径、邮件项等操作。
- 代码结构包括工具注册、CLI/交互界面、后台缓存、服务器入口(使用 FastMCP 实现 MCP 服务端)等模块。
-
备注
- 该实现倾向于把 Outlook 作为上下文数据源,提供可扩展的工具和缓存机制,便于将来扩展更多数据源或工具。实际部署时请确保 Outlook 安装与权限、以及运行环境对 COM 的访问权限满足要求。
信息
分类
通信与社交