強化された Outlook MCP サーバー
これは、Microsoft Graph APIを介してClaudeとMicrosoft Outlookを接続する、Outlook MCP(Model Context Protocol)サーバーの拡張モジュール実装です。このサーバーは、メール、予定表、フォルダー管理、ルール作成のための堅牢なツールセットを提供します。
特徴
- 完全な認証システム: トークンの更新と複数ユーザーのサポートを備えた 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
インストール
- リポジトリをクローンします。
git clone https://github.com/your-username/enhanced-outlook-mcp.git
cd enhanced-outlook-mcp
- 依存関係をインストールします:
- Microsoft アプリ登録の詳細を使用して、
.env.example
に基づいて.env
ファイルを作成します。MS_CLIENT_ID=your_client_id
MS_CLIENT_SECRET=your_client_secret
# Additional configuration options
クロードとの使用
- Claude 構成に以下を追加して、Claude が MCP サーバーを使用するよう構成します。
{
"tools": [
{
"name": "enhanced-outlook-mcp",
"url": "http://localhost:3000",
"auth": {
"type": "none"
}
}
]
}
- MCP サーバーを起動します。
- 別のターミナルで、認証サーバーを起動します。
- 認証フローを開始するには、Claude の認証ツールを使用します。
認証フロー
- 設定されたポートで認証サーバーを起動します(デフォルト: 3333)
authenticate
ツールを使用して認証URLを取得します- ブラウザで認証を完了してください
- トークンは設定された場所に安全に保存されます
発達
自動リロード付きの開発モードでサーバーを実行するには:
テストを実行するには:
ライセンス
MITライセンス
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。