Na kraju ovog laboratorijskog zadatka bićete u stanju da:
- ✅ Kreirate prilagođene MCP servere koristeći AI Toolkit
- ✅ Konfigurišete i koristite najnoviji MCP Python SDK (v1.9.3)
- ✅ Postavite i koristite MCP Inspector za otklanjanje grešaka
- ✅ Otklanjate greške MCP servera u okruženjima Agent Builder i Inspector
- ✅ Razumete napredne tokove rada u razvoju MCP servera
- Završetak laboratorije 2 (MCP Osnove)
- VS Code sa instaliranim AI Toolkit dodatkom
- Python 3.10+ okruženje
- Node.js i npm za podešavanje Inspectora
U ovoj laboratoriji kreiraćete Weather MCP Server koji prikazuje:
- Implementaciju prilagođenog MCP servera
- Integraciju sa AI Toolkit Agent Builder-om
- Profesionalne tokove rada za otklanjanje grešaka
- Moderne obrasce korišćenja MCP SDK-a
Model Context Protocol Python SDK pruža osnovu za pravljenje prilagođenih MCP servera. Koristićete verziju 1.9.3 sa unapređenim mogućnostima za otklanjanje grešaka.
Snažan alat za otklanjanje grešaka koji nudi:
- Praćenje servera u realnom vremenu
- Vizualizaciju izvršavanja alata
- Inspekciju mrežnih zahteva/odgovora
- Interaktivno testno okruženje
- Pokrenite Agent Builder u VS Code-u preko AI Toolkit dodatka
- Kreirajte novog agenta sa sledećom konfiguracijom:
- Ime agenta:
WeatherAgent
- Ime agenta:
- Idite na Tools → Add Tool u Agent Builder-u
- Izaberite "MCP Server" iz ponuđenih opcija
- Izaberite "Create A new MCP Server"
- Odaberite
python-weatheršablon - Imenujte svoj server:
weather_mcp
- Otvorite generisani projekat u VS Code-u
- Pregledajte strukturu projekta:
weather_mcp/ ├── src/ │ ├── __init__.py │ └── server.py ├── inspector/ │ ├── package.json │ └── package-lock.json ├── .vscode/ │ ├── launch.json │ └── tasks.json ├── pyproject.toml └── README.md
🔍 Zašto nadogradnja? Želimo da koristimo najnoviji MCP SDK (v1.9.3) i Inspector servis (0.14.0) za dodatne funkcionalnosti i bolje mogućnosti otklanjanja grešaka.
Izmenite pyproject.toml: update ./code/weather_mcp/pyproject.toml
Edit inspector/package.json: update ./code/weather_mcp/inspector/package.json
Edit inspector/package-lock.json: update ./code/weather_mcp/inspector/package-lock.json
📝 Note: This file contains extensive dependency definitions. Below is the essential structure - the full content ensures proper dependency resolution.
⚡ Full Package Lock: The complete package-lock.json contains ~3000 lines of dependency definitions. The above shows the key structure - use the provided file for complete dependency resolution.
Note: Please copy the file in the specified path to replace the corresponding local file
Edit .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
}
]
}Izmenite .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"
}
]
}
Nakon što izvršite izmene u konfiguraciji, pokrenite sledeće komande:
Instalirajte Python zavisnosti:
uv syncInstalirajte zavisnosti za Inspector:
cd inspector
npm install- Pritisnite F5 ili koristite konfiguraciju "Debug in Agent Builder"
- Izaberite compound konfiguraciju u debug panelu
- Sačekajte da server startuje i da se otvori Agent Builder
- Testirajte svoj weather MCP server koristeći upite na prirodnom jeziku
Unesite upit kao u primeru:
SYSTEM_PROMPT
You are my weather assistant
USER_PROMPT
How's the weather like in Seattle
- Koristite konfiguraciju "Debug in Inspector" (Edge ili Chrome)
- Otvorite Inspector interfejs na adresi
http://localhost:6274 - Istražite interaktivno testno okruženje:
- Pregled dostupnih alata
- Testiranje izvršenja alata
- Praćenje mrežnih zahteva
- Otklanjanje grešaka odgovora servera
Završetkom ove laboratorije ste:
- Kreirali prilagođeni MCP server koristeći AI Toolkit šablone
- Nadogradili na najnoviji MCP SDK (v1.9.3) za unapređenu funkcionalnost
- Konfigurisali profesionalne tokove za otklanjanje grešaka za Agent Builder i Inspector
- Postavili MCP Inspector za interaktivno testiranje servera
- Savladali VS Code konfiguracije za otklanjanje grešaka u razvoju MCP-a
| Funkcija | Opis | Primer upotrebe |
|---|---|---|
| MCP Python SDK v1.9.3 | Najnovija implementacija protokola | Savremeni razvoj servera |
| MCP Inspector 0.14.0 | Interaktivni alat za otklanjanje grešaka | Testiranje servera u realnom vremenu |
| VS Code Debugging | Integrisano razvojno okruženje | Profesionalni tok otklanjanja grešaka |
| Agent Builder Integration | Direktna veza sa AI Toolkit-om | End-to-end testiranje agenta |
- MCP Python SDK Dokumentacija
- AI Toolkit Uputstvo za dodatak
- VS Code Dokumentacija za otklanjanje grešaka
- Model Context Protocol Specifikacija
🎉 Čestitamo! Uspešno ste završili laboratoriju 3 i sada možete kreirati, otklanjati greške i implementirati prilagođene MCP servere koristeći profesionalne tokove rada.
Spremni da primenite svoje MCP veštine u realnom razvojnom okruženju? Nastavite na Modul 4: Praktični MCP razvoj - Prilagođeni GitHub Clone Server gde ćete:
- Izgraditi MCP server spreman za produkciju koji automatizuje operacije sa GitHub repozitorijumima
- Implementirati funkcionalnost kloniranja GitHub repozitorijuma preko MCP-a
- Integrisati prilagođene MCP servere sa VS Code i GitHub Copilot Agent modom
- Testirati i implementirati prilagođene MCP servere u produkcionim okruženjima
- Naučiti praktičnu automatizaciju tokova rada za programere
Одрицање од одговорности:
Овај документ је преведен коришћењем AI преводилачке услуге Co-op Translator. Иако настојимо да превод буде прецизан, молимо вас да имате у виду да аутоматизовани преводи могу садржати грешке или нетачности. Изворни документ на његовом оригиналном језику треба сматрати ауторитетним извором. За критичне информације препоручује се професионални људски превод. Нисмо одговорни за било каква неспоразума или погрешне интерпретације настале употребом овог превода.



