Error in user YAML: (<unknown>): mapping values are not allowed in this context at line 10 column 301
---
name: MCP Client Authorization
architectureDiagram: images/mcp-client-authorization.gif
categories:
- Knowledge & Tools
- Governance & Responsible AI
services:
- MCP
- Microsoft Entra ID
shortDescription: Implement MCP client authorization flow with APIM as OAuth client and authorization server.
detailedDescription: Playground to experiment with the Model Context Protocol client authorization flow. In this flow, Azure API Management acts both as an OAuth client connecting to Microsoft Entra ID authorization server and as an OAuth authorization server for the MCP client (MCP inspector). Note: Due to the evolving nature of the MCP Authorization proposal, direct production use is not yet recommended.
tags: []
authors:
- vieiraae
- nourshaker-msft
---
Playground to experiment the Model Context Protocol with the client authorization flow. In this flow, Azure API Management act both as an OAuth client connecting to the Microsoft Entra ID authorization server and as an OAuth authorization server for the MCP client (MCP inspector in this lab).
- Python 3.12 or later version installed
- VS Code installed with the Jupyter notebook extension enabled
- Python environment with the requirements.txt or run
pip install -r requirements.txtin your terminal - An Azure Subscription with Contributor + RBAC Administrator or Owner roles
- Azure CLI installed and Signed into your Azure subscription
Proceed by opening the Jupyter notebook, and follow the steps provided.
When you're finished with the lab, you should remove all your deployed resources from Azure to avoid extra charges and keep your Azure subscription uncluttered. Use the clean-up-resources notebook for that.
