Skip to content

Azure-Samples/interview-coach-agent-framework

Interview Coach with Microsoft Agent Framework

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.

What you'll learn

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, Azure OpenAI, GitHub Models, GitHub Copilot)
  • Deploying to Azure with azd up

See learning objectives for the full breakdown.

Architecture

Overall architecture

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 Foundry, Azure OpenAI, or GitHub Models

See architecture overview for how the pieces fit together.

Prerequisites

See LLM provider options for alternatives.

Getting Started

1. Clone Repository

git clone https://github.com/Azure-Samples/interview-coach-agent-framework.git
cd interview-coach-agent-framework

2. Configure Microsoft Foundry

  1. Create a new Microsoft Foundry project on Foundry Portal or command line.

    See Foundry setup guide for details.

3. Store Credentials

Use .NET user secrets to keep credentials secure:

dotnet user-secrets --file ./apphost.cs set MicrosoftFoundry:Project:Endpoint "{{MICROSOFT_FOUNDRY_PROJECT_ENDPOINT}}"
dotnet user-secrets --file ./apphost.cs set MicrosoftFoundry:Project:ApiKey "{{MICROSOFT_FOUNDRY_API_KEY}}"

4. Run the Application

Start all services with .NET Aspire:

aspire run --file ./apphost.cs

What happens next:

  1. Open Aspire Dashboard (URL shown in terminal output).
  2. All services start (Agent, WebUI, MCP servers, SQLite).
  3. Look for ✅ "Running" status on all resources.
  4. Click the webui endpoint to open the interview coach.

5. Deploy to Azure

Deploy the entire application to Azure Container Apps with one command:

# Login to Azure
azd auth login

# Provision resources and deploy
azd up

6. Clean Up Resources

When finished, remove all Azure resources:

azd down --force --purge

Next Steps

Learn

Alternative LLM providers

The default is Microsoft Foundry, but you can also use:

Alternative agent mode

The default is LlmHandOff, but you can also use:

Additional Resources

Microsoft Foundry

Microsoft Agent Framework

Model Context Protocol

Aspire

Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.

License

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.

About

Interview coach application using Microsoft Agent Framework

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Contributors