mcpField
S
SharePoint MCP: The .NET MCP Server with Graph API & Semantic Kernel

SharePoint MCP: The .NET MCP Server with Graph API & Semantic Kernel

ローカル
github.com/mhmd2015メモリ・ナレッジ117 週間前に更新

SharePoint MCP: The .NET MCP Server with Graph API & Semantic Kernel について

このプロジェクトは、.NET、Microsoft Graph API、Semantic Kernelを用いてSharePoint Onlineを検索するモジュール型の構成を紹介します。企業文書の検索をチャットに組み込みたい開発者向けで、MCPサーバー、SharePointコネクタライブラリ、Gemini AIクライアントを分離しています。

主な機能

  1. 01Microsoft Graph経由でSharePointを検索
  2. 02アプリ専用認証を使用
  3. 03サーバー、コネクタ、クライアントを分離
  4. 04Geminiのチャット画面に検索結果を表示

活用シーン

  1. 01チャットからSharePoint文書を検索
  2. 02AIとの会話フローに企業文書検索を追加

MCP 対応

構成案の.NET MCPサーバーはAPI経由で検索リクエストを受け取り、コネクタライブラリを呼び出してSharePointを検索します。説明ではHTTP APIによる連携を扱っており、MCPの具体的なトランスポートやツール定義は示されていません。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

SharePoint MCP:Graph API と Semantic Kernel を使用した .NET MCP サーバー

現代の企業では、特定のデータに安全かつ効率的にアクセスすることが不可欠です。特に、AI 機能と連携する場合はなおさらです。知的な会話ができるだけでなく、組織の SharePoint サイトから関連するドキュメントや情報を直接取得できるチャットボットを想像してみてください。この投稿では、.NET、Microsoft Graph API、Semantic Kernel、Gemini AI を使用して、それを実現するモジュール型アーキテクチャを紹介します。

このプロジェクトは、次の 3 つのモジュールで構成されています。

  1. MCP サーバー(Semantic Kernel):SharePoint とのやり取りを担う中核です。
  2. SharePoint コネクターライブラリ:SharePoint Online にアクセスします。
  3. MCP クライアント(Gemini AI):ユーザー向けのチャットインターフェースです。

各モジュールを詳しく見ていきましょう。

モジュール 1:.NET MCP サーバー(Semantic Kernel を活用)

この中核コンポーネントは、中心的なハブおよび API エンドポイントとして機能します。.NET で構築し、ここでは Semantic Kernel を組み込んでいます。標準的な ASP.NET Core Web API として実装することもできますが、Semantic Kernel を使用すれば、SharePoint とのやり取りをネイティブの「スキル」または「プラグイン」として定義できる可能性があります。

クライアントが呼び出せる API エンドポイントを介して、(SharePoint 検索などの)機能を公開します。また、.NET(例:ASP.NET Core Web API)と Semantic Kernel SDK を使用して、コネクターライブラリへの呼び出しを調整します。 主な機能:検索クエリを受け取る API ルート(例:/api/sharepoint/search)を定義します。このルートは、コネクターライブラリ内の関数を呼び出します。Semantic Kernel を使用すると、後で必要になった場合に、この関数をより複雑な AI 推論フローに簡単に統合できます。

モジュール 2:SharePoint コネクターライブラリ(Graph API)

この .NET ライブラリは、SharePoint Online との通信に関する細かな処理だけを担当します。

目的:Microsoft Graph で認証し、検索から始めて、特定の SharePoint 操作を実行します。 テクノロジー:.NET Standard または .NET Core ライブラリ、Microsoft.Graph SDK。 認証:クライアント ID とクライアントシークレットを使用します(アプリ専用認証)。 セットアップ:Azure Active Directory(Azure AD)にアプリケーションを登録し、必要な Graph API のアクセス許可(例:Sites.Read.All、またはニーズに応じたより細かなアクセス許可)を付与して、管理者の同意を取得する必要があります。重要なのは、クライアントシークレットを安全に保管することです(例:Azure Key Vault、.NET User Secrets)。ハードコードは絶対にしないでください。 主な機能:次の処理を行う非同期関数(例:SearchSharePointAsync(string query))です。 クライアント ID とシークレットを使用して、Microsoft Graph のアクセストークンを取得します。 SharePoint 検索エンドポイント(/search/query)への Graph API リクエストを構築します。 Microsoft.Graph SDK を使用してリクエストを送信します。 応答を解析し、関連する検索結果(例:ドキュメント名、リンク、抜粋)を返します。

モジュール 3:MCP クライアント(Gemini AI)

これはユーザーが操作するアプリケーションです。Gemini AI を活用したチャットインターフェースを備えています。

目的:AI を活用した対話型エクスペリエンスを提供します。SharePoint に関するユーザーの意図を検出し、そのタスクを MCP サーバーに委任します。 技術:任意のクライアントプラットフォーム(.NET MAUI、Blazor、Console App など)、Google AI Gemini SDK。 機能: ユーザーは Gemini を活用したインターフェースでチャットします。 クライアントアプリケーション(または実装によっては Gemini 自体)が会話を分析します。 「SharePoint」や特定のドキュメントの種類、サイトなどに関連するキーワードまたは意図が検出されると、クライアントは関連するクエリを指定して MCP サーバーの API エンドポイント(例:/api/sharepoint/search)に HTTP リクエストを送信します。 サーバーから検索結果を受け取り、チャットの文脈内でユーザーに提示します。 ワークフローの例:

ユーザー:「ねえ Gemini、SharePoint で第 1 四半期のマーケティングレポートを探してくれる?」 MCP クライアント:「SharePoint」と「第 1 四半期のマーケティングレポート」を検出します。 MCP クライアント:クエリ「第 1 四半期のマーケティングレポート」を指定して、MCP サーバーに POST /api/sharepoint/search を送信します。 MCP サーバー:リクエストを受信し、Connector Library 内の SearchSharePointAsync("Q1 marketing report") を呼び出します。 Connector Library:Client ID/Secret を使用して Graph API で認証し、/search/query で検索を実行します。 SharePoint Online:検索結果を返します。 Connector Library:整形した結果を MCP サーバーに返します。 MCP サーバー:API レスポンスで結果を MCP クライアントに返します。 MCP クライアント:Gemini チャットインターフェース内に結果を表示します(例:「次のドキュメントが見つかりました:[リンク 1]、[リンク 2]」)。 メリット:

モジュール設計:関心事を明確に分離することで、開発とメンテナンスが容易になります。 セキュアなアクセス:アプリケーションのみの認証により、バックエンドでユーザーになりすますことなく、SharePoint データへのアクセスを制御できます。 AI 連携:対話型 AI とエンタープライズデータの取得をシームレスに組み合わせます。 拡張性:Connector Library にアップロードやファイル一覧表示などの SharePoint 機能を簡単に追加し、MCP サーバー経由で公開できます。

コメント

MCP は初めてですか?

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

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