Outlook 会議スケジューラ MCP サーバー
Microsoft Graph API を使用して Microsoft Outlook で会議をスケジュールするための MCP サーバー。
このMCPサーバーを使用すると、カレンダーイベントの作成や、参加者を指定したイベントの作成(参加者のメールアドレスの検索を含む)が可能です。GitHub MCPサーバーなどの他のMCPサーバーとシームレスに統合され、ワークフローを強化します。
サンプルクエリ
明日午後 3 時にサラとの会議をスケジュールします。
明日午後2時に「プロジェクトキックオフ」という会議を作成します。MeganとJohnを必須の出席者として追加します。
GitHub MCP サーバーでの使用
組織/リポジトリリポジトリに「ユーザーダッシュボードのページ区切りのバグを修正」というタイトルの問題を作成し、「ページ間を移動する際に重複したエントリが表示されるという報告がユーザーから寄せられています」という説明を添えてください。そして、明日午後3時にこの問題を確認するよう、カレンダーのリマインダーを設定してください。
Related MCP server: Microsoft MCP
デモ

ツール
find-person名前から相手のメールアドレスを検索する
入力:
name(文字列)返されるもの: 名前とメールアドレスが一致する人々のリスト
create-eventMicrosoft Graph API を使用してカレンダー イベントを作成する
入力:
subject(文字列): カレンダーイベントの件名body(文字列): カレンダーイベントの内容/本文start(オプション): ISO形式の日時(例:2025-04-20T12:00:00)end(オプション): ISO形式の日時(例:2025-04-20T13:00:00)timeZone(オプション): イベントのタイムゾーン (デフォルト: "GMT 標準時")
戻り値: URL と ID を含むイベントの詳細
create-event-with-attendeesMicrosoft Graph API を使用して出席者を含むカレンダー イベントを作成する
入力:
subject(文字列): カレンダーイベントの件名body(文字列): カレンダーイベントの内容/本文start(オプション): ISO形式の日時(例:2025-04-20T12:00:00)end(オプション): ISO形式の日時(例:2025-04-20T13:00:00)timeZone(オプション): イベントのタイムゾーン (デフォルト: "GMT 標準時")location(オプション): イベントの場所attendees: { メールアドレス、名前(オプション)、タイプ(オプション) } の配列
返されるもの: URL、ID、参加者リストを含むイベントの詳細
get-eventIDでカレンダーイベントの詳細を取得する
入力:
eventId(文字列): 取得するイベントのID
返されるもの: 件名、時間、出席者、URL などの詳細なイベント情報
list-eventsオプションのフィルタリングを使用してカレンダーイベントを一覧表示します
入力:
subject(オプション):このテキストを含む件名でイベントをフィルタリングしますstartDate(オプション): イベントをフィルタリングするISO形式の開始日 (例: 2025-04-20T00:00:00)endDate(オプション): イベントをフィルタリングする終了日をISO形式で指定します (例: 2025-04-20T23:59:59)maxResults(オプション): 返されるイベントの最大数
戻り値: 基本情報とIDを含むカレンダーイベントのリスト
delete-eventカレンダーイベントを削除する
入力:
eventId(文字列): 削除するイベントのID
戻り値: イベント削除の確認
update-event既存のカレンダーイベントを更新する
入力:
eventId(文字列): 更新するイベントのIDsubject(オプション):カレンダーイベントの新しい件名body(オプション): カレンダーイベントの新しいコンテンツ/本文start(オプション):ISO形式の新しい開始時刻(例:2025-04-20T12:00:00)end(オプション):ISO形式の新しい終了時刻(例:2025-04-20T13:00:00)timeZone(オプション): イベントの新しいタイムゾーンlocation(オプション): イベントの新しい場所attendees(オプション): { メールアドレス、名前(オプション)、タイプ(オプション) } の配列
戻り値: 変更内容を示す更新されたイベントの詳細
update-event-attendeesカレンダーイベントの参加者を追加または削除する
入力:
eventId(文字列): 更新するイベントのIDaddAttendees(オプション): 追加する参加者の配列: { メールアドレス、名前 (オプション)、タイプ (オプション) }removeAttendees(オプション): イベントから削除するメールアドレスの配列
戻り値: イベント参加者情報の更新
設定
Microsoft Graph API のセットアップ
Microsoft Azure ポータルでアプリケーションを登録する
クライアントシークレットを作成する
必要な権限を付与します (Microsoft Graph API > アプリケーションの権限 > Calendars.ReadWrite、People.Read.All、User.ReadBasic.All)
クライアントID、クライアントシークレット、テナントIDをメモします。
VS Codeでの使用
ローカル Node.js
ローカル ビルドから Node.js を使用して MCP サーバーを直接実行できます。
リポジトリをクローンしてプロジェクトをビルドします。
git clone https://github.com/anoopt/outlook-meetings-scheduler-mcp-server.git
cd outlook-meetings-scheduler-mcp-server
npm install
npm run build手動でインストールする場合は、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での使用
ドッカー
Dockerを使ってローカルでMCPサーバーを実行します。以下のコマンドでDockerイメージをビルドします。
docker build -t mcp/outlook-meetings-scheduler .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.これにより、次のようになります。
GitHub MCPサーバーを使用して問題を作成します
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.これにより、次のようになります。
GitHub MCPサーバーを使用してプルリクエストを見つけ、貢献者を特定する
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とは一切関係ありません。自己責任でご利用ください。このツールを使用する際は、組織のポリシーとガイドラインを遵守してください。