返回市场
增强型展望MCP

增强型展望MCP

作者:jibberish6914 星标更新:2025-04-05

项目介绍

增强型Outlook MCP服务器

这是一个增强的模块化实现的Outlook MCP(模型上下文协议)服务器,通过Microsoft Graph API连接Claude与Microsoft Outlook。该服务器提供了一整套工具用于电子邮件、日历、文件夹管理和规则创建。

功能

  • 完整的认证系统:支持OAuth 2.0认证,与Microsoft Graph API集成,具有令牌刷新和多用户支持功能
  • 电子邮件管理:列出、搜索、阅读、发送和组织电子邮件,并支持附件
  • 日历集成:创建、修改和管理日历事件,包括参会者跟踪
  • 文件夹组织:创建、管理和浏览电子邮件文件夹
  • 规则引擎:创建和管理复杂的邮件处理规则
  • 模块化架构:清晰的责任分离,便于维护和扩展
  • 增强的错误处理:详细的错误消息和日志记录
  • 测试模式:模拟响应以进行测试,无需实际API调用
  • 速率限制:内置速率限制防止API节流
  • 多环境配置:支持开发、测试和生产环境

目录结构

/enhanced-outlook-mcp/
├── index.js                     # 主入口点
├── config.js                    # 配置设置
├── .env.example                 # 示例环境变量
├── auth/                        # 认证模块
│   ├── index.js                 # 认证导出
│   ├── token-manager.js         # 令牌存储和刷新
│   ├── multi-user-support.js    # 多用户支持
│   └── tools.js                 # 认证相关工具
├── email/                       # 电子邮件功能
│   ├── index.js                 # 电子邮件导出
│   ├── list.js                  # 列出电子邮件
│   ├── search.js                # 搜索电子邮件
│   ├── read.js                  # 阅读电子邮件
│   ├── send.js                  # 发送电子邮件
│   └── attachments.js           # 处理电子邮件附件
├── calendar/                    # 日历功能
│   ├── index.js                 # 日历导出
│   ├── create-event.js          # 创建日历事件
│   ├── list-events.js           # 列出日历事件
│   ├── update-event.js          # 更新日历事件
│   └── delete-event.js          # 删除日历事件
├── folder/                      # 文件夹管理
│   ├── index.js                 # 文件夹导出
│   ├── list.js                  # 列出文件夹
│   ├── create.js                # 创建文件夹
│   └── move.js                  # 在文件夹之间移动项目
├── rules/                       # 邮件规则功能
│   ├── index.js                 # 规则导出
│   ├── create.js                # 创建邮件规则
│   ├── list.js                  # 列出邮件规则
│   └── delete.js                # 删除邮件规则
└── utils/                       # 工具函数
    ├── graph-api.js             # Microsoft Graph API辅助工具
    ├── odata-helpers.js         # OData查询构建
    ├── logger.js                # 日志记录工具
    ├── rate-limiter.js          # API速率限制
    └── mock-data/               # 测试模式模拟数据
        ├── emails.js            # 模拟电子邮件数据
        ├── folders.js           # 模拟文件夹数据
        ├── calendar.js          # 模拟日历数据
        └── rules.js             # 模拟规则数据

安装

  1. 克隆仓库:

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

    npm install
    
  3. 根据.env.example创建一个.env文件,并填写您的Microsoft应用注册详细信息:

    MS_CLIENT_ID=your_client_id
    MS_CLIENT_SECRET=your_client_secret
    # 其他配置选项
    

使用Claude

  1. 配置Claude使用MCP服务器,在您的Claude配置中添加以下内容:

    {
      "tools": [
        {
          "name": "enhanced-outlook-mcp",
          "url": "http://localhost:3000",
          "auth": {
            "type": "none"
          }
        }
      ]
    }
    
  2. 启动MCP服务器:

    npm start
    
  3. 在另一个终端中启动认证服务器:

    npm run auth-server
    
  4. 使用Claude中的认证工具来启动认证流程。

认证流程

  1. 在配置的端口上启动认证服务器(默认:3333)
  2. 使用authenticate工具获取认证URL
  3. 在浏览器中完成认证
  4. 令牌安全地存储在配置的位置

开发

要在开发模式下运行服务器并自动重新加载:

npm run dev

要运行测试:

npm test

许可证

MIT许可证

贡献

欢迎贡献!请随意提交Pull Request。