mcpField
M
Microsoft MCP Server for Enterprise

Microsoft MCP Server for Enterprise

リモート
github.com/microsoftセキュリティ60今日更新
リポジトリ

Microsoft MCP Server for Enterprise について

Microsoft MCP Server for Enterprise は、マイクロソフトが提供する公式のリモートMCPサーバーで、現在パブリックプレビュー段階です。自然言語のクエリをMicrosoft Graph API の呼び出しに変換し、Microsoft Entra のデータを参照できます。開発者とIT管理者を対象としています。

主な機能

  1. 01自然言語からMicrosoft Graphクエリへの変換
  2. 02クエリの流れを三つのツールでカバー
  3. 03Entraデータへの読み取り専用アクセス
  4. 04MCP.* スコープによる管理者の権限制御
  5. 05委任権限とGraphアクティビティログ

活用シーン

  1. 01Entraのユーザー、グループ、アプリの照会
  2. 02条件付きアクセスと特権ロール割り当ての確認
  3. 03デバイスのコンプライアンス状況と未使用デバイスの確認

MCP 対応

リモートMCPサーバーであり、MCPクライアントは管理者が付与したMCP.*スコープでOAuth接続し、提供されるツールを呼び出します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://mcp.svc.cloud.microsoft/enterprise
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

Microsoft MCP Server for Enterprise のロゴ Microsoft MCP Server for Enterprise

⚠️ Visual Studio Code に Error getting token from server metadata: Error: Cannot force new registration for a non-dynamic authentication provider. というエラーが表示される場合は、設定で "microsoft-authentication.implementation" を "msal" から "msal-no-broker" に変更してください。

概要

オープンな Model Context Protocol を基盤とする Microsoft MCP Server for Enterprise のパブリックプレビューでは、自然言語のクエリを Microsoft Graph API 呼び出しに変換することで、AI エージェントが Microsoft Entra のデータにアクセスできます。 開発者と IT 管理者は、AI を活用したワークフローから Microsoft Entra のデータをクエリできます。

ドキュメント全文:Microsoft MCP Server for Enterprise の概要

MCP サーバーのプロビジョニング(テナントごとに 1 回実行)

テナント用に MCP サーバーをセットアップするには:

  1. MCP サーバーをプロビジョニングします。Graph Explorer で、次を送信します:
    POST https://graph.microsoft.com/v1.0/servicePrincipals
    Body: { "appId": "e8c77dc2-69b3-43f4-bc51-3213c9d915b4" }

  2. MCP クライアントを表す 新しいアプリを登録します。
    クライアントに応じて、適切なリダイレクト URI(返信 URL とも呼ばれます)を設定します。たとえば、
    Claude Desktop では https://claude.ai/api/mcp/auth_callback が必要です。
    ChatGPT では、各クライアントに対して https://chatgpt.com/connector/oauth/<random_chars> 形式の異なる URI が生成されます。
    Microsoft Foundry では、各コネクタに対して https://<random_chars>.<region>.azurecontainerapps.io/rest/oauth2-credential/callback 形式の異なるリダイレクト URI が生成されます。

    Microsoft Entra では、リダイレクト URI の種類が重要です。URI を Web の下に追加すると、Entra はアプリを機密クライアントとして扱います。サーバー上で実行され、資格情報を保護できるアプリ(Copilot Studio など)には、この設定を使用します。サインイン時に、Entra はアプリが client_secret または証明書ベースの client_assertion で認証することを要求します。
    URI を モバイルとデスクトップ アプリケーションまたは別のパブリック クライアント プラットフォームの下に追加すると、Entra はアプリをパブリック クライアントとして扱います。シークレットを保持できないデスクトップ、CLI、デバイスのアプリ(ChatGPT や Claude など)には、この設定を使用します。これらのアプリでは通常、クライアントシークレットの代わりに PKCE を使用した認証コードフローを使用します。

  3. MCP サーバーと MCP クライアントの間に MCP のアクセス許可(MCP.<Microsoft_Graph_Scope>)を関連付けます。
    MCP クライアントのアクセス許可を関連付ける

情報テーブル
プロパティ値備考
MCP エンドポイントhttps://mcp.svc.cloud.microsoft/enterpriseエージェントまたは mcp.json で構成します
MCP サーバー アプリ IDe8c77dc2-69b3-43f4-bc51-3213c9d915b4プロビジョニングとテレメトリに使用します
MCP クライアント アプリ ID< テナントに登録したもの >エージェントの構成に必要です
トークン URLhttps://login.microsoftonline.com/organizations/oauth2/v2.0/token一部のエージェントの構成に必要です
トークンエンドポイントの認証方式client_secret_post一部のエージェントの構成に必要です
認証 URLhttps://login.microsoftonline.com/organizations/oauth2/v2.0/authorize一部のエージェントの構成に必要です
更新 URLhttps://login.microsoftonline.com/organizations/oauth2/v2.0/token一部のエージェントの構成に必要です
スコープapi://e8c77dc2-69b3-43f4-bc51-3213c9d915b4/.default一部のエージェントの構成に必要です

ツール

この MCP サーバーは、Microsoft Graph の操作ごとに個別のツールを公開するのではなく、検索拡張生成(RAG)と少数ショットプロンプトを使用して、完全な Microsoft Graph クエリを生成します。
公開するツールは 3 つです。

  1. microsoft_graph_suggest_queries:ユーザーの意図に基づいて、関連する Microsoft Graph API 呼び出しを見つけます。
  2. microsoft_graph_get:ユーザーのロールと MCP クライアントのスコープを尊重しながら、読み取り専用の Microsoft Graph API 呼び出しを実行します。
  3. microsoft_graph_list_properties:AI モデルを支援するため、特定の Microsoft Graph エンティティのプロパティを取得します。

現在の対象範囲と機能

パブリックプレビューでは、Microsoft Entra の ID およびディレクトリ操作(ユーザー、グループ、アプリケーション、デバイスの管理、および管理アクション)における、エンタープライズ IT の読み取り専用シナリオをサポートしています。

MCP サーバーは、次のようなクエリを処理します。

  1. セキュリティ態勢:認証方法/強度、条件付きアクセス、セキュリティの既定値。
  2. 特権アクセス:どのユーザーがどのディレクトリロールを持っているか、その割り当て方法(直接かグループ経由か)、および PIM の状態。
  3. アプリケーションのリスク:存在するアプリ/サービス プリンシパル、それらの所有者、使用するアクセス許可/SSO、所有者のいないものや外部のもの。
  4. アクセス ガバナンス:誰が何(ユーザー、グループ、パッケージ)にアクセスできるか、アクセスレビューの決定、入社/異動/退職の自動化。
  5. デバイスの準備状況:管理/準拠の状態、参加状態、OS/バージョンの分布、および古いデバイスや非アクティブなデバイス。
  6. 出所と調査:エンドツーエンドのテレメトリ(サインイン、監査、プロビジョニング、ネットワーク)、正常性アラート、SLA/可用性。
  7. 支出の最適化と衛生管理:ライセンス数/使用状況、未使用または古いアプリ/グループ、ドメインの構成と連絡先。

サポートされているクライアントと構成

Microsoft MCP Server for Enterprise は、最新の標準をサポートする、MCP 互換の任意のクライアントで動作します。

⚠️ 注意:

  • Dynamic Client Registration(DCR)はサポートされていませんが、今後のリリースで OAuth Client ID Metadata Documents(CIMD)をサポートする予定です。
  • ChatGPT、Claude、その他のサードパーティ製エージェントにはカスタム クライアント IDが必要です。テナントに独自の MCP クライアント アプリケーションを登録し、必要な MCP.* スコープを割り当て、リダイレクト URI を適切に構成してください。
Microsoft エージェント プラットフォーム
サードパーティ製 MCP クライアント

これらのクライアントを使用するには、テナントに登録されたカスタム MCP クライアントアプリが必要です。アプリに必要な MCP.* スコープを付与するには、認可とアクセス許可を参照してください。

ChatGPT

設定、アプリ、アプリを作成の順に進み、ダイアログに入力します。

ChatGPT Configuration

赤枠内に、登録済みアプリのアプリ ID を入力します。

Claude

カスタマイズ、コネクタの順に進み、「+」をクリックして、カスタムコネクタを追加を選択し、ダイアログに入力します。

Claude Configuration

赤枠内に、登録済みアプリのアプリ ID を入力します。

Visual Studio Code と GitHub Copilot CLI

Visual Studio Code と GitHub Copilot CLI は同じ Visual Studio Code MCP クライアントアプリ ID を共有するため、同じセットアップを使用します。
GitHub Copilot CLI ではカスタムクライアント ID も使用できます(オプション 2 を参照)。

前提条件

これらの手順では、テナントに Visual Studio Code MCP Client アプリケーションをプロビジョニングし、MCP のアクセス許可を付与します。
これらの手順は、Visual Studio Code と、既定のアプリケーション Id を使用する GitHub Copilot CLI(以下のオプション 1)に必要です。代わりにカスタムの oauthClientId を使用して GitHub Copilot CLI を構成する場合(以下のオプション 2)は、スキップしてください。

  1. Microsoft.Entra.Beta PowerShell モジュールをインストールします(バージョン 1.0.13 以降、PowerShell 7 が必要です):

    Install-Module Microsoft.Entra.Beta -Force -AllowClobber
    
  2. Microsoft Entra ID をテナントに接続します:

    Connect-Entra -Scopes 'Application.ReadWrite.All', 'DelegatedPermissionGrant.ReadWrite.All'
    
  3. Visual Studio Code MCP Client アプリにすべての MCP アクセス許可を付与します(既定のアプリケーション Id で構成した場合、GitHub Copilot CLI でも使用されます):

    Grant-EntraBetaMCPServerPermission -ApplicationName VisualStudioCode
    

Grant-EntraBetaMCPServerPermission の詳細については、こちらをご覧ください。インストールに関する詳しい手順は、インストール手順をご覧ください。

Microsoft Graph PowerShell SDK モジュールが Microsoft.Entra.Beta と競合する場合は、次のコマンドを実行してから、手順 1 からやり直してください:

Install-Module Uninstall-Graph
Uninstall-Graph -All
Visual Studio Code
  1. エンタープライズ向け Microsoft MCP Server をインストールをクリックして、MCP のインストールページを開きます。
  2. VS Code の[インストール]ボタンをクリックし、上記のテナントのアカウントでサインインします。
  3. Visual Studio Code に Error getting token from server metadata: Error: Cannot force new registration for a non-dynamic authentication provider. というエラーが表示される場合は、設定の "microsoft-authentication.implementation" を "msal" から "msal-no-broker" に変更します: alt text
GitHub Copilot CLI

GitHub Copilot CLI は、既定の Visual Studio Code MCP Client アプリ Id、またはテナントに登録したカスタム MCP Client アプリ Id のどちらでも接続できます。

オプション 1. 既定(Visual Studio Code アプリ Id を使用)

  1. 上記の前提条件を完了します。

  2. Copilot CLI に MCP サーバーを追加します。/mcp add を使用して対話形式で追加できます:

    /mcp add
    

    GitHub Copilot CLI Configuration

オプション 2. カスタム MCP Client アプリ Id

  1. テナントに独自の MCP Client アプリケーションを登録し、必要な MCP.* スコープを付与します(認証とアクセス許可を参照)。

  2. 「モバイルおよびデスクトップ アプリケーション」のリダイレクト URI として http://127.0.0.1:51001 を設定します。

  3. ~/.copilot/mcp-config.json で oauthClientId にアプリ Id を指定し、oauthPublicClient を true に設定します:

    "mcp-enterprise": {
          "type": "http",
          "url": "https://mcp.svc.cloud.microsoft/enterprise",
          "headers": {},
          "tools": [ "*" ],
          "oauthClientId": "<REGISTERED_APP_CLIENT_ID>",
          "oauthPublicClient": true
        }
    

どちらの場合も、プロンプトが表示されたら、プロビジョニング済みのテナントのアカウントでサインインします。

詳細については、GitHub Copilot CLI のドキュメントをご覧ください。

認証とアクセス許可

MCP Server for Enterprise は Microsoft Graph API を使用して、委任されたアクセス許可のみで Microsoft Entra テナントのデータにアクセスし、Microsoft Graph が公開するアクセス許可のうち一部を提供します。
MCP Server for Enterprise が提供するアクセス許可を一覧表示するには、次のコマンドレットを使用します:

(Get-EntraBetaServicePrincipal -Property "PublishedPermissionScopes" -Filter "AppId eq 'e8c77dc2-69b3-43f4-bc51-3213c9d915b4'").PublishedPermissionScopes | Where-Object { $_.IsEnabled -eq $true -and $_.AdditionalProperties["isPrivate"] -ne $true } | Select-Object Value, AdminConsentDisplayName | Sort-Object

独自の登録済みアプリケーションを使用する場合は、次のコマンドレットを使用して MCP Client アプリケーションに付与されたスコープを管理します:

Grant-EntraBetaMCPServerPermission -ApplicationId "<MCP_Client_Application_Id>" -Scopes "<Scope1>", "<Scope2>", "<...>"
Revoke-EntraBetaMCPServerPermission -ApplicationId "<MCP_Client_Application_Id>" -Scopes "<Scope1>", "<Scope2>", "<...>"

詳細:MCP Server for Enterprise のアクセス許可を管理する

利点

  1. リモート MCP サーバー:簡単に構成でき、標準に準拠しています。Microsoft Graph と同じリージョンにデプロイされます。
  2. IT 管理者による制御:MCP クライアントがテナントデータにアクセスするには、特定の MCP.* スコープ(Microsoft Graph のスコープに対応)が必要です。
  3. シンプルなアーキテクチャ:API 操作ごとに 1 つのツールを用意する代わりに、3 つのツールでワークフローをカバーします。
  4. 高品質なクエリ生成:RAG(検索拡張生成)を使用し、500 件を超える実例から正確なクエリを生成します。
  5. 完全な監査可能性:すべての MCP 操作は、特定のユーザーエージェントを使用し、同じアプリ ID のもとで実行されます。
  6. 追加ライセンス不要:既存の Microsoft Entra および Microsoft Graph API ライセンスを適用できます。

提供状況、ロードマップ、フィードバック

Microsoft MCP Server for Enterprise はパブリッククラウド(グローバルサービス)でのみ利用でき、ソブリンクラウドのサポートは今後のリリースで予定されています。
現在の Microsoft Entra シナリオにとどまらず、今後も対象を拡大していきますが、M365 API はAgent 365 によってカバーされます。
書き込み操作のサポートは、今後のリリースで予定されています。
ご提案や問題については、フィードバックフォームからお寄せください:フィードバックを送信。

ライセンスと使用方法

  • MCP Server for Enterprise は、追加費用や個別のライセンスを必要としません。
  • アクセスするデータに応じた適切なライセンスが必要です(たとえば、Privileged Identity Management(PIM)データには Microsoft Entra ID Governance または Microsoft Entra ID P2 ライセンスが必要です)。
  • この MCP サーバーへのリクエストは、ユーザーあたり毎分 100 件に制限されています。microsoft_graph_get へのリクエストには、Microsoft Graph のスロットリング制限も適用されます。

ログ

使用状況を監視するには、テナントでMicrosoft Graph アクティビティログを有効にしてください。システムは、MCP サーバー経由で行われたすべての API 呼び出しを記録します。

MCP Server の使用状況でフィルター処理する:

Microsoft MCP Server for Enterprise のアプリケーション(クライアント ID)を使用します:e8c77dc2-69b3-43f4-bc51-3213c9d915b4。

次の Kusto クエリでこれらのログを取得できます:

MicrosoftGraphActivityLogs
| where TimeGenerated >= ago(30d)
| where AppId == "e8c77dc2-69b3-43f4-bc51-3213c9d915b4"
| project RequestId, TimeGenerated, UserId, RequestMethod, RequestUri, ResponseStatusCode

サポートとリファレンス

ドキュメント、トラブルシューティング、フィードバックについては、公式の Microsoft Learn ドキュメントおよびサポートチャネルを参照してください。

セキュリティとコンプライアンス

すべての操作は、Microsoft Graph のアクセス許可とセキュリティポリシーに従います。 MCP Server を統合する際は、組織、規制、契約上の要件に準拠していることを確認してください。

保証および責任の制限

本ソフトウェアは、明示的または黙示的を問わず、いかなる種類の保証または条件も伴わず、「現状有姿」で提供されます。Microsoft は、本ソフトウェアの使用、誤用、または構成ミスに起因するいかなる損害についても責任を負いません。

コメント

MCP は初めてですか?

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

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