Skip to main content
Glama
jibberish69

Enhanced Outlook MCP Server

by jibberish69

增强型 Outlook MCP 服务器

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

特征

  • 完整的身份验证系统:使用 Microsoft Graph API 进行 OAuth 2.0 身份验证,具有令牌刷新和多用户支持

  • 电子邮件管理:列出、搜索、阅读、发送和组织带有附件支持的电子邮件

  • 日历集成:创建、修改和管理日历事件并跟踪与会者

  • 文件夹组织:创建、管理和浏览电子邮件文件夹

  • 规则引擎:创建和管理复杂的邮件处理规则

  • 模块化架构:清晰地分离关注点,以实现更好的可维护性和可扩展性

  • 增强的错误处理:详细的错误消息和日志记录

  • 测试模式:无需真实 API 调用即可进行测试的模拟响应

  • 速率限制:通过内置速率限制防止 API 节流

  • 多环境配置:支持开发、测试和生产环境

Related MCP server: Gmail MCP Server

目录结构

/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. 使用您的 Microsoft App Registration 详细信息,根据.env.example创建.env文件:

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

贡献

欢迎贡献代码!欢迎提交 Pull 请求。

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jibberish69/enhanced-outlook-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server