loading…
Search for a command to run...
loading…
Implements the on-behalf-of flow with Entra ID to enable authorized calls to Microsoft Graph API via MCP tools.
Implements the on-behalf-of flow with Entra ID to enable authorized calls to Microsoft Graph API via MCP tools.
Blog post: https://baeke.info/2025/07/29/end-to-end-authorization-with-entra-id-and-mcp/
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
Create a .env file in the project root with the required Azure and API credentials (see example files for required variables).
python -m mcp.main
In a new terminal (with the virtual environment activated):
python mcp_client.py
sequenceDiagram
autonumber
participant User
participant Client
participant AzureAD as "Azure Entra ID"
participant MCP
participant MSGraph
User->>Client: Initiate Device Flow
Client->>AzureAD: Start Device Code Flow
AzureAD-->>Client: Device Code + Verification URL
Client->>User: Show Code + URL
User->>AzureAD: Authenticates via browser
AzureAD-->>Client: Returns Access Token (for MCP)
Client->>MCP: Call tool with Bearer Access Token
MCP->>AzureAD: OBO request for token to call MS Graph\n(include access token as assertion)
AzureAD-->>MCP: Returns new Access Token (for MS Graph)
MCP->>MSGraph: Call Graph API with new token
MSGraph-->>MCP: Graph data
MCP-->>Client: Return tool result
Выполни в терминале:
claude mcp add mcp-obo -- npx Безопасность
Низкий рискАвтоматическая эвристика по публичным данным — не гарантия безопасности.