Outlook Meetings Scheduler MCP Server

by anoopt
Verified
ISC License
34
  • Apple

Integrations

  • Provides Docker-based deployment options for running the MCP server in a containerized environment, with configuration examples for both VS Code and Claude Desktop.

  • Enables integration with GitHub for creating issues, finding pull requests, and identifying contributors, allowing combined workflows such as creating GitHub issues and scheduling follow-up meetings.

  • Supports running the MCP server directly with Node.js from a local build, allowing for custom deployment and configuration.

Outlook 会議スケジューラ MCP サーバー

Microsoft Graph API を使用して Microsoft Outlook で会議をスケジュールするための MCP サーバー。

このMCPサーバーを使用すると、カレンダーイベントの作成や、参加者を指定したイベントの作成(参加者のメールアドレスの検索を含む)が可能です。GitHub MCPサーバーなどの他のMCPサーバーとシームレスに統合され、ワークフローを強化します。

サンプルクエリ

  • 明日午後 3 時にサラとの会議をスケジュールします。
  • 明日午後2時に「プロジェクトキックオフ」という会議を作成します。MeganとJohnを必須の出席者として追加します。

GitHub MCP サーバーでの使用

  • 組織/リポジトリリポジトリに「ユーザーダッシュボードのページ区切りのバグを修正」というタイトルの問題を作成し、「ページ間を移動する際に重複したエントリが表示されるという報告がユーザーから寄せられています」という説明を添えてください。そして、明日午後3時にこの問題を確認するよう、カレンダーのリマインダーを設定してください。

ツール

  1. find-person
    • 名前から相手のメールアドレスを検索する
    • 入力: name (文字列)
    • 返されるもの: 名前とメールアドレスが一致する人々のリスト
  2. create-event
    • Microsoft Graph API を使用してカレンダー イベントを作成する
    • 入力:
      • subject (文字列): カレンダーイベントの件名
      • body (文字列): カレンダーイベントの内容/本文
      • start (オプション): ISO形式の日時(例:2025-04-20T12:00:00)
      • end (オプション): ISO形式の日時(例:2025-04-20T13:00:00)
      • timeZone (オプション): イベントのタイムゾーン (デフォルト: "GMT 標準時")
    • 戻り値: URL と ID を含むイベントの詳細
  3. create-event-with-attendees
    • Microsoft Graph API を使用して出席者を含むカレンダー イベントを作成する
    • 入力:
      • subject (文字列): カレンダーイベントの件名
      • body (文字列): カレンダーイベントの内容/本文
      • start (オプション): ISO形式の日時(例:2025-04-20T12:00:00)
      • end (オプション): ISO形式の日時(例:2025-04-20T13:00:00)
      • timeZone (オプション): イベントのタイムゾーン (デフォルト: "GMT 標準時")
      • location (オプション): イベントの場所
      • attendees : { メールアドレス、名前(オプション)、タイプ(オプション) } の配列
    • 返されるもの: URL、ID、参加者リストを含むイベントの詳細
  4. get-event
    • IDでカレンダーイベントの詳細を取得する
    • 入力:
      • eventId (文字列): 取得するイベントのID
    • 返されるもの: 件名、時間、出席者、URL などの詳細なイベント情報
  5. list-events
    • オプションのフィルタリングを使用してカレンダーイベントを一覧表示します
    • 入力:
      • subject (オプション):このテキストを含む件名でイベントをフィルタリングします
      • startDate (オプション): イベントをフィルタリングするISO形式の開始日 (例: 2025-04-20T00:00:00)
      • endDate (オプション): イベントをフィルタリングする終了日をISO形式で指定します (例: 2025-04-20T23:59:59)
      • maxResults (オプション): 返されるイベントの最大数
    • 戻り値: 基本情報とIDを含むカレンダーイベントのリスト
  6. delete-event
    • カレンダーイベントを削除する
    • 入力:
      • eventId (文字列): 削除するイベントのID
    • 戻り値: イベント削除の確認
  7. update-event
    • 既存のカレンダーイベントを更新する
    • 入力:
      • eventId (文字列): 更新するイベントのID
      • subject (オプション):カレンダーイベントの新しい件名
      • body (オプション): カレンダーイベントの新しいコンテンツ/本文
      • start (オプション):ISO形式の新しい開始時刻(例:2025-04-20T12:00:00)
      • end (オプション):ISO形式の新しい終了時刻(例:2025-04-20T13:00:00)
      • timeZone (オプション): イベントの新しいタイムゾーン
      • location (オプション): イベントの新しい場所
      • attendees (オプション): { メールアドレス、名前(オプション)、タイプ(オプション) } の配列
    • 戻り値: 変更内容を示す更新されたイベントの詳細
  8. update-event-attendees
    • カレンダーイベントの参加者を追加または削除する
    • 入力:
      • eventId (文字列): 更新するイベントのID
      • addAttendees (オプション): 追加する参加者の配列: { メールアドレス、名前 (オプション)、タイプ (オプション) }
      • removeAttendees (オプション): イベントから削除するメールアドレスの配列
    • 戻り値: イベント参加者情報の更新

設定

Microsoft Graph API のセットアップ

  1. Microsoft Azure ポータルでアプリケーションを登録する
  2. クライアントシークレットを作成する
  3. 必要な権限を付与します (Microsoft Graph API > アプリケーションの権限 > Calendars.ReadWrite、People.Read.All、User.ReadBasic.All)
  4. クライアントID、クライアントシークレット、テナントIDをメモします。

VS Codeでの使用

ローカル Node.js

ローカル ビルドから Node.js を使用して MCP サーバーを直接実行できます。

  1. リポジトリをクローンしてプロジェクトをビルドします。
git clone https://github.com/anoopt/outlook-meetings-scheduler-mcp-server.git cd outlook-meetings-scheduler-mcp-server npm install npm run build
  1. 手動でインストールする場合は、VS Code のユーザー設定 (JSON) ファイルに次の JSON ブロックを追加します。Ctrl Ctrl + Shift + Pを押して「Preferences: Open User Settings (JSON)と入力すると、このブロックを追加できます。

オプションとして、ワークスペース内の.vscode/mcp.jsonというファイルに追加することもできます。これにより、他のユーザーと設定を共有できるようになります。

{ "mcpServers": { "outlook-meetings-scheduler": { "command": "node", "args": [ "/path/to/outlook-meetings-scheduler-mcp-server/build/index.js" ], "env": { "CLIENT_ID": "<YOUR_CLIENT_ID>", "CLIENT_SECRET": "<YOUR_CLIENT_SECRET>", "TENANT_ID": "<YOUR_TENANT_ID>", "USER_EMAIL": "<YOUR_EMAIL>" } } } }

/path/to/outlook-meetings-scheduler-mcp-serverクローンしたリポジトリへの絶対パスに置き換えます。

ドッカー

Dockerを使ってローカルでMCPサーバーを実行します。以下のコマンドでDockerイメージをビルドします。

docker build -t mcp/outlook-meetings-scheduler .

手動でインストールする場合は、VS Code のユーザー設定 (JSON) ファイルに次の JSON ブロックを追加します。Ctrl Ctrl + Shift + Pを押して「Preferences: Open User Settings (JSON)と入力すると、このブロックを追加できます。

オプションとして、ワークスペース内の.vscode/mcp.jsonというファイルに追加することもできます。これにより、他のユーザーと設定を共有できるようになります。

{ "inputs": [ { "type": "promptString", "id": "client_secret", "description": "Enter the client secret", "password": true } ], "servers": { "outlook-meetings-scheduler": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "CLIENT_ID", "-e", "CLIENT_SECRET", "-e", "TENANT_ID", "-e", "USER_EMAIL", "mcp/outlook-meetings-scheduler" ], "env": { "USER_EMAIL": "<YOUR_EMAIL>", "CLIENT_ID": "<YOUR_CLIENT_ID>", "CLIENT_SECRET": "${input:client_secret}", "TENANT_ID": "<YOUR_TENANT_ID>" } } } }

NPX

{ "mcpServers": { "outlook-meetings-scheduler": { "command": "npx", "args": [ "-y", "outlook-meetings-scheduler" ], "env": { "CLIENT_ID": "<YOUR_CLIENT_ID>", "CLIENT_SECRET": "<YOUR_CLIENT_SECRET>", "TENANT_ID": "<YOUR_TENANT_ID>", "USER_EMAIL": "<YOUR_EMAIL>" } } } }

Claude Desktopでの使用

ドッカー

  1. Dockerを使ってローカルでMCPサーバーを実行します。以下のコマンドでDockerイメージをビルドします。
docker build -t mcp/outlook-meetings-scheduler .
  1. claude_desktop_config.jsonに以下を追加します。
{ "mcpServers": { "outlook-meetings-scheduler": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "CLIENT_ID", "-e", "CLIENT_SECRET", "-e", "TENANT_ID", "-e", "USER_EMAIL", "mcp/outlook-meetings-scheduler" ], "env": { "CLIENT_ID": "<YOUR_CLIENT_ID>", "CLIENT_SECRET": "<YOUR_CLIENT_SECRET>", "TENANT_ID": "<YOUR_TENANT_ID>", "USER_EMAIL": "<YOUR_EMAIL>" } } } }

NPX

{ "mcpServers": { "outlook-meetings-scheduler": { "command": "npx", "args": [ "-y", "outlook-meetings-scheduler" ], "env": { "CLIENT_ID": "<YOUR_CLIENT_ID>", "CLIENT_SECRET": "<YOUR_CLIENT_SECRET>", "TENANT_ID": "<YOUR_TENANT_ID>", "USER_EMAIL": "<YOUR_EMAIL>" } } } }

シナリオ例

GitHub MCPサーバーとの統合

この MCP サーバーを GitHub MCP サーバーなどの他の MCP サーバーと組み合わせて、強力なワークフローを実現できます。

問題を作成し、フォローアップレビューをスケジュールする

Create an issue in the organization/repo repository titled "Fix pagination bug in user dashboard" with the description "Users report seeing duplicate entries when navigating between pages." Then schedule a calendar reminder for me to review this issue tomorrow at 3 PM.

これにより、次のようになります。

  1. GitHub MCPサーバーを使用して問題を作成します
  2. Outlook 会議スケジューラ MCP サーバーを使用して、レビュー用のカレンダーイベントを作成します。

プルリクエストに基づいてコードレビュー会議をスケジュールする

Find the open PR about the authentication feature in the organization/app-backend repository and schedule a code review meeting with the contributors for tomorrow morning.

これにより、次のようになります。

  1. GitHub MCPサーバーを使用してプルリクエストを見つけ、貢献者を特定する
  2. Outlook 会議スケジューラ MCP サーバーを使用して、チームメンバーとの会議をスケジュールします。

マルチMCPセットアップの構成

GitHub サーバーと Outlook MCP サーバーの両方を一緒に使用するには:

{ "mcpServers": { "outlook-meetings-scheduler": { "command": "npx", "args": [ "-y", "outlook-meetings-scheduler" ], "env": { "CLIENT_ID": "<YOUR_CLIENT_ID>", "CLIENT_SECRET": "<YOUR_CLIENT_SECRET>", "TENANT_ID": "<YOUR_TENANT_ID>", "USER_EMAIL": "<YOUR_EMAIL>" } }, "github": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/github-mcp" ], "env": { "GITHUB_TOKEN": "<YOUR_GITHUB_TOKEN>" } } } }

直接使用

同僚のメールアドレスを見つける

I need to schedule a meeting with John Smith. Can you find his email address?

シンプルなカレンダーイベントを作成する

Schedule a meeting titled "Weekly Team Sync" for next Monday at 10 AM with the following agenda: - Project updates - Resource allocation - Questions and concerns

参加者が1人だけの会議のスケジュール

Schedule a 1:1 meeting with Sarah for tomorrow at 3 PM.

これにより、Sarah のメールアドレスが検索され、カレンダーイベントが作成されます。Sarah のメールアドレスを検索するために、MCP サーバーはfind-personツールを使用します。このツールは、Microsoft Graph API を使用してUSER_EMAILに関連する人物を検索するか、組織内でその名前を検索します。

複数の参加者がいる会議のスケジュール

Create a meeting called "Project Kickoff" for tomorrow at 2 PM. Add sarah.jones@example.com and mike.thompson@example.com as required attendees. The agenda is: 1. Project overview 2. Timeline discussion 3. Role assignments 4. Next steps

建てる

# Install dependencies npm install # Build the project npm run build # Docker build docker build -t mcp/outlook-meetings-scheduler .

ライセンス

このMCPサーバーはISCライセンスに基づいてライセンスされています。詳細については、プロジェクトリポジトリのLICENSEファイルをご覧ください。

免責事項

このMCPサーバーは、MicrosoftまたはMicrosoft Graph APIとは一切関係ありません。自己責任でご利用ください。このツールを使用する際は、組織のポリシーとガイドラインを遵守してください。

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Microsoft Graph API を使用して Microsoft Outlook で会議をスケジュールできるようにします。カレンダー イベントを作成したり、電子メール アドレスを見つけて出席者を追加したりする機能があります。

  1. Sample queries
    1. Usage with GitHub MCP Server
  2. Tools
    1. Setup
      1. Microsoft Graph API Setup
      2. Usage with VS Code
      3. Usage with Claude Desktop
    2. Example Scenarios
      1. Integration with GitHub MCP Server
    3. Configuration for Multi-MCP Setup
      1. Direct Usage
    4. Build
      1. License
        1. Disclaimer
          ID: xi1vcrjgku