Outlook Mail + Calendar + OneDrive + Sharepoint について
OutlookMCPServerはMicrosoft Graph経由で、Claude DesktopなどのMCP対応エージェントをMicrosoft 365のメール、カレンダー、OneDrive、SharePointに接続します。macOSでのローカル実行を想定し、Azureアプリ登録とテナント管理者の同意が必要です。
主な機能
- 01メールの作成、検索、絞り込み、分析
- 02カレンダー予定と招待の管理
- 03OneDriveファイルの検索とメタデータ確認
- 04SharePointファイルの検索とメタデータ確認
活用シーン
- 01Microsoft 365の受信トレイの確認と整理
- 02カレンダー予定の検索と更新
- 03OneDriveまたはSharePoint内のファイル検索
MCP 対応
Microsoft Graphを介して、Claude Desktopやその他のMCP対応エージェントにMicrosoft 365のメール、カレンダー、OneDrive、SharePointの操作を提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
OutlookMCPServer
このプロジェクトは、Microsoft Graph API を使用して、Claude Desktop から Microsoft 365 のメール、カレンダー、ファイルにアクセスできる MCP サーバーです。
✨ 機能
- ✅ メールへのアクセス:Claude または MCP 互換のエージェントから、受信トレイのメールの作成、返信、分類、検索、フィルタリング、分析ができます
- ✅ カレンダーのサポート:招待の検索、イベントの一覧表示、イベントの作成/更新/送信ができます
- ✅ OneDrive のサポート:ファイルの検索、ファイルのメタデータの取得ができます
- ✅ Sharepoint のサポート:ドライブの読み込み、ファイルの検索、ファイルのメタデータの取得ができます
🧱 技術スタック
msgraph(最新の Microsoft Graph SDK)DeviceCodeCredentialとTokenCachePersistenceOptionsを使用するazure.identityFastMCP— シンプルな MCP 準拠のサーバーインターフェースuv— 高速な Python の依存関係および環境管理
⚙️ 要件
現在、次の環境向けに構築されています。
- macOS 上でローカル実行する
- Claude Desktop と併用する
- Azure に登録されたアプリケーションを使用して認証する
⚠️ これを設定するには、Azure テナントの管理者アクセス権が必要です。アプリの登録には Microsoft Graph のスコープ(例:
Mail.Read、Calendars.Read)への同意が必要ですが、ほとんどの組織ではデフォルトでユーザーが同意できません。
🚀 はじめに
リポジトリをクローンして移動します
git clone https://github.com/Norcim133/OutlookMCPServer.git
cd OutlookMCPServer
環境をセットアップします
uv venv
uv sync
MCP Inspector を使用してローカルで実行します
mcp dev main.py (expect errors)
Claude でデバッグを試みる前に、Inspector で動作させるほうがはるかに簡単です。
🔐 認証のセットアップ
アプリケーションを実行する前に、次の設定が必要です。
- プロジェクトのルートに auth_cache フォルダーを作成します(注を参照):
mkdir -p auth_cache
- プロジェクトのルートに .env ファイルを作成します
touch .env
- .env に次の内容を追加します:
echo "AZURE_CLIENT_ID=<your-id-from-Azure-portal-here>" > .env
echo "AZURE_TENANT_ID=<your-id-from-Azure-portal-here>" >> .env
echo "AZURE_GRAPH_SCOPES=User.Read Mail.Read Mail.Send Mail.ReadWrite" >> .env
注:ファイルサービスには、追加の .env の値が必要です 注:初回実行時、アプリケーションは DeviceCodeCredential フローを使用して認証します。認証に成功すると、auth_cache フォルダーに auth_record.json が自動的に作成されます。
これらの権限を持つアプリケーションを登録するには、Azure テナントの管理者アクセス権が必要です。
Claude for Desktop との統合
Claude Desktop と統合するには、これを claude_desktop_config.json に追加します。
{
"mcpServers": {
"outlook": {
"command": "uv",
"args": [
"run",
"--with",
"azure-identity,mcp[cli],msgraph-core,msgraph-sdk",
"mcp",
"run",
"/absolute/path/to/OutlookMCPServer"
]
}
}
}
Claude Desktop では、Settings/Developer/Edit Config を開くと json ファイルを確認できます。
注:「command」内の「uv」を絶対パスに置き換える必要がある場合があります。
設定またはサーバーコードを変更するたびに、Claude Desktop を再起動してください。
📦 フォルダー構成
.
├── README.md
├── main.py
├── settings.py
├── auth_cache/
│ └── auth_record.json
├── mcpserver/
│ └── graph/
│ ├── __init__.py
│ ├── calendar_service.py
│ ├── controller.py
│ ├── file_service.py
│ ├── mail_service.py
│ ├── __init__.py
│ ├── auth_wrapper.py
│ ├── context_manager.py
│ ├── mail_query.py
│ ├── message_info.py
│ └── server.py
├── tests/
├── .env
├── __init__.py
├── main.py
📌 ロードマップ
- メール統合(完了)
- Claude Desktop での認証(完了)
- カレンダー統合(完了)
- OneDrive 統合(完了)
- Sharepoint 統合(完了)
📄 ライセンス
MIT
Copyright (c) 2024 Enthoosa AI
本ソフトウェアおよび関連するドキュメントファイル(以下「本ソフトウェア」)の複製を入手するすべての人に対し、本ソフトウェアを無制限に取り扱うことを無償で許可します。これには、本ソフトウェアの使用、複製、変更、結合、公開、配布、サブライセンス、および/または販売する権利が含まれます。また、本ソフトウェアを提供された人に対して、同様の権利を許可することも認められます。ただし、以下の条件に従うものとします。
上記の著作権表示および本許諾表示は、本ソフトウェアのすべての複製または実質的な部分に含めるものとします。
本ソフトウェアは「現状有姿」で提供され、商品性、特定目的への適合性、および権利非侵害性に関する保証を含むがこれらに限定されない、明示または黙示を問わず、いかなる種類の保証も伴いません。作者または著作権者は、契約、不法行為、その他の行為に起因するかを問わず、本ソフトウェアまたはその使用、その他の取引に関連して生じるいかなる請求、損害、その他の責任についても責任を負いません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。