
MCP server: τα δικαιώματα μετρούν περισσότερο από το πρώτο tool

Για να συνδέσεις έναν AI agent με ιδιωτικά δεδομένα μέσω MCP server, διάλεξε πρώτα μία πηγή και υλοποίησε εργαλεία μόνο για ανάγνωση: search για να βρίσκει έγγραφα και fetch για να ανακτά το επιλεγμένο έγγραφο. Δήλωσε τα σχήματα εισόδου και εξόδου, ταυτοποίησε τον καλούντα και πρόσθεσε ενέργειες αλλαγής μόνο όταν μπορείς να ελέγχεις χωριστά το δικαίωμά του για καθεμία.
Ο MCP client ζητά μια λειτουργία, αλλά ο server αποφασίζει τι θα επιστρέψει το εσωτερικό API ή η βάση γνώσης. Η δυνατότητα του agent να επιλέξει ένα εργαλείο δεν αποτελεί άδεια πρόσβασης. Αυτός είναι ο λόγος που η πολιτική δικαιωμάτων πρέπει να σχεδιαστεί πριν η σύνδεση χρησιμοποιηθεί με πραγματικά εταιρικά δεδομένα.
Οριοθέτησε την πηγή και τον χρήστη
Ξεκίνα με ένα συγκεκριμένο αποθετήριο εγγράφων ή API έργων και κατέγραψε ποια ταυτότητα χρησιμοποιεί ο server για να το προσπελάσει. Αν η πηγή έχει δικαιώματα ανά χρήστη, εφάρμοσέ τα ήδη στα αποτελέσματα του search: ακόμη και ο τίτλος ή το απόσπασμα ενός απαγορευμένου εγγράφου μπορεί να αποκαλύψει πληροφορία. Ένας κοινός λογαριασμός υπηρεσίας με ευρεία πρόσβαση χρειάζεται πρόσθετο έλεγχο στον server, ώστε οι χρήστες να μη λαμβάνουν όλοι τα ίδια αποτελέσματα.
Όρισε επίσης ποιο αναγνωριστικό θα συνδέει το αποτέλεσμα αναζήτησης με την ανάκτηση. Το fetch πρέπει να διαβάζει το έγγραφο που αντιστοιχεί στο επιλεγμένο id και να ελέγχει ξανά την πρόσβαση τη στιγμή της κλήσης. Τα δικαιώματα ή η κατάσταση του εγγράφου μπορεί να έχουν αλλάξει από την προηγούμενη αναζήτηση· η εμφάνιση ενός id στο search δεν αρκεί για να επιτραπεί η ανάκτησή του.
Φτιάξε συμβατά search και fetch
Για ροές εταιρικής γνώσης, η οδηγία της OpenAI για MCP servers περιγράφει τα read-only εργαλεία search και fetch με δηλωμένα σχήματα εξόδου. Το search δέχεται ερώτημα και επιστρέφει αποτελέσματα με id, title και canonical url. Το fetch δέχεται το id και επιστρέφει το κείμενο μαζί με την ταυτότητα και τη διεύθυνση του εγγράφου. Για να μπορεί το ChatGPT να δημιουργήσει παραπομπή, το url πρέπει να είναι μη κενή διεύθυνση που ανοίγει ο εξουσιοδοτημένος χρήστης.
- Δημιούργησε τον server με SDK που υποστηρίζει ο επιλεγμένος MCP client και δήλωσε καθαρό σχήμα εισόδου για κάθε εργαλείο.
- Σύνδεσε το search με την πραγματική αναζήτηση της πηγής και φίλτραρε τίτλους, αποσπάσματα και αποτελέσματα σύμφωνα με τα δικαιώματα του καλούντος.
- Σύνδεσε το fetch με ανάκτηση βάσει id, επικύρωσε το id και επανέλεγξε την πρόσβαση πριν επιστρέψεις περιεχόμενο.
- Χρησιμοποίησε τη μόνιμη διεύθυνση του εγγράφου ως url. Κράτησε το εσωτερικό αναγνωριστικό στο id, αντί να κατασκευάζεις διεύθυνση από αυθαίρετη τιμή.
Σε ένα υποθετικό αρχείο έργων, το search θα μπορούσε να εμφανίζει μόνο έργα στα οποία συμμετέχει ο χρήστης, ενώ το fetch θα ανέκτησε ένα από αυτά εφόσον εξακολουθεί να έχει πρόσβαση. Επέστρεψε προβλέψιμο αποτέλεσμα και όταν δεν υπάρχει αντιστοιχία ή όταν η πρόσβαση απορρίπτεται. Έτσι ο client μπορεί να χειριστεί την αποτυχία χωρίς να χρειάζεται ο server να εκθέσει το περιεχόμενο του απαγορευμένου εγγράφου.
Διάλεξε μεταφορά και περιόρισε τα διαθέσιμα εργαλεία
Η επισκόπηση MCP του Google Cloud περιγράφει τοπικούς servers που συνήθως επικοινωνούν μέσω standard input και output, απομακρυσμένους servers με HTTP endpoint, καθώς και περιορισμένα toolsets για ορισμένους δικούς του servers. Για τοπική ανάπτυξη το stdio συνδέει διεργασίες στο ίδιο μηχάνημα. Αν ο agent λειτουργεί σε άλλη υπηρεσία, χρειάζεται απομακρυσμένο endpoint με σταθερή διεύθυνση και κατάλληλη ταυτοποίηση.
Έκθεσε στον agent μόνο τις λειτουργίες που χρειάζεται η συγκεκριμένη ροή. Ένα σύνολο ανάγνωσης μπορεί να περιλαμβάνει search και fetch, ενώ οι ενέργειες αλλαγής μπορούν να διατεθούν χωριστά σε όσους τις χρειάζονται. Τα λιγότερα εργαλεία περιορίζουν τις διαθέσιμες επιλογές και την πολυπλοκότητα για τον agent, αλλά ο περιορισμός της λίστας δεν αντικαθιστά τον έλεγχο μέσα σε κάθε handler. Οι πολιτικές IAM του Google Cloud αφορούν τους δικούς του MCP servers· σε server που φιλοξενείς αλλού χρειάζεσαι τον μηχανισμό εξουσιοδότησης της δικής σου υποδομής.
Πρόσθεσε ταυτοποίηση και χωριστή πολιτική για αλλαγές
Η ταυτοποίηση απαντά ποιος έκανε την κλήση· η εξουσιοδότηση αν επιτρέπεται να δει ή να αλλάξει τον συγκεκριμένο πόρο. Για ιδιωτικά δεδομένα, ο server πρέπει να συνδέει κάθε αίτημα με έγκυρη ταυτότητα και να ελέγχει το δικαίωμα πριν καλέσει την πηγή. Φρόντισε η ταυτότητα του χρήστη να μη χάνεται πίσω από ένα κοινό διαπιστευτήριο υπηρεσίας που θα παρέκαμπτε τους κανόνες πρόσβασης της πηγής.
Η οδηγία κατασκευής plugin MCP server της OpenAI ζητά εξουσιοδότηση σε κάθε αίτημα, σαφή σχήματα και ακριβείς επισημάνσεις για εργαλεία ανάγνωσης ή καταστροφικές ενέργειες. Για plugin που χρειάζεται ταυτοποίηση χρήστη περιγράφει OAuth 2.1, ενώ για ενέργειες εγγραφής με ουσιαστικές συνέπειες ζητά επιβεβαίωση. Οι επισημάνσεις βοηθούν τον client να χειριστεί το εργαλείο· η επικύρωση εισόδου και η τελική απόφαση πρόσβασης παραμένουν στον server.
Αν ένα υποθετικό API έργων επιτρέπει αλλαγή κατάστασης, όρισε ξεχωριστό εργαλείο για αυτή την πράξη αντί για γενικό εργαλείο που δέχεται οποιοδήποτε αίτημα API. Έλεγξε το αναγνωριστικό του έργου, τις επιτρεπτές νέες τιμές και το δικαίωμα του χρήστη στον συγκεκριμένο στόχο. Όταν η αλλαγή έχει σοβαρή συνέπεια, ζήτησε επιβεβαίωση πριν από την εκτέλεση και κατέγραψε ποια ενέργεια τελικά έγινε.
Έλεγξε την παραγωγική συμπεριφορά
Πριν χρησιμοποιηθεί ο server με πραγματικούς χρήστες, έλεγξε ότι ο client συνδέεται, βλέπει μόνο τα προβλεπόμενα εργαλεία και λαμβάνει αποτελέσματα σύμφωνα με τα δηλωμένα σχήματα. Κάλεσε το search και το fetch με έγκυρα, άκυρα και μη εξουσιοδοτημένα δεδομένα. Δοκίμασε ειδικά αν ένας χρήστης μπορεί να ζητήσει απευθείας με fetch ένα id που δεν εμφανίστηκε στη δική του αναζήτηση.
Για τις ενέργειες αλλαγής, έλεγξε ότι απορρίπτονται όταν λείπει το απαιτούμενο δικαίωμα ή η επιβεβαίωση. Στην παραγωγή, κατέγραψε την ταυτότητα, το εργαλείο, τον στόχο και την έκβαση κάθε κλήσης με αναγνωριστικό συσχέτισης, χωρίς tokens ή ευαίσθητο περιεχόμενο στα logs. Όρια χρόνου και ρυθμού στις ακριβές ή εξωτερικά ορατές λειτουργίες βοηθούν να παραμένει ελέγξιμη η χρήση του server όταν αυξηθούν οι κλήσεις.
Διαβάστε επίσης:
Σχετικά άρθρα


Η Kontext σήκωσε $4 εκατ.: έλεγχος τη στιγμή που ενεργεί ο AI agent

Claude Code Mods: αλλάζουν τον agent από μέσα, χωρίς sandbox

Δικαίωμα αποσύνδεσης: το μήνυμα μετά το ωράριο δεν απαιτεί απάντηση

Miro ή FigJam: η διαφορά φαίνεται όταν η ομάδα ξεπεράσει τους δωρεάν πίνακες

Gemini Enterprise: οι πράκτορες ασφαλείας περνούν στη δράση
Εγγραφείτε στο newsletter μας
Λάβετε τα τελευταία νέα για Web3, AI και κρυπτονομίσματα απευθείας στα εισερχόμενά σας.