Skip to content
MCP

Chapter 3 Β· Build

Development Environment for Windows & VS Code

Set up a comfortable, repeatable workspace. Install the tools once, add a few VS Code extensions, and you'll be ready to run and edit the server.

🎯 What you'll be able to do

  • Install every required tool on Windows
  • Add the VS Code extensions that make Python and Azure work pleasant
  • Open the project and run the local helper script
  • Understand what the helper script automates

Required software

ToolPurpose
Windows 11 or 10Target workstation environment
VS CodeEditor and integrated terminal
Python 3.11 or laterRuntime for the MCP server
GitSource control
Azure CLIAzure login, image build, deployment
Node.js LTSNeeded for MCP Inspector via npx
PowerShell 7 or Windows PowerShellShell used by the scripts
Docker DesktopOptional locally β€” the deploy script uses ACR build, so local Docker isn't required
Do I need Docker?
Not to get started. Deployment builds the container image in Azure Container Registry, so you can ship without Docker on your laptop. Install it only if you want to build images locally.

Recommended VS Code extensions

ExtensionWhy
PythonPython language support
PylanceType checking and IntelliSense
RuffFast Python linting
Azure ResourcesAzure navigation from VS Code
BicepAzure infrastructure authoring
GitHub ActionsWorkflow file support
DockerContainer file support

Open the project

PowerShell
cd "C:\Users\uacholonu\OneDrive - Microsoft\Documents\DevZone\CoworkDev\Plugin Projects\My MCP Builds\Microsoft Scout Opus 4.8\jira-mcp-copilot-studio"
code .

Create a virtual environment by hand

The project ships scripts\\run_local.ps1, but it's worth doing this once yourself so you understand what it automates.

PowerShell
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install -e ".[dev]"
If activation is blocked
Run Set-ExecutionPolicy -Scope CurrentUser RemoteSigned, then open a new PowerShell terminal and retry. This allows locally created, signed scripts to run for your user only.

The local helper script

PowerShell
.\scripts\run_local.ps1

It:

  1. creates .venv if missing
  2. installs dependencies
  3. copies .env.example to .env if missing
  4. starts the server on http://localhost:8080

πŸ§ͺ Hands-on lab: Prove your environment works

~10 minutes

Goal: Confirm every tool is installed and the server starts.

  1. Run each of these and note the version: python --version, git --version, node --version, az version.
  2. Open the project folder in VS Code.
  3. Run .\\scripts\\run_local.ps1 and watch for the startup line.
  4. In a second terminal, run Invoke-RestMethod http://localhost:8080/healthz.

Success: you see status: ok. If not, head to Troubleshooting.

β–Ά Watch to reinforce this conceptOptional supplement

Recommended video needed

No specific video is linked here on purpose β€” we don't invent URLs. Search an official source (Microsoft, Azure, Atlassian, GitHub, VS Code, Python, or Model Context Protocol) using:

Python virtual environment VS Code Windows tutorial (Microsoft OR "Visual Studio Code" official)

Reinforces
Python virtual environments in VS Code on Windows
Level
beginner
Why it helps: A visual walkthrough of selecting the interpreter and activating a venv in VS Code prevents the most common beginner setup mistakes.

πŸ“Œ Chapter summary

  • Core tools: VS Code, Python 3.11+, Git, Azure CLI, Node.js LTS, PowerShell 7.
  • Docker Desktop is optional β€” deployment uses ACR build.
  • run_local.ps1 creates the venv, installs deps, seeds .env, and starts the server.

βœ… End-of-chapter review

0/4 done