Entraid MCP Server

This project provides a modular, resource-oriented FastMCP server for interacting with Microsoft Graph API. It is designed for extensibility

Local serverstdio

What is the Entraid MCP server?

This project provides a modular, resource-oriented FastMCP server for interacting with Microsoft Graph API. It is designed for extensibility, maintainability, and. Exposed over MCP by the entraid mcp server, that capability becomes something an assistant can invoke while it works, not something you go and do afterwards.

What it actually does

This project provides a modular, resource-oriented FastMCP server for interacting with Microsoft Graph API. It is designed for extensibility, maintainability, and security, supporting advanced queries for users, sign-in logs, MFA status, and privileged users.

  • Modular Resource Structure: —
  • Each resource (users, sign-in logs, MFA, etc.) is implemented in its own module under src/msgraph_mcp_server/resources/
  • Easy to extend with new resources (e.g., groups, devices)
  • Centralized Graph Client: —
  • Handles authentication and client initialization
  • Shared by all resource modules

Adding it to your client

Setup follows the usual MCP pattern — install or clone the server, register it in your client's configuration file, restart the client.

Its toolset

Everything the assistant can do here goes through one of these:

  • AuditLog.Read.All — Application
  • AuthenticationContext.Read.All — Application
  • DeviceManagementManagedDevices.Read.All — Application
  • Directory.Read.All — Application
  • Group.Read.All — Application
  • GroupMember.Read.All — Application
  • Group.ReadWrite.All — Application
  • Policy.Read.All — Application
  • RoleManagement.Read.Directory — Application
  • User.Read.All — Application
  • User-PasswordProfile.ReadWrite.All — Application
  • UserAuthenticationMethod.Read.All — Application

Configuration

You will need 3 environment variables: TENANT_ID, CLIENT_ID, CLIENT_SECRET. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.

Caveats

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 13 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Entraid.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the entraid mcp server does with a few real requests.

When to reach for it

This sits in the monitoring and observability group, where several servers overlap in what they claim to do but differ sharply once you actually set them up. Entraid's toolset — AuditLog.Read.All, AuthenticationContext.Read.All, DeviceManagementManagedDevices.Read.All and 10 more — is a fair guide to whether it matches your workflow. It is maintained by hieuttmmo; worth a glance at recent repository activity before you build anything load-bearing on it.

We check each listing at SyncDev against the project's documentation before it goes live — if something here drifts out of date, it is a bug worth reporting.

Available tools

ToolWhat it does
AuditLog.Read.AllApplication
AuthenticationContext.Read.AllApplication
DeviceManagementManagedDevices.Read.AllApplication
Directory.Read.AllApplication
Group.Read.AllApplication
GroupMember.Read.AllApplication
Group.ReadWrite.AllApplication
Policy.Read.AllApplication
RoleManagement.Read.DirectoryApplication
User.Read.AllApplication
User-PasswordProfile.ReadWrite.AllApplication
UserAuthenticationMethod.Read.AllApplication
Application.ReadWrite.AllApplication

Configuration

VariableDescriptionRequired
TENANT_IDConfiguration value read at startup.Optional
CLIENT_IDConfiguration value read at startup.Optional
CLIENT_SECRETCredential the server authenticates with.Yes

Example prompts to try

  • Use Entraid to AuditLog.Read.All.
  • Use Entraid to AuthenticationContext.Read.All.
  • Use Entraid to DeviceManagementManagedDevices.Read.All.

Frequently asked questions

It connects Entraid to MCP-compatible AI assistants such as Claude and Cursor, exposing 13 tools (AuditLog.Read.All, AuthenticationContext.Read.All, DeviceManagementManagedDevices.Read.All, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Entraid directly.