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
- How MCP auth works – PRM, ASM, CIMD (SEP-991), DCR, Resource Indicators, and how the spec evolved
- Where Entra fits (and doesn’t) – what’s supported, what’s not (CIMD, DCR), and why
- Auth model first – stdio vs remote auth options, decision trees, choose before you build
- Reference architecture – Microsoft Graph MCP Server as the exemplar, then apply it to your API
- Entra Agent ID – the new
ServiceIdentityprincipal for AI agents - Which Azure platform – Functions vs App Service vs APIM vs Container Apps
- How to audit and scale – Graph Activity Logs, Sentinel, multi-tenant, caching
- 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 |
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 →
