Claude-Read-Outlook-Attachments
M365 Attachment Reader MCP
Microsoft Graph APIを通じてOutlookメールを読み取り、メールの添付ファイルを詳細に解析するClaude用のリモートMCPサーバーです。
現在、PDF、OCR付きスキャンPDF、Word、PowerPoint、Excel、CSV、プレーンテキスト、画像、アーカイブ、およびOutlookの .msg ファイルの添付ファイル処理をサポートしています。
ステータス: Windowsベースの初期テストバージョンです。個人利用やプライベートなワークフローには機能しますが、まだ本番環境向けのマルチユーザーサービスではありません。
このプロジェクトの目的
Claudeの組み込みMicrosoft 365コネクタは、メールの一覧表示、本文の読み取り、カレンダーの確認が可能です。しかし、メール添付ファイル内の実際のコンテンツを読み取ることはできません。
つまり、「最新のメールにあるPDFには何が書かれている?」と尋ねても、Claudeは添付ファイルのメタデータは見ることができますが、その中のテキスト、表、画像、またはネストされたドキュメントの内容は把握できません。
このプロジェクトはそのギャップを埋めるものです。
機能
このサーバーは、ClaudeとMicrosoft 365の間のリモートHTTP MCPエンドポイントとして機能します。以下の処理を行います。
デバイスコードフローによるMicrosoft 365認証
Microsoft Graphを通じたOutlookメールとその添付ファイルの一覧表示
バックエンドでの添付ファイルのダウンロード
ファイルコンテンツの解析および構造化されたテキストと画像ブロックのClaudeへの直接返信
サポートされている形式
形式 | 抽出される内容 |
全テキストコンテンツ | |
スキャンPDF | OCRテキスト、およびオプションでレンダリングされたページ画像 |
DOCX | テキストおよび埋め込み画像 |
DOC | テキストコンテンツ |
PPTX / PPTM / PPSX / POTX | スライドのテキスト、ノート、および埋め込み画像 |
PPT | レガシーなテキスト抽出(ベストエフォート) |
XLSX / XLS / CSV | すべてのシートをCSVに変換 |
JPG / JPEG / PNG / GIF / WEBP / BMP / TIFF | 視覚分析用のMCP画像ブロックとして返信 |
ZIP / RAR / 7Z | アーカイブ内容を再帰的にファイル単位で解析 |
MSG | 件名、送信者、本文、および埋め込み添付ファイル |
TXT / MD / JSON / XML / HTML | 生テキスト |
Outlook | テキストコンテンツ |
画像処理は重要な差別化要因です。サーバーは、スタンドアロンの画像添付ファイルをMCP画像ブロックとして返信したり、DOCXやPPTXファイルから埋め込み画像を抽出したり、テキストレイヤーが存在しないスキャンPDFに対してはOCRで対応したりします。
MCPツール
ツール | 説明 |
| サーバーが稼働中か確認 |
| デバイスコードログインフローを開始 |
| 認証状態を確認 |
| 最近のOutlookメールを一覧表示 |
| 特定のメールの添付ファイルを一覧表示 |
| 添付ファイルをダウンロード、解析し、内容を返信 |
これらの短いツール名は、サーバーによって登録された基盤となる m365_* ツールのエイリアスです。
実際のユースケース
小売 / 販売業務
「直近5件のデイリーダッシュボードメールを取得し、Excel添付ファイルを読み取って、過去1週間の全店舗の売上傾向を分析して。」
金融 / 会計
「件名に『請求書』が含まれるベンダーからの最新メールを見つけ、PDF添付ファイルを読み取って、合計金額、支払期限、明細項目を抽出して。」
法務 / 契約レビュー
「legal@partner.comからの最新のメールを開き、WordまたはPowerPointの添付ファイルを読み取って、主要な条項を要約して。」
エグゼクティブ・レポーティング
「最新のCFOメールから週次取締役会レポートの添付ファイルを読み取り、グラフと主要な指標を要約して。」
人事 / 採用
「recruiting@company.comからの添付ファイル付きメールを見つけ、各履歴書のPDFを読み取って、候補者の比較表を作成して。」
サプライチェーン / 調達
「最新のサプライヤー見積もりアーカイブを読み取り、中のスプレッドシートを抽出して、前回の見積もりと単価を比較して。」
アーキテクチャ
Claude Chat -> Cloudflare Tunnel -> Local Express Server -> Microsoft Graph API
(public URL) (localhost:8080) (Outlook data)
|
Parse attachments
(pdf-parse, tesseract.js,
mammoth, xlsx, adm-zip,
msgreader, archive tools)ローカルテストでは、Cloudflare Quick Tunnelを使用してローカルサーバーをインターネットに公開します。Claudeは、トンネルURLを指定したカスタムコネクタ経由で接続します。
前提条件
PowerShellが利用可能なWindows 10/11
Node.js
Microsoft 365 / Outlookアカウント
カスタムコネクタをサポートするClaudeアカウント
セットアップ
1. Microsoft Entraアプリの登録
Microsoft Entra管理センターにアクセスし、「アプリの登録」 -> 「新規登録」を選択します。
名前:
m365-mcp-remoteサポートされているアカウントの種類: 任意の組織ディレクトリ内のアカウントおよび個人のMicrosoftアカウント
次に:
概要ページからアプリケーション(クライアント)IDとディレクトリ(テナント)IDをコピーします
「認証」 -> 「パブリッククライアントフローを許可する」を有効にして保存します
「APIのアクセス許可」 -> 「アクセス許可の追加」 -> 「Microsoft Graph」 -> 「委任されたアクセス許可」 ->
User.ReadとMail.Readを追加 -> 管理者の同意を与えます
2. クローンとインストール
git clone https://github.com/Zacccck/MCP.git
cd MCP
npm install3. 環境設定
cp .env.example .env.env を編集し、アプリケーションクライアントIDを入力します:
M365_CLIENT_ID=your-application-client-id-here
M365_TENANT_ID=common4. サーバーの起動
npm start以下のように表示されるはずです:
Custom M365 HTTP MCP server listening at http://127.0.0.1:8080/mcp5. Cloudflare Tunnelによる公開
新しいPowerShellウィンドウで以下を実行します:
winget install --id Cloudflare.cloudflared次に以下を実行します:
cloudflared tunnel --url http://127.0.0.1:8080生成された https://xxxxx.trycloudflare.com URLをコピーします。
6. Claudeにカスタムコネクタとして追加
Claudeチャットで:
入力エリア付近の
+ボタンをクリック「コネクタ」 -> 「コネクタを追加」 -> 「カスタムコネクタ」を開く
URLを入力:
https://xxxxx.trycloudflare.com/mcp
https:// を使用し、末尾に /mcp を含めてください。 http://127.0.0.1:8080/mcp は使用しないでください。
7. 認証
Claudeで以下のように入力します:
Please call begin_authClaudeがログインURLとデバイスコードを返します。URLを開き、コードを入力してMicrosoftログインを完了します。その後、以下で確認します:
Please call auth_status8. 使用方法
Show me my recent outlook emails with attachmentsSummarize the contents of the attachments from the email重要な制限事項
シングルユーザー: 認証状態はメモリ内に保存されます。1つのサーバーインスタンスは1つのMicrosoftアカウントに対応します。
2つのプロセスが必要: 使用中は
node server.mjsとcloudflared tunnelの両方を実行し続ける必要があります。Quick Tunnelはテスト専用: Cloudflare URLは
cloudflaredを再起動するたびに変更されます。手動セットアップが必要: Azureアプリの登録、
.env設定、コネクタ設定は依然として手動で行う必要があります。
トラブルシューティング
問題 | 解決策 |
ClaudeがMCPツールを見つけられない | NodeサーバーとCloudflareトンネルの両方が実行中か確認してください。トンネルURLが再起動後に変更された可能性があります。 |
| アプリ登録を再確認してください: サポートされているアカウントの種類、パブリッククライアントフローの許可、および |
デバイスコードが表示されない |
|
アカウントを切り替えたい | Nodeサーバーを停止し、 |
プロジェクト構造
MCP/
|-- server.mjs
|-- package.json
|-- .env.example
|-- .gitignore
|-- LICENSE
`-- README.mdロードマップ
[ ] 初回セットアップの簡素化
[ ] 再起動なしでのアカウントログアウトと切り替え
[ ] Windowsバックグラウンドサービスモード
[ ] 本番環境へのデプロイガイド
[ ] マルチユーザーセッションアーキテクチャ
[ ] OCR言語対応の拡充と大規模ファイルの要約精度の向上
セキュリティに関する注意
これはローカルテストおよびプロトタイプの実装です。公開デプロイメントに向けた本番環境対応はされていません。公開デプロイを行う前に、/mcp 前段での認証、ユーザーごとのセッション分離、安全なトークンストレージ、レート制限、および適切なインフラストラクチャが必要となります。
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Zacccck/Claude-MCP-Read-Email-Attachments'
If you have feedback or need assistance with the MCP directory API, please join our Discord server