Skip to content

Latest commit

 

History

History
130 lines (90 loc) · 6.45 KB

File metadata and controls

130 lines (90 loc) · 6.45 KB

Model Context Protocol (MCP) Python Υλοποίηση

Αυτό το αποθετήριο περιέχει μια υλοποίηση σε Python του Model Context Protocol (MCP), που δείχνει πώς να δημιουργήσετε τόσο μια εφαρμογή διακομιστή όσο και πελάτη που επικοινωνούν χρησιμοποιώντας το πρότυπο MCP.

Επισκόπηση

Η υλοποίηση MCP αποτελείται από δύο βασικά μέρη:

  1. MCP Server (server.py) - Ένας διακομιστής που παρέχει:

    • Εργαλεία: Συναρτήσεις που μπορούν να κληθούν απομακρυσμένα
    • Πόροι: Δεδομένα που μπορούν να ανακτηθούν
    • Προτροπές: Πρότυπα για τη δημιουργία προτροπών για γλωσσικά μοντέλα
  2. MCP Client (client.py) - Μια εφαρμογή πελάτη που συνδέεται με τον διακομιστή και χρησιμοποιεί τις λειτουργίες του

Χαρακτηριστικά

Αυτή η υλοποίηση παρουσιάζει αρκετά βασικά χαρακτηριστικά του MCP:

Εργαλεία

  • completion - Δημιουργεί συμπληρώσεις κειμένου από μοντέλα AI (προσομοιωμένα)
  • add - Απλός υπολογιστής που προσθέτει δύο αριθμούς

Πόροι

  • models:// - Επιστρέφει πληροφορίες για διαθέσιμα μοντέλα AI
  • greeting://{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

Αυτό θα συνδεθεί με τον διακομιστή και θα εκτελέσει όλες τις λειτουργίες, συμπεριλαμβανομένων εργαλείων, πόρων και προτροπών. Η έξοδος θα εμφανίσει:

  1. Αποτέλεσμα του εργαλείου υπολογιστή (5 + 7 = 12)
  2. Απάντηση του εργαλείου completion στο "Ποιο είναι το νόημα της ζωής;"
  3. Λίστα διαθέσιμων μοντέλων AI
  4. Προσωποποιημένη χαιρετισμό για τον "MCP Explorer"
  5. Πρότυπο προτροπής για ανασκόπηση κώδικα

Λεπτομέρειες Υλοποίησης

Ο διακομιστής υλοποιείται χρησιμοποιώντας το 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. Παρόλο που επιδιώκουμε την ακρίβεια, παρακαλούμε να γνωρίζετε ότι οι αυτόματες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή λανθασμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.