Αυτό το αποθετήριο περιέχει μια υλοποίηση σε Python του Model Context Protocol (MCP), που δείχνει πώς να δημιουργήσετε τόσο μια εφαρμογή διακομιστή όσο και πελάτη που επικοινωνούν χρησιμοποιώντας το πρότυπο MCP.
Η υλοποίηση MCP αποτελείται από δύο βασικά μέρη:
-
MCP Server (
server.py) - Ένας διακομιστής που παρέχει:- Εργαλεία: Συναρτήσεις που μπορούν να κληθούν απομακρυσμένα
- Πόροι: Δεδομένα που μπορούν να ανακτηθούν
- Προτροπές: Πρότυπα για τη δημιουργία προτροπών για γλωσσικά μοντέλα
-
MCP Client (
client.py) - Μια εφαρμογή πελάτη που συνδέεται με τον διακομιστή και χρησιμοποιεί τις λειτουργίες του
Αυτή η υλοποίηση παρουσιάζει αρκετά βασικά χαρακτηριστικά του MCP:
completion- Δημιουργεί συμπληρώσεις κειμένου από μοντέλα AI (προσομοιωμένα)add- Απλός υπολογιστής που προσθέτει δύο αριθμούς
models://- Επιστρέφει πληροφορίες για διαθέσιμα μοντέλα AIgreeting://{name}- Επιστρέφει μια προσωποποιημένη χαιρετισμό για ένα συγκεκριμένο όνομα
review_code- Δημιουργεί μια προτροπή για ανασκόπηση κώδικα
Για να χρησιμοποιήσετε αυτή την υλοποίηση MCP, εγκαταστήστε τα απαιτούμενα πακέτα:
pip install mcp-server mcp-clientΤρέξτε τον διακομιστή σε ένα παράθυρο τερματικού:
python server.pyΟ διακομιστής μπορεί επίσης να τρέξει σε λειτουργία ανάπτυξης χρησιμοποιώντας το MCP CLI:
mcp dev server.pyΉ να εγκατασταθεί στο Claude Desktop (αν είναι διαθέσιμο):
mcp install server.pyΤρέξτε τον πελάτη σε ένα άλλο παράθυρο τερματικού:
python client.pyΑυτό θα συνδεθεί με τον διακομιστή και θα δείξει όλες τις διαθέσιμες λειτουργίες.
Ο πελάτης (client.py) παρουσιάζει όλες τις δυνατότητες του MCP:
python client.pyΑυτό θα συνδεθεί με τον διακομιστή και θα εκτελέσει όλες τις λειτουργίες, συμπεριλαμβανομένων εργαλείων, πόρων και προτροπών. Η έξοδος θα εμφανίσει:
- Αποτέλεσμα του εργαλείου υπολογιστή (5 + 7 = 12)
- Απάντηση του εργαλείου completion στο "Ποιο είναι το νόημα της ζωής;"
- Λίστα διαθέσιμων μοντέλων AI
- Προσωποποιημένη χαιρετισμό για τον "MCP Explorer"
- Πρότυπο προτροπής για ανασκόπηση κώδικα
Ο διακομιστής υλοποιείται χρησιμοποιώντας το API FastMCP, που παρέχει υψηλού επιπέδου αφαιρέσεις για τον ορισμό υπηρεσιών MCP. Ακολουθεί ένα απλοποιημένο παράδειγμα ορισμού εργαλείων:
@mcp.tool()
def add(a: int, b: int) -> int:
"""Add two numbers together
Args:
a: First number
b: Second number
Returns:
The sum of the two numbers
"""
logger.info(f"Adding {a} and {b}")
return a + bΟ πελάτης χρησιμοποιεί τη βιβλιοθήκη MCP client για να συνδεθεί και να καλέσει τον διακομιστή:
async with stdio_client(server_params) as (reader, writer):
async with ClientSession(reader, writer) as session:
await session.initialize()
result = await session.call_tool("add", arguments={"a": 5, "b": 7})Για περισσότερες πληροφορίες σχετικά με το MCP, επισκεφθείτε: https://modelcontextprotocol.io/
Αποποίηση ευθυνών:
Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης AI Co-op Translator. Παρόλο που επιδιώκουμε την ακρίβεια, παρακαλούμε να γνωρίζετε ότι οι αυτόματες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή λανθασμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.