Microsoft Enterprise logo

Microsoft Enterprise

Organization
microsoft

Query Microsoft Entra identity data using natural language

Publishermicrosoft
Repositoryenterprisemcp
LanguageTypeScript
Forks
12
Stars
38
Available tools
0
Transport typestreamable-http
Categories
LicenseCC-BY-4.0
Links
  • Connect tools to AI workflows

    Microsoft Enterprise exposes MCP capabilities that can be used by compatible AI clients and agents.

  • 0 available tools

    Browse the callable actions below, including names and descriptions when provided by the server.

  • Ready-to-copy setup

    Use the installation snippets to configure this server in your preferred MCP client.

  • Open source signals

    38 stars and 12 forks from the linked repository.

Microsoft MCP Server for Enterprise

Microsoft MCP Server for Enterprise Logo

Overview

Built on the open Model Context Protocol, the public preview of Microsoft MCP Server for Enterprise lets AI agents access Microsoft Entra data by converting natural language queries into Microsoft Graph API calls. Developers and IT administrators use it to query Microsoft Entra data from their AI-powered workflows.

Full Documentation: Overview of Microsoft MCP Server for Enterprise

MCP Server Provisioning (execute once per tenant)

To set up the MCP Server for your tenant:

  1. Provision the MCP Server. In Graph Explorer, send:
    POST https://graph.microsoft.com/v1.0/servicePrincipals
    Body: { "appId": "e8c77dc2-69b3-43f4-bc51-3213c9d915b4" }

  2. Register a new app, representing the MCP Client.
    Set the appropriate Redirect URI (also called Reply URL) depending on the client. For example:
    Claude Desktop needs https://claude.ai/api/mcp/auth_callback,
    ChatGPT generates a different one for each client using the format: https://chatgpt.com/connector/oauth/<random_chars>,
    Microsoft Foundry generates a different Redirect URI for each connector using the format: https://<random_chars>.<region>.azurecontainerapps.io/rest/oauth2-credential/callback

  3. Associate the MCP permissions (MCP.<Microsoft_Graph_Scope>) between the MCP Server and the MCP Client
    Associate MCP Client Permissions

Info Table

PropertyValueNotes
MCP Endpointhttps://mcp.svc.cloud.microsoft/enterpriseConfigure in your agent or mcp.json
MCP Server App Ide8c77dc2-69b3-43f4-bc51-3213c9d915b4Used for provisioning and telemetry
MCP Client App Id< The one you registered in your tenant >Required to configure your agent
Token URLhttps://login.microsoftonline.com/organizations/oauth2/v2.0/tokenRequired in some agents config
Token endpoint auth methodclient_secret_postRequired in some agents config
Auth URLhttps://login.microsoftonline.com/organizations/oauth2/v2.0/authorizeRequired in some agents config
Refresh URLhttps://login.microsoftonline.com/organizations/oauth2/v2.0/tokenRequired in some agents config
Scopesapi://e8c77dc2-69b3-43f4-bc51-3213c9d915b4/.defaultRequired in some agents config

Tools

This MCP Server uses Retrieval-Augmented Generation (RAG) and few-shot prompting to generate complete Microsoft Graph queries rather than exposing a separate tool per Graph operation.
It exposes three tools:

  1. microsoft_graph_suggest_queries: Finds relevant Microsoft Graph API calls based on user intent.
  2. microsoft_graph_get: Executes read-only Microsoft Graph API calls, respecting User roles and MCP Client scopes.
  3. microsoft_graph_list_properties: Retrieves properties of specific Microsoft Graph entities to help the AI model

Current scope and capabilities

For Public Preview, we support read-only enterprise IT scenarios in Microsoft Entra identity and directory operations (user, group, application, device management, and administrative actions).

The MCP Server handles queries such as:

  1. Security posture: authentication methods/strengths, Conditional Access, Security Defaults.
  2. Privileged access: Who has which directory roles, how assigned (direct vs group), and PIM status.
  3. Application risk: Which Apps / Service Principals exist, who owns them, what permissions/SSO they use, and which are ownerless or external.
  4. Access governance: Who has access to what (users, groups, packages); review decisions, automate joiner/mover/leaver.
  5. Device readiness: Managed/compliant status, join state, OS/version distribution, and stale or inactive devices.
  6. Provenance and investigation: End‑to‑end telemetry (sign‑in, audit, provisioning, network), health alerts, and SLA/availability.
  7. Optimize spending & hygiene: License counts/usage, unused or stale apps/groups, domain configuration and contacts.

Supported Clients and Configurations

The Microsoft MCP Server for Enterprise works with any MCP-compatible client that supports the latest standard.

⚠️ Notes:

  • Dynamic Client Registration (DCR) is not supported, but we are working to support OAuth Client ID Metadata Documents (CIMD) in a future release.
  • ChatGPT, Claude, and other 3P Agents require a custom client Id: register your own MCP Client application in your tenant, assign the required MCP.* scopes, and configure the redirect URIs accordingly.

Microsoft Agent Platforms

Third Party MCP clients

These clients require a custom MCP Client application registered in your tenant. See Authorization and permissions to grant the required MCP.* scopes to your app.

Go to Settings, Apps, Create App, and fill the dialog:

ChatGPT Configuration

Put the App ID of the Registered app in the red box.

Go to Customize, Connectors, click "+", Add Custom Connector, and fill the dialog:

Claude Configuration

Put the App ID of the Registered app in the red box.

Visual Studio Code and GitHub Copilot CLI

Visual Studio Code and GitHub Copilot CLI share the same Visual Studio Code MCP Client app Id, so they use the same setup.
GitHub Copilot CLI can also use a custom client Id (see Option 2).

Prerequisites

These steps provision the Visual Studio Code MCP Client application in your tenant and grant it the MCP permissions.
They're required for Visual Studio Code and for GitHub Copilot CLI when it uses the default application Id (Option 1 below). Skip them if you're configuring GitHub Copilot CLI with a custom oauthClientId instead (Option 2 below).

  1. Install Microsoft.Entra.Beta PowerShell module (version 1.0.13 or later, requires PowerShell 7):

    powershell
    Install-Module Microsoft.Entra.Beta -Force -AllowClobber
  2. Connect Microsoft Entra ID to your tenant:

    powershell
    Connect-Entra -Scopes 'Application.ReadWrite.All', 'DelegatedPermissionGrant.ReadWrite.All'
  3. Grant all MCP permissions to the Visual Studio Code MCP Client app (also used by GitHub Copilot CLI when configured with the default application Id):

    powershell
    Grant-EntraBetaMCPServerPermission -ApplicationName VisualStudioCode

Learn more about Grant-EntraBetaMCPServerPermission. For detailed installation help, see the installation instructions.

If the Microsoft Graph PowerShell SDK modules conflict with Microsoft.Entra.Beta, run the following and retry from step 1:

powershell
Install-Module Uninstall-Graph
Uninstall-Graph -All
  1. Click Install Microsoft MCP Server for Enterprise to launch the MCP install page.
  2. Click the Install button in VS Code and sign in with your account from the tenant above.

GitHub Copilot CLI can connect using either the default Visual Studio Code MCP Client app Id or a custom MCP Client app Id you register in your tenant.

Option 1. Default (uses the Visual Studio Code app Id)

  1. Complete the Prerequisites above.

  2. Add the MCP server to Copilot CLI. You can do this interactively with /mcp add:

    bash
    /mcp add

    GitHub Copilot CLI Configuration

Option 2. Custom MCP Client app Id

  1. Register your own MCP Client application in your tenant and grant it the required MCP.* scopes (see Authorization and permissions).

  2. Set http://127.0.0.1:51001 as Redirect URI for "Mobile and desktop applications"

  3. Specify your app Id via oauthClientId and oauthPublicClient to true in ~/.copilot/mcp-config.json:

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

In either case, sign in with your account from the provisioned tenant when prompted.

For more information, see the GitHub Copilot CLI documentation.

Authorization and permissions

The MCP Server for Enterprise uses Microsoft Graph API to access data in your Microsoft Entra tenant using delegated permissions only, and provides a reduced set of permissions exposed by Microsoft Graph.
Use the following cmdlet to list the permissions provided by the MCP Server for Enterprise:

powershell
(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

If you'd like to use your own Registered Application, use the following cmdlets to to manage scopes granted to your MCP Client Application:

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

Learn more: Manage MCP Server for Enterprise permissions

Advantages

  1. Remote MCP Server: easy to configure and standards-compliant, deployed in the same regions as Microsoft Graph.
  2. IT Admins in control: MCP clients need specific MCP.* scopes (mirroring Microsoft Graph scopes) to access your tenant data.
  3. Simplified architecture: 3 tools cover the workflow instead of one tool per API operation.
  4. High-quality query generation: generates accurate queries from over 500 real-world examples via RAG (Retrieval-Augmented Generation).
  5. Full auditability: all MCP operations run under the same App ID with a specific user agent.
  6. No extra license required: your existing Microsoft Entra and Microsoft Graph API licenses apply.

Availability, Roadmap and feedback

The Microsoft MCP Server for Enterprise is available only in the public cloud (global service), with support for sovereign clouds planned for a future release.
We will continue expanding beyond the current Microsoft Entra scenarios, but M365 APIs will be covered by Agent 365.
Support for write operations is planned for a future release.
Please share suggestions or issues through our feedback form: Submit feedback.

Licensing and usage

  • The MCP Server for Enterprise doesn't require extra cost or separate license.
  • You need the right licenses for the data you access (for example, Microsoft Entra ID Governance or Microsoft Entra ID P2 license for Privileged Identity Management (PIM) data).
  • Any request to this MCP server is limited to 100 requests per minute per user. Requests to microsoft_graph_get are also subject to Microsoft Graph Throttling limits.

Logs

To monitor usage, enable Microsoft Graph activity logs in your tenant. The system logs all API calls made through the MCP server.

Filter for MCP Server usage:

Use the Application (Client ID) of the Microsoft MCP Server for Enterprise: e8c77dc2-69b3-43f4-bc51-3213c9d915b4.

The following Kusto query retrieves these logs:

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

Support and reference

For documentation, troubleshooting, and feedback, refer to the official Microsoft Learn documentation and support channels.

Security and compliance

All operations respect Microsoft Graph permissions and security policies. Ensure compliance with your organizational, regulatory, and contractual requirements when integrating the MCP Server.

No warranty/limitation of liability

This software is provided "as is" without warranties or conditions of any kind, either express or implied. Microsoft isn't liable for any damages that result from use, misuse, or misconfiguration of this software.

Installation

TypingMind
{
  "mcpServers": {
    "microsoft-enterprise": {
      "url": "https://mcp.svc.cloud.microsoft/enterprise",
      "env": null
    }
  }
}

Use Microsoft Enterprise MCP with multiple AI models

TypingMind connects MCP tools at the workspace level, so once Microsoft Enterprise is connected, you can use it with different AI models in TypingMind instead of setting it up separately for each model. This MCP connects through a hosted MCP server URL in TypingMind.

Add an MCP server URL

Use this when Microsoft Enterprise is already hosted remotely or your team wants one shared connector that multiple users can access.

1

Open MCP connectors

In TypingMind, go to Plugins, open MCP connectors, then choose Add URL.

  1. Open TypingMind in your browser.
  2. Go to Plugins.
  3. Open MCP connectors.
  4. Click Add URL.
TypingMind Add Custom MCP Server URL form
2

Paste the server URL

Enter https://mcp.svc.cloud.microsoft/enterprise in the Server URL field. Add a connection name, description, icon, custom HTTP headers, or OAuth client settings if the server requires them.

  1. Paste https://mcp.svc.cloud.microsoft/enterprise into the Server URL field.
  2. Enter a connection name for Microsoft Enterprise.
  3. Add a description and icon if you want it to be easier to identify.
  4. Add custom HTTP headers or OAuth client details if the server requires authentication.
3

Create the connection

Click Create connection, then return to the Plugins list and confirm the new MCP connection is active.

  1. Click Create connection.
  2. Return to the MCP connectors list.
  3. Confirm the Microsoft Enterprise connection appears as active.
  4. Refresh the plugin list if the connection does not appear immediately.
4

Switch models without reconnecting

Start a chat with your preferred model, enable the Microsoft Enterprise tools from Plugins, and switch to another model whenever needed. The MCP connection stays available to the TypingMind workspace.

  1. Start a new chat in TypingMind.
  2. Select the AI model you want to use.
  3. Enable the Microsoft Enterprise tools from Plugins.
  4. Ask the model to use the tool when needed.
  5. Switch to another AI model and reuse the same MCP connection.
TypingMind chat using enabled MCP tools with a selected AI model
Can you use Microsoft Enterprise to help me with this task?
Microsoft Enterprise
Sure. I read it.
Here is what I found using Microsoft Enterprise.

Frequently asked questions

What is the Microsoft Enterprise MCP server used for?

Microsoft Enterprise is an MCP server that lets compatible AI clients connect to external tools and context. In TypingMind, you can add this MCP server once and make its tools available in your AI workspace.

Can I use Microsoft Enterprise MCP with multiple AI models in TypingMind?

Yes. TypingMind connects MCP tools at the workspace level, so you can use Microsoft Enterprise with different AI models such as Claude, ChatGPT, Gemini, or other models you have configured in TypingMind without setting up the MCP server separately for each model.

Why use Microsoft Enterprise MCP with TypingMind?

TypingMind is one of the best frontends for LLM chat because it brings multiple AI models, prompts, plugins, AI agents, API keys, and MCP tools into one workspace. With Microsoft Enterprise connected, you can use its MCP tools across your preferred models while keeping your chat workflow organized in TypingMind.

How do I connect Microsoft Enterprise MCP to TypingMind?

Microsoft Enterprise can be connected in TypingMind by adding its hosted MCP server URL. This is useful when you want a remote MCP connection that is available from your TypingMind workspace.

What tools does Microsoft Enterprise MCP provide in TypingMind?

Microsoft Enterprise exposes MCP capabilities that can be enabled from the TypingMind Plugins page and used in chat or assigned to AI agents.

Do I need to share my API keys with TypingMind to use Microsoft Enterprise MCP?

No. TypingMind is local-first and lets you keep your model providers, API keys, prompts, and MCP configuration under your control. If Microsoft Enterprise requires authentication, add the required headers, OAuth settings, or local configuration for that MCP server when you create the connection.

Related MCP Servers

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇