🔧 Modulul 3: Dezvoltare Avansată MCP cu Microsoft Foundry Toolkit
🎯 Obiective de Învățare
La finalul acestui laborator, veți putea:
- ✅ Crea servere MCP personalizate folosind Microsoft Foundry Toolkit
- ✅ Configura și utiliza cel mai recent MCP Python SDK (v1.9.3)
- ✅ Configura și utiliza MCP Inspector pentru depanare
- ✅ Depana serverele MCP în mediile Agent Builder și Inspector
- ✅ Înțelege fluxurile de dezvoltare avansate pentru servere MCP
📋 Cerințe Prealabile
- Finalizarea Laboratorului 2 (Fundamente MCP)
- VS Code cu extensia Microsoft Foundry Toolkit instalată
- Mediu Python 3.10+
- Node.js și npm pentru configurarea Inspector
🏗️ Ce Veți Construi
În acest laborator, veți crea un Server MCP Meteo care demonstrează:
- Implementarea unui server MCP personalizat
- Integrarea cu Microsoft Foundry Toolkit Agent Builder
- Fluxuri profesionale de depanare
- Utilizarea modernă a SDK-ului MCP
🔧 Prezentare Generală a Componentelor de Bază
🐍 MCP Python SDK
SDK-ul Model Context Protocol Python oferă fundația pentru construirea serverelor MCP personalizate. Veți utiliza versiunea 1.9.3 cu capabilități îmbunătățite de depanare.
🔍 MCP Inspector
Un instrument puternic de depanare care oferă:
- Monitorizare în timp real a serverului
- Vizualizarea execuției instrumentelor
- Inspectarea cererilor/răspunsurilor de rețea
- Mediu de testare interactiv
📖 Implementare Pas-cu-Pas
Pasul 1: Creați un WeatherAgent în Agent Builder
- Lansați Agent Builder în VS Code prin extensia Microsoft Foundry Toolkit
- Creați un agent nou cu următoarea configurare:
- Numele Agentului:
WeatherAgent
- Numele Agentului:
Pasul 2: Inițializați Proiectul Server MCP
- Navigați la Tools → Add Tool în Agent Builder
- Selectați "MCP Server" din opțiunile disponibile
- Alegeți "Create A new MCP Server"
- Selectați template-ul
python-weather - Numiți serverul:
weather_mcp
Pasul 3: Deschideți și Examinați Proiectul
- Deschideți proiectul generat în VS Code
- Revizuiți structura proiectului:
weather_mcp/ ├── src/ │ ├── __init__.py │ └── server.py ├── inspector/ │ ├── package.json │ └── package-lock.json ├── .vscode/ │ ├── launch.json │ └── tasks.json ├── pyproject.toml └── README.md
Pasul 4: Actualizați la Cel Mai Recent MCP SDK
🔍 De ce să actualizăm? Dorim să utilizăm cel mai recent MCP SDK (v1.9.3) și serviciul Inspector (0.14.0) pentru funcționalități îmbunătățite și capabilități de depanare superioare.
4a. Actualizați Dependențele Python
Editați pyproject.toml: actualizați ./code/weather_mcp/pyproject.toml
4b. Actualizați Configurația Inspector
Editați inspector/package.json: actualizați ./code/weather_mcp/inspector/package.json
4c. Actualizați Dependențele Inspector
Editați inspector/package-lock.json: actualizați ./code/weather_mcp/inspector/package-lock.json
📝 Notă: Acest fișier conține definiții extinse de dependențe. Mai jos este structura esențială - conținutul complet asigură rezolvarea corectă a dependențelor.
⚡ Fișier complet Package Lock: Package-lock.json complet conține ~3000 linii de definiții pentru dependențe. Mai sus este structura cheie - folosiți fișierul furnizat pentru o rezolvare completă a dependențelor.
Pasul 5: Configurați Depanarea în VS Code
Notă: Vă rugăm să copiați fișierul în calea specificată pentru a înlocui fișierul local corespunzător
5a. Actualizați Configurația de Lansare
Editați .vscode/launch.json:
{
"version": "0.2.0",
"configurations": [
{
"name": "Attach to Local MCP",
"type": "debugpy",
"request": "attach",
"connect": {
"host": "localhost",
"port": 5678
},
"presentation": {
"hidden": true
},
"internalConsoleOptions": "neverOpen",
"postDebugTask": "Terminate All Tasks"
},
{
"name": "Launch Inspector (Edge)",
"type": "msedge",
"request": "launch",
"url": "http://localhost:6274?timeout=60000&serverUrl=http://localhost:3001/sse#tools",
"cascadeTerminateToConfigurations": [
"Attach to Local MCP"
],
"presentation": {
"hidden": true
},
"internalConsoleOptions": "neverOpen"
},
{
"name": "Launch Inspector (Chrome)",
"type": "chrome",
"request": "launch",
"url": "http://localhost:6274?timeout=60000&serverUrl=http://localhost:3001/sse#tools",
"cascadeTerminateToConfigurations": [
"Attach to Local MCP"
],
"presentation": {
"hidden": true
},
"internalConsoleOptions": "neverOpen"
}
],
"compounds": [
{
"name": "Debug in Agent Builder",
"configurations": [
"Attach to Local MCP"
],
"preLaunchTask": "Open Agent Builder",
},
{
"name": "Debug in Inspector (Edge)",
"configurations": [
"Launch Inspector (Edge)",
"Attach to Local MCP"
],
"preLaunchTask": "Start MCP Inspector",
"stopAll": true
},
{
"name": "Debug in Inspector (Chrome)",
"configurations": [
"Launch Inspector (Chrome)",
"Attach to Local MCP"
],
"preLaunchTask": "Start MCP Inspector",
"stopAll": true
}
]
}
Editați .vscode/tasks.json:
{
"version": "2.0.0",
"tasks": [
{
"label": "Start MCP Server",
"type": "shell",
"command": "python -m debugpy --listen 127.0.0.1:5678 src/__init__.py sse",
"isBackground": true,
"options": {
"cwd": "${workspaceFolder}",
"env": {
"PORT": "3001"
}
},
"problemMatcher": {
"pattern": [
{
"regexp": "^.*$",
"file": 0,
"location": 1,
"message": 2
}
],
"background": {
"activeOnStart": true,
"beginsPattern": ".*",
"endsPattern": "Application startup complete|running"
}
}
},
{
"label": "Start MCP Inspector",
"type": "shell",
"command": "npm run dev:inspector",
"isBackground": true,
"options": {
"cwd": "${workspaceFolder}/inspector",
"env": {
"CLIENT_PORT": "6274",
"SERVER_PORT": "6277",
}
},
"problemMatcher": {
"pattern": [
{
"regexp": "^.*$",
"file": 0,
"location": 1,
"message": 2
}
],
"background": {
"activeOnStart": true,
"beginsPattern": "Starting MCP inspector",
"endsPattern": "Proxy server listening on port"
}
},
"dependsOn": [
"Start MCP Server"
]
},
{
"label": "Open Agent Builder",
"type": "shell",
"command": "echo ${input:openAgentBuilder}",
"presentation": {
"reveal": "never"
},
"dependsOn": [
"Start MCP Server"
],
},
{
"label": "Terminate All Tasks",
"command": "echo ${input:terminate}",
"type": "shell",
"problemMatcher": []
}
],
"inputs": [
{
"id": "openAgentBuilder",
"type": "command",
"command": "ai-mlstudio.agentBuilder",
"args": {
"initialMCPs": [ "local-server-weather_mcp" ],
"triggeredFrom": "vsc-tasks"
}
},
{
"id": "terminate",
"type": "command",
"command": "workbench.action.tasks.terminate",
"args": "terminateAll"
}
]
}
🚀 Rularea și Testarea Serverului MCP
Pasul 6: Instalați Dependențele
După ce ați făcut modificările de configurare, rulați următoarele comenzi:
Instalați dependențele Python:
uv sync
Instalați dependențele Inspector:
cd inspector
npm install
Pasul 7: Depanați cu Agent Builder
- Apăsați F5 sau folosiți configurația "Debug in Agent Builder"
- Selectați configurația compusă din panoul de depanare
- Așteptați pornirea serverului și deschiderea Agent Builder
- Testați serverul dvs. meteo MCP cu interogări în limbaj natural
Introduceți o solicitare ca aceasta
SYSTEM_PROMPT
You are my weather assistant
USER_PROMPT
How's the weather like in Seattle
Pasul 8: Depanați cu MCP Inspector
- Folosiți configurația "Debug in Inspector" (Edge sau Chrome)
- Deschideți interfața Inspector la
http://localhost:6274 - Explorați mediul interactiv de testare:
- Vizualizați instrumentele disponibile
- Testați execuția instrumentelor
- Monitorizați cererile de rețea
- Depanați răspunsurile serverului
🎯 Rezultate Cheie ale Învățării
După finalizarea acestui laborator, ați:
- Creat un server MCP personalizat folosind template-urile Microsoft Foundry Toolkit
- Actualizat la cel mai recent MCP SDK (v1.9.3) pentru funcționalitate îmbunătățită
- Configurat fluxuri profesionale de depanare pentru Agent Builder și Inspector
- Configurat MCP Inspector pentru testare interactivă a serverului
- Stăpânit configurațiile de depanare VS Code pentru dezvoltarea MCP
🔧 Funcționalități Avansate Exploatate
| Funcționalitate | Descriere | Caz de Utilizare |
|---|---|---|
| MCP Python SDK v1.9.3 | Implementarea protocolului cea mai recentă | Dezvoltare modernă a serverelor |
| MCP Inspector 0.14.0 | Instrument interactiv de depanare | Testare în timp real a serverelor |
| Depanare VS Code | Mediu integrat de dezvoltare | Flux de depanare profesional |
| Integrarea Agent Builder | Conexiune directă Microsoft Foundry Toolkit | Testare completă a agentului |
📚 Resurse Suplimentare
- Documentație MCP Python SDK
- Ghid Extensie Microsoft Foundry Toolkit
- Documentație Depanare VS Code
- Specificația Model Context Protocol
🎉 Felicitări! Ați finalizat cu succes Laboratorul 3 și acum puteți crea, depana și implementa servere MCP personalizate folosind fluxuri profesionale de dezvoltare.
🔜 Continuați la Modulul Următor
Doriți să aplicați abilitățile MCP într-un flux de lucru real? Continuați la Modulul 4: Dezvoltare MCP Practică - Server Personalizat de Clonare GitHub unde veți:
- Construi un server MCP gata pentru producție care automatizează operațiuni cu depozite GitHub
- Implementa funcționalitatea de clonare depozite GitHub prin MCP
- Integra serverele MCP personalizate cu VS Code și GitHub Copilot Agent Mode
- Testa și implementa servere MCP personalizate în medii de producție
- Învața automatizarea practică a fluxurilor de lucru pentru dezvoltatori
Declinare a responsabilității: Acest document a fost tradus folosind serviciul de traducere AI Co-op Translator. În timp ce ne străduim pentru acuratețe, vă rugăm să rețineți că traducerile automate pot conține erori sau inexactități. Documentul original în limba sa nativă trebuie considerat sursa autorizată. Pentru informații critice, se recomandă traducerea profesională realizată de un om. Nu ne asumăm responsabilitatea pentru eventualele neînțelegeri sau interpretări greșite care decurg din utilizarea acestei traduceri.



