Skip to content
Beginner-friendly · Production-grade

Build a production-ready MCP server for Microsoft Copilot Studio

Learn to design, build, secure, test, deploy, and operate a Model Context Protocol (MCP) server in Python — then connect it to a Copilot Studio agent through Azure API Management. The reference example exposes Jira Cloud, but the patterns work for any enterprise system.

Who this is for

This site is written for someone with limited Python experience and limited experience with agentic tools, who needs to understand the complete path from local development to a working Copilot Studio integration. Every chapter adds plain-English explanations, visuals, hands-on labs, and review checklists.

New to MCP

Start with Before You Begin for a jargon-free primer, then follow the chapters in order.

Want a quick win

Go straight to the Quickstart to run the server locally and pass the smoke test.

Shipping to production

What you'll build

A server that lets an AI agent safely use tools. In the reference implementation, the agent is a Copilot Studio agent and the external system is Jira Cloud. When a user asks “Find my open Jira issues”, the MCP server reads the signed-in user's delegated token, calls Jira as that user, trims the response, and returns a compact result.

The big picture. Every chapter zooms into one part of this flow.

The learning path

Nineteen chapters grouped into six stages. Work through them in order, or use the sidebar and search to jump around.

How to use this site
  • Use the search box (press Ctrl + K) to find any concept fast.
  • Toggle dark / light mode with the button in the top bar.
  • Look for concept checks, labs, and end-of-chapter checklists — they make the ideas stick.