Files
2026-07-13 13:31:35 +08:00

121 lines
6.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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, εγκαταστήστε τα απαιτούμενα πακέτα:
```powershell
pip install mcp-server mcp-client
```
## Εκτέλεση του Διακομιστή και του Πελάτη
### Εκκίνηση του Διακομιστή
Τρέξτε τον διακομιστή σε ένα παράθυρο τερματικού:
```powershell
python server.py
```
Ο διακομιστής μπορεί επίσης να τρέξει σε λειτουργία ανάπτυξης χρησιμοποιώντας το MCP CLI:
```powershell
mcp dev server.py
```
Ή να εγκατασταθεί στο Claude Desktop (αν είναι διαθέσιμο):
```powershell
mcp install server.py
```
### Εκτέλεση του Πελάτη
Τρέξτε τον πελάτη σε ένα άλλο παράθυρο τερματικού:
```powershell
python client.py
```
Αυτό θα συνδεθεί με τον διακομιστή και θα δείξει όλες τις διαθέσιμες λειτουργίες.
### Χρήση του Πελάτη
Ο πελάτης (`client.py`) παρουσιάζει όλες τις δυνατότητες του MCP:
```powershell
python client.py
```
Αυτό θα συνδεθεί με τον διακομιστή και θα εκτελέσει όλες τις λειτουργίες, συμπεριλαμβανομένων εργαλείων, πόρων και προτροπών. Η έξοδος θα εμφανίσει:
1. Αποτέλεσμα του εργαλείου υπολογιστή (5 + 7 = 12)
2. Απάντηση του εργαλείου completion στο "Ποιο είναι το νόημα της ζωής;"
3. Λίστα διαθέσιμων μοντέλων AI
4. Προσωποποιημένη χαιρετισμό για τον "MCP Explorer"
5. Πρότυπο προτροπής για ανασκόπηση κώδικα
## Λεπτομέρειες Υλοποίησης
Ο διακομιστής υλοποιείται χρησιμοποιώντας το API `FastMCP`, που παρέχει υψηλού επιπέδου αφαιρέσεις για τον ορισμό υπηρεσιών MCP. Ακολουθεί ένα απλοποιημένο παράδειγμα ορισμού εργαλείων:
```python
@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 για να συνδεθεί και να καλέσει τον διακομιστή:
```python
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](https://github.com/Azure/co-op-translator). Παρόλο που επιδιώκουμε την ακρίβεια, παρακαλούμε να γνωρίζετε ότι οι αυτόματες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή λανθασμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.