使用说明(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
      • 配置客户端以指向服务器(见下方配置示例)
  • 服务器配置(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 自动化依赖,该方案可简化部署和依赖安装。
  • 基本使用方法

    • 运行服务器后,LLM 客户端发送 MCP 请求(如读取资源、调用工具、获取 Prompt),服务器返回 JSON-RPC 风格响应。
    • 常用操作包括:从 Outlook 加载最近邮件、按主题/发件人/收件人/正文筛选、查看缓存、回复/撰写邮件、批量转发等。
    • 客户端应在需要时调用工具并获取结果,服务器会通过工具注册表返回处理结果。
  • 运行环境与约束

    • 需要运行在 Windows 系统且安装有 Microsoft Outlook(需运行中),以及 Python 3.8+(部分实现针对 Windows COM 接口)。
    • 服务器通过 COM 访问 Outlook 对象模型,涉及 Outlook 会话管理、文件夹路径、邮件项等操作。
    • 代码结构包括工具注册、CLI/交互界面、后台缓存、服务器入口(使用 FastMCP 实现 MCP 服务端)等模块。
  • 备注

    • 该实现倾向于把 Outlook 作为上下文数据源,提供可扩展的工具和缓存机制,便于将来扩展更多数据源或工具。实际部署时请确保 Outlook 安装与权限、以及运行环境对 COM 的访问权限满足要求。

信息

分类

通信与社交