Η πρακτική εφαρμογή είναι το σημείο όπου η δύναμη του Model Context Protocol (MCP) γίνεται απτή. Ενώ η κατανόηση της θεωρίας και της αρχιτεκτονικής πίσω από το MCP είναι σημαντική, η πραγματική αξία αναδεικνύεται όταν εφαρμόζετε αυτές τις έννοιες για να δημιουργήσετε, να δοκιμάσετε και να αναπτύξετε λύσεις που επιλύουν πραγματικά προβλήματα. Αυτό το κεφάλαιο γεφυρώνει το χάσμα ανάμεσα στη θεωρητική γνώση και την πρακτική ανάπτυξη, καθοδηγώντας σας στη διαδικασία υλοποίησης εφαρμογών βασισμένων σε MCP.
Είτε αναπτύσσετε έξυπνους βοηθούς, ενσωματώνετε τεχνητή νοημοσύνη σε επιχειρησιακές ροές εργασίας, είτε δημιουργείτε προσαρμοσμένα εργαλεία για επεξεργασία δεδομένων, το MCP προσφέρει μια ευέλικτη βάση. Ο σχεδιασμός ανεξάρτητος γλώσσας και τα επίσημα SDK για δημοφιλείς γλώσσες προγραμματισμού το καθιστούν προσιτό σε ένα ευρύ φάσμα προγραμματιστών. Αξιοποιώντας αυτά τα SDK, μπορείτε γρήγορα να κάνετε πρωτότυπα, να επαναλάβετε και να κλιμακώσετε τις λύσεις σας σε διαφορετικές πλατφόρμες και περιβάλλοντα.
Στις επόμενες ενότητες, θα βρείτε πρακτικά παραδείγματα, δείγματα κώδικα και στρατηγικές ανάπτυξης που δείχνουν πώς να υλοποιήσετε το MCP σε C#, Java, TypeScript, JavaScript και Python. Θα μάθετε επίσης πώς να αποσφαλματώνετε και να δοκιμάζετε τους MCP servers σας, να διαχειρίζεστε APIs και να αναπτύσσετε λύσεις στο cloud χρησιμοποιώντας το Azure. Αυτοί οι πρακτικοί πόροι έχουν σχεδιαστεί για να επιταχύνουν τη μάθησή σας και να σας βοηθήσουν να δημιουργήσετε με αυτοπεποίθηση στιβαρές, παραγωγικές εφαρμογές MCP.
Αυτό το μάθημα εστιάζει στις πρακτικές πτυχές της υλοποίησης MCP σε πολλές γλώσσες προγραμματισμού. Θα εξερευνήσουμε πώς να χρησιμοποιήσουμε τα MCP SDK σε C#, Java, TypeScript, JavaScript και Python για να δημιουργήσουμε στιβαρές εφαρμογές, να αποσφαλματώσουμε και να δοκιμάσουμε MCP servers, και να δημιουργήσουμε επαναχρησιμοποιήσιμους πόρους, prompts και εργαλεία.
Στο τέλος αυτού του μαθήματος, θα μπορείτε να:
- Υλοποιείτε λύσεις MCP χρησιμοποιώντας επίσημα SDK σε διάφορες γλώσσες προγραμματισμού
- Αποσφαλματώνετε και δοκιμάζετε συστηματικά MCP servers
- Δημιουργείτε και χρησιμοποιείτε λειτουργίες server (Resources, Prompts, και Tools)
- Σχεδιάζετε αποτελεσματικές ροές εργασίας MCP για σύνθετες εργασίες
- Βελτιστοποιείτε τις υλοποιήσεις MCP για απόδοση και αξιοπιστία
Το Model Context Protocol προσφέρει επίσημα SDK για πολλές γλώσσες:
Αυτή η ενότητα παρέχει πρακτικά παραδείγματα υλοποίησης MCP σε πολλές γλώσσες προγραμματισμού. Μπορείτε να βρείτε δείγματα κώδικα στον κατάλογο samples οργανωμένα ανά γλώσσα.
Το αποθετήριο περιλαμβάνει δείγματα υλοποίησης στις παρακάτω γλώσσες:
Κάθε δείγμα παρουσιάζει βασικές έννοιες MCP και πρότυπα υλοποίησης για τη συγκεκριμένη γλώσσα και οικοσύστημα.
Οι MCP servers μπορούν να υλοποιήσουν οποιονδήποτε συνδυασμό από αυτές τις λειτουργίες:
Οι Resources παρέχουν πλαίσιο και δεδομένα για τον χρήστη ή το AI μοντέλο:
- Αποθετήρια εγγράφων
- Βάσεις γνώσης
- Δομημένες πηγές δεδομένων
- Συστήματα αρχείων
Τα Prompts είναι προτύπα μηνυμάτων και ροών εργασίας για τους χρήστες:
- Προκαθορισμένα πρότυπα συνομιλίας
- Καθοδηγούμενα μοτίβα αλληλεπίδρασης
- Εξειδικευμένες δομές διαλόγου
Τα Tools είναι λειτουργίες που εκτελεί το AI μοντέλο:
- Εργαλεία επεξεργασίας δεδομένων
- Ενσωματώσεις εξωτερικών APIs
- Υπολογιστικές δυνατότητες
- Λειτουργίες αναζήτησης
Το επίσημο αποθετήριο C# SDK περιέχει αρκετά δείγματα που παρουσιάζουν διαφορετικές πτυχές του MCP:
- Βασικός MCP Client: Απλό παράδειγμα δημιουργίας ενός MCP client και κλήσης εργαλείων
- Βασικός MCP Server: Ελάχιστη υλοποίηση server με βασική καταχώρηση εργαλείων
- Προχωρημένος MCP Server: Πλήρης server με καταχώρηση εργαλείων, αυθεντικοποίηση και διαχείριση σφαλμάτων
- Ενσωμάτωση ASP.NET: Παραδείγματα ενσωμάτωσης με ASP.NET Core
- Πρότυπα Υλοποίησης Εργαλείων: Διάφορα πρότυπα για υλοποίηση εργαλείων με διαφορετικά επίπεδα πολυπλοκότητας
Το MCP C# SDK βρίσκεται σε προεπισκόπηση και οι APIs ενδέχεται να αλλάξουν. Θα ενημερώνουμε συνεχώς αυτό το blog καθώς εξελίσσεται το SDK.
-
Δημιουργία του πρώτου MCP Server.
Για πλήρη δείγματα υλοποίησης σε C#, επισκεφθείτε το επίσημο αποθετήριο δειγμάτων C# SDK
Το Java SDK προσφέρει στιβαρές επιλογές υλοποίησης MCP με χαρακτηριστικά επιπέδου επιχείρησης.
- Ενσωμάτωση με Spring Framework
- Ισχυρός τύπος ασφαλείας
- Υποστήριξη αντιδραστικού προγραμματισμού
- Ολοκληρωμένη διαχείριση σφαλμάτων
Για πλήρες παράδειγμα υλοποίησης σε Java, δείτε το Java δείγμα στον κατάλογο δειγμάτων.
Το JavaScript SDK προσφέρει μια ελαφριά και ευέλικτη προσέγγιση στην υλοποίηση MCP.
- Υποστήριξη Node.js και browser
- Promise-based API
- Εύκολη ενσωμάτωση με Express και άλλα frameworks
- Υποστήριξη WebSocket για streaming
Για πλήρες παράδειγμα υλοποίησης σε JavaScript, δείτε το JavaScript δείγμα στον κατάλογο δειγμάτων.
Το Python SDK προσφέρει μια Python-κεντρική προσέγγιση στην υλοποίηση MCP με εξαιρετικές ενσωματώσεις σε ML frameworks.
- Υποστήριξη async/await με asyncio
- Ενσωμάτωση με Flask και FastAPI
- Απλή καταχώρηση εργαλείων
- Φυσική ενσωμάτωση με δημοφιλείς βιβλιοθήκες ML
Για πλήρες παράδειγμα υλοποίησης σε Python, δείτε το Python δείγμα στον κατάλογο δειγμάτων.
Το Azure API Management είναι μια εξαιρετική λύση για το πώς μπορούμε να ασφαλίσουμε τους MCP Servers. Η ιδέα είναι να τοποθετήσετε μια υπηρεσία Azure API Management μπροστά από τον MCP Server σας και να αφήσετε αυτήν να διαχειρίζεται λειτουργίες που πιθανόν να χρειαστείτε, όπως:
- περιορισμός ρυθμού αιτημάτων
- διαχείριση tokens
- παρακολούθηση
- ισορροπία φορτίου
- ασφάλεια
Εδώ υπάρχει ένα παράδειγμα Azure που κάνει ακριβώς αυτό, δηλαδή δημιουργία MCP Server και ασφάλιση με Azure API Management.
Δείτε πώς γίνεται η ροή εξουσιοδότησης στην παρακάτω εικόνα:
Στην παραπάνω εικόνα, συμβαίνει το εξής:
- Η αυθεντικοποίηση/εξουσιοδότηση γίνεται μέσω Microsoft Entra.
- Το Azure API Management λειτουργεί ως πύλη και χρησιμοποιεί πολιτικές για να κατευθύνει και να διαχειρίζεται την κίνηση.
- Το Azure Monitor καταγράφει όλα τα αιτήματα για περαιτέρω ανάλυση.
Ας δούμε πιο αναλυτικά τη ροή εξουσιοδότησης:
Μάθετε περισσότερα για την προδιαγραφή εξουσιοδότησης MCP
Ας δούμε αν μπορούμε να αναπτύξουμε το παράδειγμα που αναφέραμε νωρίτερα:
-
Κλωνοποιήστε το αποθετήριο
git clone https://github.com/Azure-Samples/remote-mcp-apim-functions-python.git cd remote-mcp-apim-functions-python -
Καταχωρήστε
Microsoft.Appresource provider.- If you are using Azure CLI, run
az provider register --namespace Microsoft.App --wait. - If you are using Azure PowerShell, run
Register-AzResourceProvider -ProviderNamespace Microsoft.App. Then run(Get-AzResourceProvider -ProviderNamespace Microsoft.App).RegistrationStateκαι μετά από λίγο ελέγξτε αν η καταχώρηση ολοκληρώθηκε.
- If you are using Azure CLI, run
-
Εκτελέστε αυτήν την εντολή azd για να προμηθευτείτε την υπηρεσία api management, τη function app (με κώδικα) και όλους τους άλλους απαιτούμενους πόρους Azure
azd up
Αυτή η εντολή θα αναπτύξει όλους τους πόρους στο cloud στο Azure.
-
Σε ένα νέο παράθυρο τερματικού, εγκαταστήστε και εκτελέστε το MCP Inspector
npx @modelcontextprotocol/inspector
Θα δείτε μια διεπαφή παρόμοια με:
-
Κάντε CTRL κλικ για να φορτώσετε την web εφαρμογή MCP Inspector από το URL που εμφανίζει η εφαρμογή (π.χ. http://127.0.0.1:6274/#resources)
-
Ορίστε τον τύπο μεταφοράς σε
SSE -
Set the URL to your running API Management SSE endpoint displayed after
azd upκαι Connect:https://<apim-servicename-from-azd-output>.azure-api.net/mcp/sse
-
Λίστα Εργαλείων. Κάντε κλικ σε ένα εργαλείο και επιλέξτε Run Tool.
Αν όλα τα βήματα ολοκληρώθηκαν σωστά, θα είστε τώρα συνδεδεμένοι στον MCP server και θα έχετε καλέσει ένα εργαλείο.
Remote-mcp-functions: Αυτό το σύνολο αποθετηρίων είναι πρότυπα γρήγορης εκκίνησης για την κατασκευή και ανάπτυξη προσαρμοσμένων απομακρυσμένων MCP (Model Context Protocol) servers χρησιμοποιώντας Azure Functions με Python, C# .NET ή Node/TypeScript.
Τα δείγματα παρέχουν μια ολοκληρωμένη λύση που επιτρέπει στους προγραμματιστές να:
- Δημιουργήσουν και να τρέξουν τοπικά: Αναπτύξτε και αποσφαλματώστε έναν MCP server σε τοπικό μηχάνημα
- Αναπτύξουν στο Azure: Αναπτύξτε εύκολα στο cloud με μια απλή εντολή azd up
- Συνδεθούν από clients: Συνδεθείτε στον MCP server από διάφορους clients, συμπεριλαμβανομένης της λειτουργίας agent Copilot του VS Code και του εργαλείου MCP Inspector
- Ασφάλεια από το σχεδιασμό: Ο MCP server ασφαλίζεται με κλειδιά και HTTPS
- Επιλογές αυθεντικοποίησης: Υποστηρίζει OAuth με ενσωματωμένη αυθεντικοποίηση και/ή API Management
- Απομόνωση δικτύου: Επιτρέπει απομόνωση δικτύου με χρήση Azure Virtual Networks (VNET)
- Serverless αρχιτεκτονική: Αξιοποιεί Azure Functions για κλιμακούμενη, εκτέλεση με βάση τα γεγονότα
- Τοπική ανάπτυξη: Ολοκληρωμένη υποστήριξη τοπικής ανάπτυξης και αποσφαλμάτωσης
- Απλή ανάπτυξη: Απλοποιημένη διαδικασία ανάπτυξης στο Azure
Το αποθετήριο περιλαμβάνει όλα τα απαραίτητα αρχεία ρυθμίσεων, πηγαίο κώδικα και ορισμούς υποδομής για να ξεκινήσετε γρήγορα με μια παραγωγική υλοποίηση MCP server.
-
Azure Remote MCP Functions Python - Παράδειγμα υλοποίησης MCP με Azure Functions και Python
-
Azure Remote MCP Functions .NET - Παράδειγμα υλοποίησης MCP με Azure Functions και C# .NET
-
Azure Remote MCP Functions Node/Typescript - Παράδειγμα υλοποίησης MCP με Azure Functions και Node/TypeScript.
- Τα MCP SDK παρέχουν εργαλεία ειδικά για κάθε γλώσσα για την υλοποίηση στιβαρών λύσεων MCP
- Η διαδικασία αποσφαλμάτωσης και δοκιμών είναι κρίσιμη για αξιόπιστες εφαρμογές MCP
- Τα επαναχρησιμοποιήσιμα πρότυπα prompts επιτρέπουν συνεπείς αλληλεπιδράσεις με το AI
- Οι καλά σχεδιασμένες ροές εργασίας μπορούν να συντονίσουν σύνθετες εργασίες χρησιμοποιώντας πολλά εργαλεία
- Η υλοποίηση λύσεων MCP απαιτεί προσοχή στην ασφάλεια, την απόδοση και τη διαχείριση σφαλμάτων
Σχεδιάστε μια πρακτική ροή εργασίας MCP που να αντιμετωπίζει ένα πραγματικό πρόβλημα στον τομέα σας:
- Εντοπίστε 3-4 εργαλεία που θα ήταν χρήσιμα για την επίλυση αυτού του προβλήματος
- Δημιουργήστε ένα διάγραμμα ροής που να δείχνει πώς αυτά τα εργαλεία αλληλεπιδρούν
- Υλοποιήστε μια βασική έκδοση ενός από τα εργαλεία χρησιμοποιώντας την προτιμώμενη γλώσσα σας
- Δημιουργήστε ένα πρότυπο prompt που θα βοηθήσει το μοντέλο να χρησιμοποιήσει αποτελεσματικά το εργαλείο σας
Επόμενο: Advanced Topics
Αποποίηση Ευθυνών:
Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία μετάφρασης με τεχνητή νοημοσύνη Co-op Translator. Παρόλο που επιδιώκουμε την ακρίβεια, παρακαλούμε να γνωρίζετε ότι οι αυτόματες μεταφράσεις ενδέχεται να περιέχουν σφάλματα ή ανακρίβειες. Το πρωτότυπο έγγραφο στην μητρική του γλώσσα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική μετάφραση από ανθρώπους. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή λανθασμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.


