Outlook MCP (Model Context Protocol) Server について
Outlook MCP Server は、Microsoft Graph API を介して Outlook のカレンダー、メール、人物情報を LLM に接続します。予定管理、メール操作、人物検索のツールを提供します。
主な機能
- 01カレンダー予定の表示と管理
- 02メールの閲覧、送信、管理
- 03メール下書きの作成
- 04組織内の人物や連絡先の検索
- 05カレンダーと受信トレイのリソース提供
活用シーン
- 01指定期間の予定を確認
- 02Outlook の会議を作成または更新
- 03受信トレイのメールを整理・処理
- 04組織内の人物や最近の連絡先を検索
MCP 対応
Microsoft Graph API を介し、MCP クライアントにカレンダー、メール、人物検索のツールと、カレンダーおよび受信トレイのリソースを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
17掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| startDateTime | string | いいえ | |
| endDateTime | string | いいえ | |
| top | integer | いいえ | |
| filter | string | いいえ | |
| orderBy | string | いいえ |
詳細
Outlook MCP(Model Context Protocol)サーバー
Microsoft Graph API を通じて Microsoft Outlook と連携する Model Context Protocol サーバーです。Claude やその他の LLM が、カレンダーの予定を確認したり、新しい予定を設定したり、メールを読んだり、メッセージを送信したりできます。
機能
- 📅 カレンダー連携:カレンダーの予定の表示、一覧表示、作成、更新、削除ができます
- 📧 メール連携:Outlook アカウントのメールの閲覧、送信、下書き作成、管理ができます
- 🔁 Model Context Protocol:LLM のツール連携に関する MCP 標準に準拠しています
- 🛡️ 型安全性:Zod による検証を備えた、完全な TypeScript 実装です
前提条件
- Node.js 18+
- 適切な権限を持つ Microsoft 365 アカウント
- Graph API の権限(Calendar と Mail)を設定した Microsoft Azure アプリ登録
セットアップ
-
Azure Active Directory でアプリケーションを登録します:
-
Azure Portal にアクセスします
-
「App registrations」に移動します
-
リダイレクト URI の種類を「Public client/native (mobile & desktop)」にして、新しい登録を作成します
http://localhostをリダイレクト URI として登録します
-
API のアクセス許可を設定します:
- Microsoft Graph を選択し、ユーザーに代わって操作するため、委任されたアクセス許可を選択します
- カレンダー:「Calendars.Read」と「Calendars.ReadWrite」
- メール:「Mail.Read」、「Mail.ReadWrite」、「Mail.Send」
- ユーザー:「People.Read」
-
-
Azure アプリ登録の「Overview」にある値を確認し、MCP の設定で環境変数として使用します:
- Client ID(Application (client) ID)
- Authority ID(Directory (tenant) ID)
- MCP サーバーを登録します
Claude Desktop の場合は、
~/.claude/config.jsonで設定を新規作成または更新します:
{
"mcpServers": {
"outlook": {
"command": "npx",
"args": [
"mcp_outlook"
],
"env": {
"AUTHORITY": "your-authority-id",
"CLIENT_ID": "your-client-id",
"MCP_SERVER_NAME": "outlook-mcp",
"MCP_SERVER_VERSION": "1.0.0"
}
}
}
}
パスと環境変数を実際の値に置き換えてください。
利用可能なツール
カレンダーツール
- listCalendarEvents:指定した期間のユーザーのカレンダー予定を一覧表示します
- createCalendarEvent:新しいカレンダー予定を作成します
- getCalendarEvent:特定のカレンダー予定の詳細を取得します
- updateCalendarEvent:既存のカレンダー予定を更新します
- deleteCalendarEvent:カレンダー予定を削除します
メールツール
- listEmails:指定したフォルダー(受信トレイ、送信済み、下書きなど)のメールを一覧表示します
- getEmail:特定のメールメッセージの詳細を取得します
- sendEmail:新しいメールメッセージを送信します
- createDraft:送信せずにメールメッセージの下書きを作成します
- markEmailAsRead:メールメッセージを既読にします
- markEmailAsUnread:メールメッセージを未読にします
- deleteEmail:メールメッセージを削除します
ユーザーツール
- searchPeople 組織内のユーザーまたは最近連絡した相手を検索します
- getPerson ユーザーの情報を取得します
リソース
- calendar:カレンダーの予定データを含むリソース
- inbox:受信トレイのメッセージデータを含むリソース
開発
ライブリロードを有効にして開発モードで実行します:
npm run dev
リンティングを実行します:
npm run lint
MCP をローカルで設定します
{
"mcpServers": {
"outlook": {
"command": "node",
"args": [
"/ABSOLUTE/PATH/TO/outlook_mcp/build/index.js"
],
"env": {
"AUTHORITY": "your-authority-id",
"CLIENT_ID": "your-client-id",
"MCP_SERVER_NAME": "outlook-mcp",
"MCP_SERVER_VERSION": "1.0.0"
}
}
}
}
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。