Microsoft 365 File Search MCP Server (SharePoint & OneDrive) について
このMCPサーバーは、SharePointとOneDriveのMicrosoft 365ファイルを検索し、内容を取得します。ファイルの検索と閲覧を必要とするワークフロー向けで、再取得に備えてファイルをローカルにキャッシュします。
主な機能
- 01Microsoft 365ファイルの検索
- 02ファイルのメタデータと要約の返却
- 03drive IDとfile IDによる内容取得
- 04ダウンロードしたファイルのローカルキャッシュ
活用シーン
- 01SharePointまたはOneDriveでのファイル検索
- 02検索結果のメタデータ確認
- 03選択したファイルの内容取得
- 04再アクセス時のキャッシュ利用
MCP 対応
MCPツールとして、ファイル検索と内容取得をクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP サーバー - Microsoft 365 ファイル検索(SharePoint と OneDrive)
概要
Microsoft 365 内で高度なファイル検索機能を提供する、Model Context Protocol(MCP)サーバーの実装です。このサーバーは、SharePoint/OneDrive のコンテンツを利用可能にすることで、効率的なファイル検索、メタデータ分析、ビジネスワークフローとの連携を実現します。
https://github.com/user-attachments/assets/bbe63c02-f6d9-4c9b-8f98-36fc22a081cc
コンポーネント
ツール
このサーバーは、2 つの主要なツールを提供します。
-
search_m365_files
M365 環境内でファイルを検索します。
入力:query(string):検索語句または条件。
戻り値:ファイルのメタデータオブジェクトの配列。メタデータには、ファイル内容の概要、drive ID、file ID などが含まれます。
-
get_file_content
特定のファイルの内容を取得します。
入力:driveid(string):親ドライブの一意の識別子。fileid(string):ファイルの一意の識別子。
戻り値:バイナリストリーム形式のファイル内容。
注:繰り返しアクセスを高速化するため、ローカルキャッシュを使用します。
キャッシュ
パフォーマンスを向上させ、重複する API 呼び出しを減らすため、このサーバーはダウンロードしたファイルをローカルにキャッシュします。大きなドキュメントや頻繁にアクセスするファイルを扱う場合に特に便利です。
- キャッシュされたファイルは、プロジェクトのルートからの相対パス
./src/mcp_m365_filesearch/.local/downloadsに保存されます。 get_file_contentを介してファイルがリクエストされると、サーバーはまずキャッシュを確認します。- ファイルがすでにキャッシュされている場合、新たな API 呼び出しを行わず、ディスクから直接返します。
この機能により、応答時間が短縮され、API レート制限を効率的に利用できます。
Claude Desktop での使用
サーバーを Claude Desktop と連携するには、claude_desktop_config.json を更新します。
"mcpServers": {
"M365 File Search (SharePoint/OneDrive)": {
"command": "uv",
"args": [
"--directory",
"full_path_to_parent_directory",
"run",
".\\src\\mcp_m365_filesearch\\server.py"
],
"env": {
"CLIENT_ID": "MSGraph Client ID",
"CLIENT_SECRET": "MS Graph Client Secret",
"TENANT_ID": "TENANT ID",
"REGION": "SEARCH REGION"
}
}
}
Microsoft Graph アプリの登録
このサーバーを使用するには、Azure Portal でアプリケーションを登録する必要があります。
- 新しいアプリケーションを登録します。
- Client ID と Tenant ID を控えます。
- Certificates & Secrets で Client Secret を作成します。
- API permissions で、次の 委任またはアプリケーション のアクセス許可を追加します。
Sites.Read.AllFiles.Read.All
- これらのアクセス許可に対して Grant admin consent をクリックします。
これらの値が MCP サーバーの env 設定に正しく設定されていることを確認してください。
ライセンス
このプロジェクトは MIT License の下でライセンスされています。
適切なクレジット表記を行えば、自由に使用、変更、配布できます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。