使用说明

项目简介

Enhanced Outlook MCP Server 是一个增强型的模块化 MCP 服务器实现,旨在通过 Microsoft Graph API 将 Claude 等 LLM 应用连接到 Microsoft Outlook。它提供了一套强大的工具,用于管理电子邮件、日历、文件夹以及创建邮件规则,从而扩展了 LLM 在 Outlook 环境中的应用能力。

主要功能点

  • 完整的身份验证系统: 基于 OAuth 2.0 的 Microsoft Graph API 身份验证,支持令牌刷新和多用户。
  • 邮件管理: 支持邮件的列表、搜索、读取、发送和组织,包括附件处理。
  • 日历集成: 支持日历事件的创建、修改和管理,包括与会者跟踪。
  • 文件夹组织: 支持电子邮件文件夹的创建、管理和导航。
  • 规则引擎: 支持创建和管理复杂的邮件处理规则。
  • 模块化架构: 清晰的模块划分,易于维护和扩展。
  • 增强的错误处理: 提供详细的错误消息和日志记录。
  • 测试模式: 支持模拟 API 响应,无需真实 API 调用即可进行测试。
  • 速率限制: 内置速率限制,防止 API 节流。
  • 多环境配置: 支持开发、测试和生产环境配置。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/jibberish69/enhanced-outlook-mcp.git
    cd enhanced-outlook-mcp
  2. 安装依赖:

    npm install
  3. 配置环境变量: 复制 '.env.example' 文件并重命名为 '.env',根据示例文件填写你的 Microsoft 应用注册信息,例如 'MS_CLIENT_ID' 和 'MS_CLIENT_SECRET'。

服务器配置

为了让 MCP 客户端(例如 Claude)连接到 Enhanced Outlook MCP Server,你需要配置客户端的 'tools' 部分。以下是一个配置示例,你需要将其添加到你的 MCP 客户端配置中:

{
  "tools": [
    {
      "name": "enhanced-outlook-mcp",  // 你为该 MCP 服务器定义的名字,客户端用此名字来调用工具
      "url": "http://localhost:3000", // MCP 服务器的 URL 地址,默认端口为 3000
      "auth": {
        "type": "none" // 本示例配置为 "none",实际使用中可能需要配置身份验证方式,但此服务器的身份验证流程在其内部工具中处理
      },
      "description": "连接 Microsoft Outlook 的 MCP 服务器,提供邮件、日历等功能。" // (可选) 对该工具的描述
    }
  ]
}

配置参数说明:

  • 'name': MCP 服务器的名称,客户端通过此名称引用工具集。
  • 'url': MCP 服务器的访问地址,通常是服务器运行的主机地址和端口。
  • 'auth': 身份验证配置,这里设置为 'none',因为该服务器的身份验证流程是通过其提供的 'authenticate' 工具动态完成的。实际使用中,如果需要更复杂的客户端认证,可能需要调整。
  • 'description': (可选) 对该 MCP 服务器的描述,帮助用户理解其功能。

注意: 'command' 和 'args' 字段通常用于配置需要客户端启动的本地进程,但对于 'enhanced-outlook-mcp' 来说,它是一个独立的服务器,需要你手动启动。因此,MCP 客户端配置中主要关注 'url' 和 'name' 即可。启动命令将在 基本使用方法 中说明。

基本使用方法

  1. 启动 MCP 服务器: 在仓库根目录下,运行以下命令启动 Enhanced Outlook MCP Server:

    npm start

    这将启动主 MCP 服务器,监听在配置文件中指定的端口(默认为 3000)。

  2. 启动身份验证服务器: 在另一个终端窗口中,运行以下命令启动身份验证服务器:

    npm run auth-server

    身份验证服务器默认监听端口 3333,用于处理 OAuth 2.0 身份验证流程。

  3. 在 MCP 客户端中使用 'authenticate' 工具进行身份验证: 在你的 MCP 客户端(例如 Claude),使用 'authenticate' 工具来启动 Microsoft Outlook 身份验证流程。工具会返回一个身份验证 URL,你需要复制 URL 并在浏览器中打开完成身份验证。

  4. 使用其他工具: 成功完成身份验证后,你就可以在 MCP 客户端中使用其他工具,例如 'list_emails'(列出邮件)、'create_event'(创建日历事件)等,来与 Microsoft Outlook 进行交互。工具的具体参数和使用方法请参考每个工具的描述信息。

示例工作流程:

  • 用户在 Claude 中指示:“帮我列出今天下午 3 点到 5 点的日历事件”。
  • Claude 调用 'enhanced-outlook-mcp' 的 'list_events' 工具,并传递 'startDateTime' 和 'endDateTime' 参数。
  • Enhanced Outlook MCP Server 接收请求,使用已认证用户的 Microsoft Graph API 令牌查询日历事件,并将结果返回给 Claude。
  • Claude 将日历事件信息呈现给用户。

信息

分类

生产力应用