Outlook集成服务器

一个增强型的模块化Outlook MCP服务器,通过Microsoft Graph API连接Claude与Microsoft Outlook,提供电子邮件、日历、文件夹管理和规则创建等功能。

  • by jibberish69
  • JavaScript
  • 本地部署
  • 19 星标
  • 更新于
在 GitHub 查看 jibberish69/enhanced-outlook-mcp

使用说明

增强型Outlook MCP服务器

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

特性

  • 完整的身份验证系统:使用Microsoft Graph API进行OAuth 2.0身份验证,并提供令牌刷新和多用户支持
  • 电子邮件管理:使用附件支持列出、搜索、阅读、发送和组织电子邮件
  • 日历集成:创建、修改和管理带有与会者跟踪功能的日历事件
  • 文件夹组织:创建、管理和浏览电子邮件文件夹
  • 规则引擎:创建和管理复杂的邮件处理规则
  • 模块化架构:清晰地分离关注点,以提高可维护性和可扩展性
  • 增强的错误处理:详细的错误消息和日志记录
  • 测试模式:在没有实际API调用的情况下进行测试的模拟响应
  • 速率限制:通过内置速率限制阻止API节流
  • 多环境配置:支持开发、测试和生产环境

目录结构

/enhanced-outlook-mcp/
├── index.js                     # Main entry point
├── config.js                    # Configuration settings
├── .env.example                 # Example environment variables
├── auth/                        # Authentication modules
│   ├── index.js                 # Authentication exports
│   ├── token-manager.js         # Token storage and refresh
│   ├── multi-user-support.js    # Multiple user support
│   └── tools.js                 # Auth-related tools
├── email/                       # Email functionality
│   ├── index.js                 # Email exports
│   ├── list.js                  # List emails
│   ├── search.js                # Search emails
│   ├── read.js                  # Read email
│   ├── send.js                  # Send email
│   └── attachments.js           # Handle email attachments
├── calendar/                    # Calendar functionality
│   ├── index.js                 # Calendar exports
│   ├── create-event.js          # Create calendar events
│   ├── list-events.js           # List calendar events
│   ├── update-event.js          # Update calendar events
│   └── delete-event.js          # Delete calendar events
├── folder/                      # Folder management
│   ├── index.js                 # Folder exports
│   ├── list.js                  # List folders
│   ├── create.js                # Create folders
│   └── move.js                  # Move items between folders
├── rules/                       # Mail rules functionality
│   ├── index.js                 # Rules exports
│   ├── create.js                # Create mail rules
│   ├── list.js                  # List mail rules
│   └── delete.js                # Delete mail rules
└── utils/                       # Utility functions
    ├── graph-api.js             # Microsoft Graph API helper
    ├── odata-helpers.js         # OData query building
    ├── logger.js                # Logging utility
    ├── rate-limiter.js          # API rate limiting
    └── mock-data/               # Test mode mock data
        ├── emails.js            # Mock email data
        ├── folders.js           # Mock folder data
        ├── calendar.js          # Mock calendar data
        └── rules.js             # Mock rules data

安装

  1. 克隆存储库:

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

    npm install
    
  3. 创建一个 .env 文件基于 .env.example 使用您的Microsoft应用程序注册详细信息:

    MS_CLIENT_ID=your_client_id
    MS_CLIENT_SECRET=your_client_secret
    # Additional configuration options
    

与Claude一起使用

  1. 通过在Claude配置中添加以下内容来配置Claude以使用MCP服务器:

    {
      "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许可证

贡献

欢迎投稿!请随时提交拉取请求。