AIでMicrosoft Teamsのメッセージを読む(Claude、Cursor、VS Code)— トークン不要、Graph API不要
OAuthやGraph APIなしで、AIにMicrosoft Teamsへのアクセスを与えましょう。Claude、Cursor、VS Code、ChatGPTで動作します。Mac上のローカルTeamsキャッシュを読み取ります。
なぜ他のソリューションはGraph APIを必要とするのか
Microsoft Teamsは、AIアシスタントと統合するのが最も難しい生産性アプリの1つです。Teamsのデータにプログラムからアクセスする公式の方法はMicrosoft Graph APIを経由するもので、これには次のものが必要です:
- Azure ADアプリ登録 — Microsoft Entra(旧Azure AD)で適切な権限を持つアプリを作成する必要があります
- 管理者の同意 — テナント管理者があなたのアプリのTeamsデータへのアクセスを承認しなければなりませんが、ほとんどのIT部門は付与をためらいます
- OAuthトークンの管理 — アクセストークンは期限切れになり、更新が必要で、安全に保存しなければなりません
- 委任された権限とアプリケーション権限 — 権限モデルは複雑で、適切なスコープを得るには試行錯誤が必要です
- レート制限 — Graph APIは、特にTeamsのエンドポイントに対してリクエストを積極的に制限します
ほとんどの個人や小規模チームにとって、これは始める前から無理な話です。ファイルやデータベースに接続するように、ただ“AIをTeamsに接続する”ことはできません。組織的なオーバーヘッドが膨大なのです。
LMCPがTeamsを違う方法で読み取る仕組み
LMCPはGraph APIを完全に回避します。Microsoftのサーバーへネットワークリクエストを行う代わりに、TeamsデスクトップアプリがあなたのMac上に保持しているローカルキャッシュからTeamsのデータを読み取ります。
Microsoft Teams(新バージョン、Teams 2.0とも呼ばれます)はElectronベースのアプリで、データをディスク上のLevelDBに支えられたIndexedDBデータベースに保存します。このデータベースには、最近のチャット、チャネルメッセージ、チームのメンバーシップ、会話のメタデータが含まれており — これらはすべてTeamsの通常の動作の一環としてローカルに保存されています。
LMCPは専用のパーサーを使ってこのLevelDBデータベースを直接読み取ります。ネットワークリクエストなし、APIトークンなし、管理者の承認なし。Teamsがインストールされていてサインインしていれば、あなたのメッセージはすでにディスク上にあり、LMCPはそれを読み取ることができます。
アクセスできる内容
LMCPを通じて、AIアシスタントは次のことができます:
- チャットの一覧表示 — 最近のアクティビティを含むすべての1対1およびグループの会話を確認できます
- チャットメッセージの読み取り — 任意のチャット会話の完全なメッセージ履歴を取得できます
- チームの一覧表示 — 自分が所属しているTeamsのワークスペースを確認できます
- チャネルの一覧表示 — チーム内のチャネルを閲覧できます
- チャネルメッセージの読み取り — アクセス権のある任意のチャネルからメッセージを取得できます
これは読み取り専用のアクセスです。LMCPはメッセージを送信したりTeams内の何かを変更したりすることはできません — あなたのマシンにすでにキャッシュされているものを読み取るだけです。
インストール方法
LMCPをダウンロード してインストールします:
- ダウンロードフォルダから、ダウンロードした
.dmgファイルを開きます - Local MCP をアプリケーションフォルダにドラッグします
- アプリケーションフォルダから Local MCP を開きます — メニューバーに表示されます
約30秒で完了します。AIクライアントは自動的に設定されます。
インストール後、新しいMCPツールを認識させるためにAIクライアントを再起動してください:
- Claude Desktop — 完全に終了し(Cmd+Q)、再度開きます
- Cursor — エディタを再起動します
- VS Code — ウィンドウを再読み込みします(Cmd+Shift+P → “Reload Window”)
- ChatGPT / Windsurf — アプリケーションを再起動します
Microsoft Teamsがインストールされていてサインインしていることを確認してください。LMCPが自動的にあなたのTeamsデータを検出します。
Teamsのための追加設定は不要です — APIキーも、付与する権限もありません。Teamsのデータがディスク上にあれば、LMCPがそれを見つけます。
プロンプトの例
接続したら、AIアシスタントで次のプロンプトを試してみてください:
- “今日Generalチャネルでチームは何を話し合った?” — 最近のチャネルメッセージを読み取り、要点を要約します
- “Marcoとの会話を見せて” — 特定のチャットの最近のメッセージを一覧表示します
- “デプロイの締め切りに関するメッセージを探して” — あなたのチャットやチャネルを検索します
- “今朝Teamsで見逃したことを要約して” — 複数の会話にまたがるメッセージを集約します
- “今日新しいメッセージがあるチャネルはどれ?” — 最近のアクティビティを求めてチームをスキャンします
- “デザインチームは新しいモックアップについて何と言っていた?” — 関連する議論を見つけて要約します
AIアシスタントは、忙しいチャネルの追いつきに特に役立ちます。何百ものメッセージをスクロールする代わりに、重要なことの要約を求めることができます。
制限事項
LMCPはライブAPIではなくローカルキャッシュから読み取るため、注意すべきいくつかの本質的な制限があります:
- キャッシュされたメッセージのみが利用可能 — Teamsは最近の会話をキャッシュしますが、非常に古いメッセージはディスク上にない場合があります。何ヶ月もチャットを開いていない場合、そのメッセージはキャッシュにないかもしれません。
- 読み取り専用 — メッセージを読むことはできますが、LMCPを通じて送信、編集、削除することはできません
- Teamsデスクトップアプリが必要 — Teamsのウェブ版は、LMCPが読み取れるローカルキャッシュを作成しません
- キャッシュの新しさ — キャッシュはTeamsが同期するときに更新され、これは通常Teamsの実行中にほぼリアルタイムで行われます。Teamsが閉じている場合、キャッシュは最後に開いていたときの状態を反映します。
- マルチテナント — 複数の組織にサインインしている場合、LMCPはそのすべてからデータを読み取ることができます
技術的な詳細: LevelDBの解析の仕組み
技術的に興味がある方のために、LMCPがローカルキャッシュからTeamsのデータを抽出する方法を説明します。
Microsoft Teams(新バージョン)は、データを次の場所のIndexedDBデータベースに保存します:
~/Library/Containers/com.microsoft.teams2/Data/Library/Application Support/Microsoft/Teams/Profiles/*/IndexedDB/https_teams.microsoft.com_0.indexeddb.leveldb
これはChromiumスタイルのLevelDBデータベースで、Chrome、Electronアプリ、その他のChromiumベースのアプリケーションで使われているのと同じ形式です。データには、メッセージ内容、メタデータ、タイムスタンプ、参加者情報を含むシリアライズされたJavaScriptオブジェクトが含まれています。
LMCPは ccl_chromium_reader ライブラリ — もともとデジタルフォレンジック向けに開発されたオープンソースツール — を使ってこのLevelDB形式を解析します。このライブラリは、次のようなChromiumのIndexedDB実装の複雑さを処理します:
- JavaScriptオブジェクトのためのV8シリアライズ形式
- LevelDBの追記専用ログ構造とコンパクション
- IndexedDBのオブジェクトストアとインデックスの構成
- 削除済みおよび上書きされたレコードの処理
解析されたデータはその後、AIアシスタントが扱えるクリーンなJSONに絞り込まれ、構造化されます。メッセージ内容、送信者情報、タイムスタンプ、会話のメタデータが抽出され、MCPツールを通じて利用可能になります。
このアプローチは設計上読み取り専用です — LevelDBは読み取りモードで開かれ、データが書き戻されることはありません。LMCPがあなたのTeamsキャッシュを破損させたり変更したりすることはできません。
他のアプローチとの比較
AIにTeamsのデータへのアクセスを与える方法はいくつかあります。それらを比較してみましょう:
- Microsoft Graph API — 完全な読み書きアクセスが可能ですが、Azure AD、管理者の同意、トークン管理が必要です。ITのサポートがあるエンタープライズ向けの展開に最適です。
- Microsoft 365コネクタ(公式Anthropic) — 内部でGraph APIを使用し、Entraテナント管理者のセットアップが必要です。IT部門が協力的であれば良い選択肢です。
- LMCP(ローカルキャッシュ) — 読み取り専用、設定不要、すぐに動作します。素早いアクセスが必要な個人や小規模チームに最適です。
実際のワークフロー
個々のメッセージを読むのはほんの始まりにすぎません。本当の価値は、会話をまたいで情報を統合し、行動を起こすようAIアシスタントに頼むときに生まれます:
毎日のスタンドアップの要約
今日のエンジニアリングチャネルのメッセージを読んで、各人が取り組んでいることを抽出し、ブロッカーを特定して、要約ノートを作成して。
忙しいチャネルをスクロールする代わりに、AIがすべてを読み、人ごとに整理し、ブロッカーを強調します。すべてのメッセージを読まずに情報を把握する必要があるマネージャーに最適です。
Teamsからの会議準備
過去1週間にチームがすべてのチャネルでProject Xについて話し合ったことを確認し、主要な決定事項を要約して、明日の会議で取り上げるべき未解決の質問をリストアップして。
AIが複数のチャネルをスキャンし、関連する議論を見つけ、ブリーフィング資料を準備します。あなたは慌てて追いつくのではなく、十分に情報を得た状態で会議に臨めます。
チャットからタスクを作成
今日の私のTeamsチャットを見て、タスクや私がした約束のように見えるものを見つけて、誰がいつ依頼したかとともにリストアップして。
Teamsの会話には、しばしば暗黙の約束が含まれています — “それは調べておきます”や“資料を送りますね”など。AIがこれらを見つけて表面化させるので、何も見落とすことがありません。
プロジェクトのドキュメント化
#architectureチャネルの直近50件のメッセージを読んで、API設計について行われた決定事項を抽出し、アーキテクチャ決定ログのWord文書を作成して。
重要な決定事項は、しばしばチャット履歴に埋もれてしまいます。AIがそれらを抽出し、適切な文書に構造化し、保存するので、あなたのチームは永続的な記録を持つことができます。
LMCPはAIアシスタントを メール、 Outlook、Calendar、Contacts、OneDrive、ローカルファイルにも接続します。ガイドの全リストをご覧いただくか、 local-mcp.com で詳細をご確認ください。