
MCP Todo App (Entra ID Auth Demo)
Interface UIpar pakbaz
Interactive MCP todo app with Microsoft Entra ID OAuth, On-Behalf-Of flow, and a live UI panel inside VS Code Copilot Chat.
What it does
Renders a fully interactive todo list UI inside the VS Code Copilot Chat panel via MCP Apps (ext-apps). Users authenticate with their Microsoft Entra ID (Azure AD) account — the server bridges MCP's Dynamic Client Registration requirement with Entra's pre-registered app model via an OAuth Proxy, then uses the On-Behalf-Of (OBO) flow to call Microsoft Graph on the user's behalf.
Key features
- Live interactive UI — Inline todo panel in Copilot Chat; supports add, edit, toggle, and delete without typing commands
- Microsoft Entra ID authentication — Full OAuth 2.1 + PKCE flow via an OAuth Proxy; tokens validated on every MCP request
- On-Behalf-Of (OBO) — Exchanges the MCP access token for a Microsoft Graph token to fetch the authenticated user's profile
- CIMD migration guide — Detailed comparison of the OAuth Proxy pattern vs. the newer Client ID Metadata Documents (CIMD) spec, with a step-by-step migration path
- Azure Container Apps deployment — One-command
azd updeploys the full stack with Cosmos DB, Container Registry, and Application Insights
Installation
VS Code Copilot (primary client):
Add to .vscode/mcp.json:
{
"servers": {
"mcp-todo-app": {
"type": "http",
"url": "http://localhost:8000/mcp"
}
}
}
VS Code will automatically trigger the OAuth flow on first use.
Claude Desktop:
{
"mcpServers": {
"mcp-todo-app": {
"url": "http://localhost:8000/mcp"
}
}
}
Supported hosts
VS Code Copilot is the primary confirmed host (MCP Apps UI is rendered in the Copilot Chat panel). Claude Desktop also works via the HTTP transport.
Installation rapide
npx @modelcontextprotocol/inspector http://localhost:8000/mcpInformations
- Tarification
- free
- Publié
- 4/6/2026
- étoiles
- 0