Skip to main content
Glama
jibberish69

Enhanced Outlook MCP Server

by jibberish69

強化された Outlook MCP サーバー

これは、Microsoft Graph APIを介してClaudeとMicrosoft Outlookを接続する、Outlook MCP(Model Context Protocol)サーバーの拡張モジュール実装です。このサーバーは、メール、予定表、フォルダー管理、ルール作成のための堅牢なツールセットを提供します。

特徴

  • 完全な認証システム: トークンの更新と複数ユーザーのサポートを備えた Microsoft Graph API による OAuth 2.0 認証

  • メール管理: 添付ファイルのサポートにより、メールの一覧表示、検索、閲覧、送信、整理が可能

  • カレンダー統合: 出席者追跡機能を備えたカレンダーイベントの作成、変更、管理

  • フォルダの整理: メールフォルダの作成、管理、ナビゲート

  • ルールエンジン:複雑なメール処理ルールを作成および管理します

  • モジュラーアーキテクチャ:保守性と拡張性を向上させるために、関心事を明確に分離します。

  • 強化されたエラー処理: 詳細なエラーメッセージとログ

  • テストモード: 実際のAPI呼び出しなしでテストするためのシミュレートされた応答

  • レート制限: 組み込みのレート制限で API スロットリングを防止

  • マルチ環境構成:開発、テスト、本番環境のサポート

Related MCP server: Office 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 アプリ登録の詳細を使用して、 .env.exampleに基づいて.envファイルを作成します。

    MS_CLIENT_ID=your_client_id
    MS_CLIENT_SECRET=your_client_secret
    # Additional configuration options

クロードとの使用

  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ライセンス

貢献

貢献を歓迎します!お気軽にプルリクエストを送信してください。

Related MCP Connectors

Related MCP Servers