An AI-powered interview coach that shows how to wire up Microsoft Agent Framework, Model Context Protocol (MCP), and Aspire into a working application you can deploy.
This sample covers the patterns you'd need for a real agent deployment:
- Building AI agents with Microsoft Agent Framework
- Multi-agent handoff orchestration — single agent vs. 5 specialized agents
- Model Context Protocol (MCP) for adding tools without touching agent code
- Running multiple services together with Aspire
- Keeping conversation state across sessions
- Swapping LLM providers (Microsoft Foundry and GitHub Copilot)
- Deploying to Azure with
azd up
See learning objectives for the full breakdown.
The app is split into a few services:
- Aspire orchestrates everything (service discovery, health checks, config)
- WebUI is a Blazor chat interface
- Agent runs the interview logic via Microsoft Agent Framework
- MCP Servers handle document parsing (MarkItDown) and session storage (InterviewData)
- LLM Provider talks to Microsoft Foundry or GitHub Copilot
See architecture overview for how the pieces fit together.
- .NET 10 SDK or later
- Visual Studio 2026 or VS Code + C# Dev Kit
- Docker Desktop or equivalent container runtime
Microsoft Foundry also requires an Azure subscription and the Azure CLI. GitHub Copilot requires a Copilot-enabled account and GitHub authentication. See LLM provider options.
git clone https://github.com/Azure-Samples/interview-coach-agent-framework.git
cd interview-coach-agent-frameworkMicrosoft Foundry is the default. Aspire provisions its resource and gpt-5-mini deployment when the app starts. See the Foundry setup guide, or use GitHub Copilot without provisioning an Azure model.
For Microsoft Foundry, sign in with the Azure CLI:
az loginThe agent uses DefaultAzureCredential: Azure CLI credentials locally and managed identity when deployed. For GitHub Copilot, follow the GitHub authentication setup.
Start all services with .NET Aspire:
aspire start --apphost ./apphost.csWhat happens next:
- Open the Aspire Dashboard from the URL printed in the terminal.
- Wait for the services to report
Running. - Open the
webuiendpoint.
Deploy the entire application to Azure Container Apps with one command:
# Login to Azure
azd auth login
# Provision resources and deploy
azd upWhen finished, remove all Azure resources:
azd down --force --purgeThe default is Microsoft Foundry, but you can also use:
- GitHub Copilot — GitHub Copilot SDK integration
The default is HandOff. You can switch to:
Single- single-agent mode
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
This project is licensed under the MIT License - see LICENSE.md for details.
Built by the CoreAI DevRel team | Questions? Check the FAQ or open an issue.
