mcpField
M
MCP-MSGraph

MCP-MSGraph

ローカル
github.com/kevinbellinger開発ツール184 週間前に更新

MCP-MSGraph について

MCP-MSGraphは、Microsoft Graphからユーザープロフィールを読み取るプロトタイプのMCPサーバーです。MCPとMicrosoft Graphデータの接続を示す概念実証として作られています。

主な機能

  1. 01Microsoft Graphからのユーザープロフィール取得
  2. 02HTTPエンドポイントでプロフィール要求を受付
  3. 03Azure ADアプリケーション資格情報で認証

活用シーン

  1. 01ユーザーIDを指定したプロフィール取得
  2. 02Microsoft Graph接続のMCPプロトタイプ作成

MCP 対応

リクエストエンドポイントを介して、Microsoft Graphのユーザープロフィール読み取り機能をMCPクライアントに公開します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

MCP-MSGraph

Microsoft Graph からユーザープロファイルを読み取る、プロトタイプの MCP(Model Context Protocol) サーバーです。
このプロジェクトでは、概念実証として、Microsoft Graph に保存されたデータに MCP を接続する方法を紹介します。


Azure AD アプリケーションの作成

  1. Azure Portal にログインします。
  2. Azure Active Directory > App registrations > New registration に移動します。
  3. 新しいアプリケーションを作成します。
  4. 生成された Application (client) ID と Client Secret を控えます。
  5. API permissions で User.Read.All を追加し(適切な委任アクセス許可またはアプリケーションのアクセス許可を選択)、管理者の同意を付与します。

サーバーの実行手順:

  1. リポジトリを クローンするか、独自のフォルダーとファイル構成をセットアップします。

  2. 仮想環境を作成します:

python3 -m venv venv
source venv/bin/activate
  1. 必要なパッケージをインストールします:
pip install fastapi uvicorn requests requests-oauthlib pydantic
  1. 'main.py' を開き、プレースホルダーの値をアプリ ID、テナント ID、クライアントシークレットに置き換えます。

  2. サーバーを起動します

uvicorn main:app --reload

サーバーは http://127.0.0.1:8000 で利用できます。


リクエストの例

curl(または任意の REST クライアント)を使用して、ユーザープロファイルを取得するリクエストを送信します:

curl -X POST http://localhost:8000/mcp \
  -H "Content-Type: application/json" \
  -d '{
        "action":"readUserProfile",
        "contextId":"abc123",
        "data": {"userId":"[email protected]"}
      }'

結果は次のようになります:

{"status":"success","action":"readUserProfile","contextId":"abc123","data":{"@odata.context":"https://graph.microsoft.com/beta/$metadata#users('adelev%40M365x17584779.onmicrosoft.com')/profile/$entity","id":"profileId","[email protected]":"https://graph.microsoft.com/beta/$metadata#users('adelev%40M365x17584779.onmicrosoft.com')/profile/account","account":[{"ageGroup":"","countryCode":"","userPrincipalName":"[email protected]","allowedAudiences":"organization","createdDateTime":"2025-01-30T11:06:01.7661211Z","lastModifiedDateTime":"2025-01-30T11:06:01.9431431Z","id":"c74cb3af-2f62-43fa-9709-5d2cfc4b4042","isSearchable":false,"inference":null,"preferredLanguageTag":{"locale":null,"displayName":null},"createdBy":{"user":null,"device":null,"application":{"displayName":"AAD","id":null}},"lastModifiedBy":{"user":null,"device":null,"application":{"displayName":"MsGraph","id":null}},"source":{"type":["AAD","MsGraph"]},"sources":[{"sourceId":"4ce763dd-9214-4eff-af7c-da491cc3782d","isDefaultSource":true},{"sourceId":"0024a795-114d-4031-95c7-5fb543e00e80","properties":["isSipEnabled"]}]},{"ageGroup":"","countryCode":"","userPrincipalName":"","allowedAudiences":"federatedOrganizations","createdDateTime":"2025-01-30T11:06:01.7661213Z","lastModifiedDateTime":"2025-01-30T11:06:01.9431431Z","id":"750f8cc2-2f72-4b38-88c6-531dfc5ed47f","isSearchable":false,"inference":null,"preferredLanguageTag":{"locale":null,"displayName":null},"createdBy":{"user":null,"device":null,"application":{"displayName":"AAD","id":null}},"lastModifiedBy":{"user":null,"device":null,"application":{"displayName":"MsGraph","id":null}},"source":{"type":["AAD","MsGraph"]},"sources":[{"sourceId":"4ce763dd-9214-4eff-af7c-da491cc3782d","isDefaultSource":true},{"sourceId":"0024a795-114d-4031-95c7-5fb543e00e80","properties":["isSipEnabled"]}]}]}}%  

コメント

MCP は初めてですか?

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

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