Skip to main content
Glama

OutlookMCPサーバー

このプロジェクトは、Microsoft Graph API を使用して、Claude Desktop が Microsoft 365 のメール、カレンダー、および (近々) ファイルにアクセスできるようにする MCP サーバーです。


✨ 特徴

  • ✅メールアクセス: Claude または MCP 対応エージェントから受信トレイの作成、返信、並べ替え、検索、フィルタリング、分析を行うことができます。

  • 🔜カレンダーのサポート:日付によるリスト、メールの作成、削除(近日公開:メールの更新、検索)

  • 🚧 OneDrive サポート: メールとカレンダーが堅牢になった後の将来の方向性


Related MCP server: outlook-mcp-server

🧱 技術スタック

  • msgraph (最新の Microsoft Graph SDK)

  • DeviceCodeCredentialとTokenCachePersistenceOptionsを使用したazure.identity

  • FastMCP — シンプルなMCP準拠のサーバーインターフェース

  • uv — Python の依存関係と環境を高速に管理


⚙️ 要件

これは現在、次の目的で構築されています:

  • macOSでローカルに実行

  • Claude Desktopと一緒に使用する

  • Azure に登録されたアプリケーションを使用して認証する

⚠️ これを構成するには、 Azure テナントへの管理者アクセス権が必要です。アプリの登録には、Microsoft Graph スコープ (例: Mail.Read 、 Calendars.Read ) への同意が必要ですが、ほとんどの組織では既定でユーザーが同意できません。


🚀 はじめに

# Set up the environment
uv venv
uv pip install -r uv.lock

# Run locally using MCP Inspector
mcp dev main.py (expect errors)

Claude でデバッグする前に、Inspector で動作を確認する方がはるかに簡単です。


🔐 認証設定

アプリケーションを実行する前に、以下を設定する必要があります。

  1. プロジェクト ルートに auth_cache フォルダーを作成します (注を参照)。

mkdir -p auth_cache
  1. プロジェクトルートに.envファイルを作成する

touch .env
  1. .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

注: 初回実行時に、アプリケーションは DeviceCodeCredential フローを使用して認証し、成功した場合は auth_cache フォルダーに auth_record.json を自動的に作成します。

これらの権限を持つアプリケーションを登録するには、Azure テナントへの管理者アクセス権が必要です。


デスクトップ統合のクロード

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 では、[設定] > [開発者] > [構成の編集] で json ファイルを見つけることができます。

注意: 「コマンド」内の「uv」を絶対参照に置き換える必要があるかもしれません。

構成またはサーバー コードを変更するたびに、Claude Desktop を再起動します。


📦 フォルダ構造

.
├── README.md
├── main.py
├── settings.py
├── auth_cache/
│   └── auth_record.json
├── mcpserver/
│   └── graph/
│       ├── __init__.py
│       ├── calendar_service.py
│       ├── controller.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統合

  • Windowsサポート


📄 ライセンス

マサチューセッツ工科大学

著作権 (c) 2024 Enthoosa AI

本ソフトウェアおよび関連ドキュメント ファイル (以下「本ソフトウェア」) のコピーを入手したすべての人物は、以下の条件に従い、本ソフトウェアを無制限に扱う権利 (使用、コピー、変更、統合、公開、配布、サブライセンス、および/または販売する権利を含みますが、これに限定されません) および本ソフトウェアの提供を受けた人物が同様の行為を行うことを許可する権利を無償で付与されます。

上記の著作権表示およびこの許可通知は、ソフトウェアのすべてのコピーまたは大部分に含めるものとします。

本ソフトウェアは「現状有姿」で提供され、明示的または黙示的を問わず、商品性、特定目的への適合性、非侵害性を含むがこれらに限定されない、いかなる種類の保証も付与されません。いかなる場合においても、著作者または著作権者は、契約違反、不法行為、またはその他の行為にかかわらず、本ソフトウェア、本ソフトウェアの使用、またはその他の取り扱いに起因または関連して発生するいかなる請求、損害、またはその他の責任についても責任を負わないものとします。

Related MCP Connectors

Related MCP Servers