MM

merill/mcp-entra-design

Developer tools
23 stars 0 forks Quality 37 Trend 31

Design choices for MCP authentication with Microsoft Entra

Overview

A 60-minute technical session on building enterprise-grade MCP (Model Context Protocol) servers with Microsoft Entra ID -- covering identity, consent, authorization, auditability, and the new Agent ID principal type. 1. -- PRM, ASM, CIMD (SEP-991), DCR, Resource Indicators, and how the spec evolved 2. -- what's supported, what's not (CIMD, DCR), and why 3. -- stdio vs remote auth options, decision trees, choose before you build 4. -- Microsoft Graph MCP Server as the exemplar, then apply it to your API 5. -- the new ServiceIdentity principal for AI agents 6. -- Functions vs App Service vs APIM vs Container Apps 7. -- Graph Activity Logs, Sentinel, multi-tenant, caching 8. -- 36 documented pitfalls from real deployments The docs/ folder contains the full knowledge base behind the presentation:

README

Building MCPs with Entra: Design Choices for Enterprise Agents

A 60-minute technical session on building enterprise-grade MCP (Model Context Protocol) servers with Microsoft Entra ID – covering identity, consent, authorization, auditability, and the new Agent ID principal type.

Presented by Merill Fernando

Session Recording

Slides

View the slides (PDF) | View the slides (HTML) | Slide source (Marp)

What You’ll Learn

  1. How MCP auth works – PRM, ASM, CIMD (SEP-991), DCR, Resource Indicators, and how the spec evolved
  2. Where Entra fits (and doesn’t) – what’s supported, what’s not (CIMD, DCR), and why
  3. Auth model first – stdio vs remote auth options, decision trees, choose before you build
  4. Reference architecture – Microsoft Graph MCP Server as the exemplar, then apply it to your API
  5. Entra Agent ID – the new ServiceIdentity principal for AI agents
  6. Which Azure platform – Functions vs App Service vs APIM vs Container Apps
  7. How to audit and scale – Graph Activity Logs, Sentinel, multi-tenant, caching
  8. What to watch out for – 36 documented pitfalls from real deployments

Repo Structure

mcpentra/
├── slides/          # Marp slide deck (md, pdf, pptx, html)
├── docs/            # 17-document knowledge base with deep-dive content
└── demo/            # Contoso Directory MCP Server (TypeScript demo project)

Knowledge Base

The docs/ folder contains the full knowledge base behind the presentation:

Key Standards

Standard Name MCP Role
RFC 9728 OAuth 2.0 Protected Resource Metadata MUST – MCP server discovery
RFC 8414 OAuth 2.0 Authorization Server Metadata MUST – auth server discovery
RFC 8707 Resource Indicators for OAuth 2.0 MUST – audience binding
SEP-991 Client ID Metadata Documents (CIMD) SHOULD – URL-based client registration
RFC 7591 Dynamic Client Registration (DCR) MAY – Entra doesn’t support
View the full README on GitHub

Install

This server does not publish a one-line install command.

Open the repository installation guide New to MCP? Start with the mcpskill.org guide →