🔧 Ενότητα 3: Προχωρημένη Ανάπτυξη MCP με το Microsoft Foundry Toolkit
🎯 Στόχοι Μάθησης
Στο τέλος αυτού του εργαστηρίου, θα μπορείτε να:
- ✅ Δημιουργείτε προσαρμοσμένους MCP servers χρησιμοποιώντας το Microsoft Foundry Toolkit
- ✅ Ρυθμίζετε και χρησιμοποιείτε το πιο πρόσφατο MCP Python SDK (v1.9.3)
- ✅ Οργανώνετε και εκμεταλλεύεστε τον MCP Inspector για αποσφαλμάτωση
- ✅ Αποσφαλματώνετε MCP servers τόσο στο περιβάλλον Agent Builder όσο και Inspector
- ✅ Κατανοείτε τις προχωρημένες ροές εργασίας ανάπτυξης MCP servers
📋 Προαπαιτούμενα
- Ολοκλήρωση του Εργαστηρίου 2 (MCP Fundamentals)
- VS Code με το extension Microsoft Foundry Toolkit εγκατεστημένο
- Περιβάλλον Python 3.10+
- Node.js και npm για ρύθμιση του Inspector
🏗️ Τι θα Δημιουργήσετε
Σε αυτό το εργαστήριο, θα δημιουργήσετε έναν Weather MCP Server που δείχνει:
- Υλοποίηση προσαρμοσμένου MCP server
- Ενσωμάτωση με τον Agent Builder του Microsoft Foundry Toolkit
- Επαγγελματικές ροές εργασίας αποσφαλμάτωσης
- Σύγχρονα πρότυπα χρήσης του MCP SDK
🔧 Επισκόπηση Βασικών Συστατικών
🐍 MCP Python SDK
Το Python SDK του Model Context Protocol παρέχει τη βάση για την κατασκευή προσαρμοσμένων MCP servers. Θα χρησιμοποιήσετε την έκδοση 1.9.3 με βελτιωμένες δυνατότητες αποσφαλμάτωσης.
🔍 MCP Inspector
Ένα ισχυρό εργαλείο αποσφαλμάτωσης που προσφέρει:
- Παρακολούθηση server σε πραγματικό χρόνο
- Οπτικοποίηση εκτέλεσης εργαλείων
- Επιθεώρηση αιτημάτων/απαντήσεων δικτύου
- Διαδραστικό περιβάλλον δοκιμών
📖 Βήμα-βήμα Υλοποίηση
Βήμα 1: Δημιουργία ενός WeatherAgent στον Agent Builder
- Εκκινήστε τον Agent Builder στο VS Code μέσω του Microsoft Foundry Toolkit extension
- Δημιουργήστε έναν νέο agent με την εξής διαμόρφωση:
- Όνομα Agent:
WeatherAgent
- Όνομα Agent:
Βήμα 2: Αρχικοποίηση Έργου MCP Server
- Μεταβείτε στα Εργαλεία → Προσθήκη Εργαλείου στον Agent Builder
- Επιλέξτε "MCP Server" από τις διαθέσιμες επιλογές
- Επιλέξτε "Δημιουργία Νέου MCP Server"
- Επιλέξτε το πρότυπο
python-weather - Ονομάστε τον server σας:
weather_mcp
Βήμα 3: Άνοιγμα και Εξέταση του Έργου
- Ανοίξτε το δημιουργημένο έργο στο VS Code
- Επισκοπήστε τη δομή του έργου:
weather_mcp/ ├── src/ │ ├── __init__.py │ └── server.py ├── inspector/ │ ├── package.json │ └── package-lock.json ├── .vscode/ │ ├── launch.json │ └── tasks.json ├── pyproject.toml └── README.md
Βήμα 4: Αναβάθμιση στην Τελευταία Έκδοση MCP SDK
🔍 Γιατί να αναβαθμίσετε; Θέλουμε να χρησιμοποιήσουμε το πιο πρόσφατο MCP SDK (v1.9.3) και την υπηρεσία Inspector (0.14.0) για βελτιωμένα χαρακτηριστικά και καλύτερες δυνατότητες αποσφαλμάτωσης.
4α. Ενημέρωση Εξαρτήσεων Python
Επεξεργαστείτε το pyproject.toml: ενημερώστε το ./code/weather_mcp/pyproject.toml
4β. Ενημέρωση Παραμέτρων Inspector
Επεξεργαστείτε το inspector/package.json: ενημερώστε το ./code/weather_mcp/inspector/package.json
4γ. Ενημέρωση Εξαρτήσεων Inspector
Επεξεργαστείτε το inspector/package-lock.json: ενημερώστε το ./code/weather_mcp/inspector/package-lock.json
📝 Σημείωση: Αυτό το αρχείο περιέχει εκτενείς ορισμούς εξαρτήσεων. Παρακάτω παρουσιάζεται η βασική δομή – το πλήρες περιεχόμενο εξασφαλίζει την ορθή επίλυση των εξαρτήσεων.
⚡ Πλήρες Package Lock: Το πλήρες package-lock.json περιέχει ~3000 γραμμές ορισμών εξαρτήσεων. Το παραπάνω δείχνει τη βασική δομή - χρησιμοποιήστε το παρεχόμενο αρχείο για πλήρη επίλυση εξαρτήσεων.
Βήμα 5: Ρύθμιση Αποσφαλμάτωσης VS Code
Σημείωση: Αντιγράψτε το αρχείο στην καθορισμένη διαδρομή για να αντικαταστήσετε το αντίστοιχο τοπικό αρχείο
5α. Ενημέρωση Διαμόρφωσης Εκκίνησης
Επεξεργαστείτε το .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
}
]
}
Επεξεργαστείτε το .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"
}
]
}
🚀 Εκτέλεση και Δοκιμή του MCP Server σας
Βήμα 6: Εγκατάσταση Εξαρτήσεων
Αφού κάνετε τις αλλαγές στη διαμόρφωση, εκτελέστε τις ακόλουθες εντολές:
Εγκατάσταση εξαρτήσεων Python:
uv sync
Εγκατάσταση εξαρτήσεων Inspector:
cd inspector
npm install
Βήμα 7: Αποσφαλμάτωση με Agent Builder
- Πατήστε F5 ή χρησιμοποιήστε τη διαμόρφωση "Debug in Agent Builder"
- Επιλέξτε τη σύνθετη διαμόρφωση από το πάνελ αποσφαλμάτωσης
- Περιμένετε να ξεκινήσει ο server και να ανοίξει ο Agent Builder
- Δοκιμάστε τον weather MCP server σας με ερωτήματα φυσικής γλώσσας
Πληκτρολογήστε prompt όπως αυτό
SYSTEM_PROMPT
You are my weather assistant
USER_PROMPT
How's the weather like in Seattle
Βήμα 8: Αποσφαλμάτωση με MCP Inspector
- Χρησιμοποιήστε τη διαμόρφωση "Debug in Inspector" (Edge ή Chrome)
- Ανοίξτε την διεπαφή του Inspector στο
http://localhost:6274 - Εξερευνήστε το διαδραστικό περιβάλλον δοκιμών:
- Προβολή διαθέσιμων εργαλείων
- Δοκιμή εκτέλεσης εργαλείων
- Παρακολούθηση αιτημάτων δικτύου
- Αποσφαλμάτωση απαντήσεων server
🎯 Κύρια Αποτελέσματα Μάθησης
Ολοκληρώνοντας αυτό το εργαστήριο, έχετε:
- Δημιουργήσει προσαρμοσμένο MCP server χρησιμοποιώντας πρότυπα Microsoft Foundry Toolkit
- Αναβαθμίσει στο πιο πρόσφατο MCP SDK (v1.9.3) για βελτιωμένες λειτουργίες
- Διαμορφώσει επαγγελματικές ροές εργασίας αποσφαλμάτωσης για Agent Builder και Inspector
- Οργανώσει τον MCP Inspector για διαδραστικές δοκιμές server
- Κατακτήσει τις ρυθμίσεις αποσφαλμάτωσης VS Code για MCP ανάπτυξη
🔧 Εξερευνημένα Προχωρημένα Χαρακτηριστικά
| Χαρακτηριστικό | Περιγραφή | Περίπτωση Χρήσης |
|---|---|---|
| MCP Python SDK v1.9.3 | Πιο πρόσφατη υλοποίηση πρωτοκόλλου | Σύγχρονη ανάπτυξη server |
| MCP Inspector 0.14.0 | Διαδραστικό εργαλείο αποσφαλμάτωσης | Δοκιμή server σε πραγματικό χρόνο |
| VS Code Debugging | Ενσωματωμένο περιβάλλον ανάπτυξης | Επαγγελματική ροή αποσφαλμάτωσης |
| Agent Builder Integration | Άμεση σύνδεση με Microsoft Foundry Toolkit | Ολοκληρωμένη δοκιμή agent |
📚 Πρόσθετοι Πόροι
- MCP Python SDK Documentation
- Microsoft Foundry Toolkit Extension Guide
- VS Code Debugging Documentation
- Model Context Protocol Specification
🎉 Συγχαρητήρια! Ολοκληρώσατε επιτυχώς το Εργαστήριο 3 και τώρα μπορείτε να δημιουργείτε, αποσφαλματώνετε και να αναπτύσσετε προσαρμοσμένους MCP servers χρησιμοποιώντας επαγγελματικές ροές ανάπτυξης.
🔜 Συνεχίστε στην Επόμενη Ενότητα
Έτοιμοι να εφαρμόσετε τις ικανότητές σας στο MCP σε μια πραγματική ροή εργασίας ανάπτυξης; Συνεχίστε στο Ενότητα 4: Πρακτική Ανάπτυξη MCP - Προσαρμοσμένος Server Αντιγραφής GitHub όπου θα:
- Δημιουργήσετε έναν παραγωγικό MCP server που αυτοματοποιεί λειτουργίες αποθετηρίων GitHub
- Υλοποιήσετε λειτουργικότητα αντιγραφής αποθετηρίου GitHub μέσω MCP
- Ενσωματώσετε προσαρμοσμένους MCP servers με VS Code και GitHub Copilot Agent Mode
- Δοκιμάσετε και αναπτύξετε προσαρμοσμένους MCP servers σε παραγωγικά περιβάλλοντα
- Μάθετε πρακτική αυτοματοποίηση ροών εργασίας για προγραμματιστές
Αποποίηση ευθυνών: Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία μετάφρασης με τεχνητή νοημοσύνη Co-op Translator. Ενώ επιδιώκουμε την ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτοματοποιημένες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή λανθασμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.



