mcpField
M
MCP Server - Microsoft 365 File Search  (SharePoint & OneDrive)

MCP Server - Microsoft 365 File Search (SharePoint & OneDrive)

ローカル
github.com/godwin3737検索1181 週間前に更新

MCP Server - Microsoft 365 File Search (SharePoint & OneDrive) について

Microsoft 365のSharePointとOneDrive内のファイルを検索し、内容を取得するMCPサーバーです。ファイルのメタデータや文書へのアクセスが必要なクライアント向けで、再取得に備えてローカルキャッシュを利用します。

主な機能

  1. 01SharePointとOneDriveのファイル検索
  2. 02ファイルのメタデータと要約の取得
  3. 03ファイル内容の取得
  4. 04ダウンロードファイルのローカルキャッシュ

活用シーン

  1. 01条件を指定したファイル検索
  2. 02検索結果のメタデータ確認
  3. 03選択したファイルの閲覧
  4. 04キャッシュ済みファイルの再利用

MCP 対応

Microsoft 365のファイル検索と内容取得をMCPツールとして公開します。クライアントはクエリで検索し、drive IDとfile IDを指定して内容を取得できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの 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 でアプリケーションを登録する必要があります。

  1. 新しいアプリケーションを登録します。
  2. Client ID と Tenant ID を控えます。
  3. Certificates & Secrets で Client Secret を作成します。
  4. API permissions で、次の 委任またはアプリケーション のアクセス許可を追加します。
    • Sites.Read.All
    • Files.Read.All
  5. これらのアクセス許可に対して Grant admin consent をクリックします。

これらの値が MCP サーバーの env 設定に正しく設定されていることを確認してください。

ライセンス

このプロジェクトは MIT License の下でライセンスされています。
適切なクレジット表記を行えば、自由に使用、変更、配布できます。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。