Skip to content

Prerequisites for Pro-code bundles

Key concepts before you build

Few concepts appear across every bundle. Read this once โ€” it will save hours of confusion later.


How each bundle works

Pick the bundle that matches your scenario. Each diagram shows exactly what you will wire together and what extra prerequisites you need.

Complete this lab after E1A or E1B and before you start any bundle.

Bundle A โ€” MCP Foundations

Stand up a real MCP server locally, wire a Declarative Agent to it via a Dev Tunnel, then secure it with OAuth.

Bundle B โ€” MCP Advanced

Build on Bundle A's MCP server to add connected agents and embedded knowledge for multi-agent orchestration.

Bundle C โ€” MCP App

Build an MCP-powered app surface with interactive widgets so tool results render as rich UI in Copilot conversations.

Bundle D โ€” API-Based Declarative Agent

Build a REST API backed by Azure Functions, then wire a Declarative Agent to it as an API plugin.

Bundle E โ€” DA with Connectors

Build a Declarative Agent that queries your own external data indexed into Microsoft Graph via a Copilot Connector.


Exercise 1: Verify extra prerequisites installed

Tool Version needed Used in Download
GitHub account Free Bundles A & B โ€” Dev Tunnels github.com/join
Azure Functions Core Tools v4 Bundles C & D learn.microsoft.com
REST Client (VS Code extension) Latest Bundle D VS Code Extensions panel
Azure subscription Free tier OK Bundle A โ€” Lab E10 only azure.microsoft.com/free

Open a terminal and run these checks. Every one should pass before you proceed.


Exercise 2: Verify port forwarding with your first Dev Tunnel

Use this exercise to confirm your machine can expose a local port through a public Dev Tunnel URL.

Success criteria:

  • Port 3001 is forwarded in VS Code.
  • Visibility is set to Public.
  • You can copy a valid https://...use.devtunnels.ms URL.
  1. In VS Code, open the Ports tab (in the terminal panel)
  2. Click Forward a Port, enter 3001, and press Enter
  1. Right-click the new port entry โ†’ Port Visibility โ†’ Public
  2. Sign in with your GitHub account if prompted
  3. Copy the forwarded address โ€” it looks like https://abc123def456.use.devtunnels.ms

If you reached this point, port forwarding is working correctly, and you can stop tunneling for now.