
MCP Todo App (Démo d'authentification Entra ID)
Interface UIpar pakbaz
Application de listes de tâches MCP interactive avec OAuth Microsoft Entra ID, flux On-Behalf-Of, et un panneau UI en direct dans le chat Copilot de VS Code.
Ce qu'elle fait
Affiche une interface utilisateur de liste de tâches entièrement interactive à l'intérieur du panneau de chat Copilot de VS Code via MCP Apps (ext-apps). Les utilisateurs s'authentifient avec leur compte Microsoft Entra ID (Azure AD) — le serveur fait le pont entre l'exigence d'enregistrement dynamique de client de MCP et le modèle d'application pré-enregistrée d'Entra via un proxy OAuth, puis utilise le flux On-Behalf-Of (OBO) pour appeler Microsoft Graph au nom de l'utilisateur.
Fonctionnalités clés
- UI interactive en direct — Panneau de tâches intégré dans Copilot Chat ; permet d'ajouter, modifier, basculer et supprimer sans taper de commandes
- Authentification Microsoft Entra ID — Flux complet OAuth 2.1 + PKCE via un proxy OAuth ; jetons validés à chaque requête MCP
- On-Behalf-Of (OBO) — Échange le jeton d'accès MCP contre un jeton Microsoft Graph pour récupérer le profil de l'utilisateur authentifié
- Guide de migration CIMD — Comparaison détaillée du modèle de proxy OAuth par rapport à la nouvelle spécification Client ID Metadata Documents (CIMD), avec un chemin de migration étape par étape
- Déploiement Azure Container Apps — Une seule commande
azd updéploie l'ensemble de la pile avec Cosmos DB, Container Registry et Application Insights
Installation
VS Code Copilot (client principal) :
Ajoutez à .vscode/mcp.json :
{
"servers": {
"mcp-todo-app": {
"type": "http",
"url": "http://localhost:8000/mcp"
}
}
}
VS Code déclenchera automatiquement le flux OAuth lors de la première utilisation.
Claude Desktop :
{
"mcpServers": {
"mcp-todo-app": {
"url": "http://localhost:8000/mcp"
}
}
}
Hôtes supportés
VS Code Copilot est l'hôte principal confirmé (l'UI MCP Apps est rendue dans le panneau de chat Copilot). Claude Desktop fonctionne également via le transport HTTP.
Installation rapide
npx @modelcontextprotocol/inspector http://localhost:8000/mcpInformations
- Tarification






