Ένας διακομιστής ERP MCP είναι οι ενέργειες ενός επιχειρηματικού συστήματος που δημοσιεύονται μέσω του Πρωτοκόλλου Στοιχείου Πλαισίου, έτσι ώστε οποιοσδήποτε συμβατός AI πράκτορας να μπορεί να ανακαλύψει τι μπορεί να κάνει το σύστημα και να το κάνει. Συγκεκριμένα, είναι ένα HTTPS endpoint που απαντά σε δύο μεθόδους JSON-RPC: εργαλεία/λίστα, που επιστρέφει τα εργαλεία που είναι διαθέσιμα στον καλούντα με ένα όνομα, μια περιγραφή και ένα JSON Schema για τις εισόδους, και εργαλεία/κλήση, το οποίο εκτελεί έναν από αυτούς και επιστρέφει ένα αποτέλεσμα που μπορεί να διαβάσει το μοντέλο. Ο Claude, το ChatGPT, το Cursor, το VS Code και άλλοι πελάτες μιλούν το πρωτόκολλο, οπότε ο διακομιστής γράφεται μία φορά και κάθε πράκτορας μπορεί να το χρησιμοποιήσει.
Για ένα ERP, τα δύο πράγματα που έχουν σημασία δεν βρίσκονται στη μεταφορά. Το πρώτο είναι ότι η λίστα εργαλείων και κάθε κλήση περιορίζονται στο άτομο που εκπροσωπεί ο πράκτορας, το οποίο το πρωτόκολλο υποστηρίζει μέσω OAuth και εξουσιοδότησης ανά αίτημα, αλλά αφήνει τον διακομιστή να το επιβάλει. Το δεύτερο είναι ότι κάθε εργαλείο πρέπει να αντιστοιχεί σε μια επιχειρηματική συναλλαγή που είναι ασφαλής για επανάληψη, απόρριψη ή ερώτηση, επειδή ένα μοντέλο θα κάνει και τα τρία.
Ένας διακομιστής που μετατρέπει ένα σύστημα σε εργαλεία
Το Πρωτόκολλο Στοιχείου Πλαισίου έχει τρεις ρόλους. Ένας οικοδεσπότης είναι μια εφαρμογή AI όπως ο Claude ή το ChatGPT. Μέσα στον οικοδεσπότη, δημιουργείται ένας πελάτης ανά διακομιστή και μιλά μόνο σε αυτόν τον διακομιστή. Ένας διακομιστής είναι μια υπηρεσία που προσφέρει πλαίσιο και δυνατότητες στον οικοδεσπότη μέσω ενός μικρού αριθμού στοιχείων. Οι αρχές σχεδίασης της προδιαγραφής λένε ότι οι διακομιστές θα πρέπει να είναι εύκολοι στην κατασκευή, συνδυάσιμοι και ανίκανοι να δουν ολόκληρη τη συνομιλία ή άλλους διακομιστές; ο οικοδεσπότης διατηρεί τη συνομιλία και επιβάλλει τη συγκατάθεση, ο διακομιστής βλέπει μόνο τις κλήσεις που απευθύνονται σε αυτόν.
Ένας διακομιστής ERP MCP δεν είναι επομένως το ERP. Είναι η επιφάνεια δράσης του ERP, εκφρασμένη ως εργαλεία με τυποποιημένες εισόδους, που σερβίρονται σε μία διεύθυνση URL. Η ενδιαφέρουσα απόφαση σχεδίασης είναι τι είναι ένα εργαλείο. Ένας διακομιστής καιρού έχει ένα; ένα επιχειρηματικό σύστημα έχει εκατοντάδες, και τα χρήσιμα είναι ενέργειες που θα μπορούσε να αναλάβει ένα άτομο (δημιουργία τιμολογίου, καταγραφή πληρωμής, μετακίνηση συμφωνίας, κράτηση αποθέματος) αντί για γραμμές σε πίνακες. Ο διακομιστής χώρου εργασίας της Sois, για παράδειγμα, δημοσιεύει εργαλεία με ονόματα όπως δημιουργίαΤιμολογίου, καταγραφήΠληρωμής, searchContacts and εξέταση επαφήςομαδοποιημένα κατά ενότητα, και η ακριβής λίστα που λαμβάνει ένας καλών εξαρτάται από το ποιος είναι.
Εργαλεία, πόροι και προτροπές
Η προδιαγραφή ορίζει τρία στοιχεία διακομιστή, και διαφέρουν στο ποιος ελέγχει τη χρήση τους. Τα εργαλεία ελέγχονται από το μοντέλο: το μοντέλο αποφασίζει πότε να καλέσει ένα. Οι πόροι καθοδηγούνται από την εφαρμογή: ο οικοδεσπότης αποφασίζει ποιο πλαίσιο να προσαρτήσει, συχνά με τον χρήστη να επιλέγει από μια λίστα. Οι προτροπές είναι πρότυπα ελεγχόμενα από τον χρήστη. Ένα ERP χρειάζεται το πρώτο, μπορεί να επωφεληθεί από το δεύτερο και σπάνια χρειάζεται το τρίτο.
| Στοιχείο | Ποιος το καλεί | Σχήμα | Σε ένα ERP |
|---|---|---|---|
| Εργαλεία | Το μοντέλο, μέσω εργαλείων/κλήσης | Όνομα, περιγραφή, inputSchema, προαιρετικό outputSchema και αναφορές; το αποτέλεσμα έχει περιεχόμενο, προαιρετικό structuredContent και isError | Κάθε ενέργεια: αναζήτηση, δημιουργία, ενημέρωση, αποστολή, έγκριση, συμφιλίωση |
| Πόροι | Ο οικοδεσπότης ή ο χρήστης, μέσω πόρων/ανάγνωσης | Μια URI με τύπο MIME; κείμενα ή δυαδικά περιεχόμενα; προαιρετικά πρότυπα και συνδρομές αλλαγών | Έγγραφα αναφοράς, δήλωση πελάτη, αναφορά; χρήσιμα αλλά όχι εκεί που γίνεται η εργασία |
| Προτροπές | Ο χρήστης, μέσω προτροπών/λήψης | Ένα ονομαστικό πρότυπο μηνύματος με παραμέτρους | Κατά καιρούς, για μια διαδικασία στο τέλος του μήνα; οι περισσότερες ERP διακομιστές τις παραλείπουν |
Ο συνδετήρας API μηνυμάτων του Claude και τα εργαλεία υποστήριξης του API απαντήσεων του OpenAI μόνο, που είναι ένας ακόμη λόγος να ενσωματωθεί η ουσία του ERP σε εργαλεία.
Δύο χαρακτηριστικά των αποτελεσμάτων εργαλείων είναι σημαντικά για ένα επιχειρηματικό σύστημα. Ένα εργαλείο μπορεί να δηλώσει ένα outputSchema και επιστροφή structuredContent που συμμορφώνεται με αυτό, μαζί με το κείμενο που διαβάζει ένα μοντέλο, ώστε μια ενσωμάτωση να μπορεί να χρησιμοποιήσει το αποτέλεσμα χωρίς να αναλύει πρόζα. Και ένα εργαλείο που αποτυγχάνει για επιχειρηματικό λόγο (ένα τιμολόγιο σε λάθος κατάσταση, μια ημερομηνία στο παρελθόν, μια άδεια που λείπει) επιστρέφει ένα κανονικό αποτέλεσμα με true και μια εξήγηση, αντί για σφάλμα πρωτοκόλλου, ώστε το μοντέλο να μπορεί να διορθώσει την είσοδό του και να προσπαθήσει ξανά. Τα σφάλματα πρωτοκόλλου διατηρούνται για κακώς διαμορφωμένα αιτήματα και άγνωστα εργαλεία.
Η μεταφορά και η τρέχουσα προδιαγραφή
Δύο μεταφορές είναι τυπικές. Το Stdio είναι για έναν διακομιστή που εκκινεί ο πελάτης ως τοπική διαδικασία, που είναι ο τρόπος που λειτουργούν τα εργαλεία επιφάνειας εργασίας όπως η πρόσβαση σε αρχεία. Το Streamable HTTP είναι για απομακρυσμένους διακομιστές και είναι αυτό που χρησιμοποιεί ένα ERP: ο διακομιστής εκθέτει ένα σημείο πρόσβασης που δέχεται ένα HTTP POST ανά μήνυμα JSON-RPC και απαντά είτε με ένα αντικείμενο JSON είτε με ένα ρεύμα Server-Sent Events που περιορίζεται σε αυτήν την αίτηση, έτσι ώστε μια μακρά κλήση να μπορεί να στείλει πρόοδο πριν από το τελικό της αποτέλεσμα. Η προηγούμενη μεταφορά HTTP με SSE είναι απαρχαιωμένη.
The current revision, 2026-07-28, changed the transport in a way that matters for anyone deploying a server behind a load balancer. It removed protocol-level sessions: there is no longer an initialize handshake or a session identifier header, every request carries its protocol version and client capabilities in its own metadata, and a server that needs state across calls returns an explicit handle the model passes back as an argument. Servers written against the 2025-11-25 revision, which did use sessions, keep working because clients are required to detect the older era and fall back; a new server should not adopt sessions.
Εξουσιοδότηση: για ποιον είναι η κλήση
Για τις μεταφορές HTTP, η προδιαγραφή ορίζει μια ροή OAuth 2.1. Ο διακομιστής είναι ένας διακομιστής πόρων και πρέπει να δημοσιεύει μεταδεδομένα προστατευμένων πόρων (RFC 9728) που ονομάζουν τον διακομιστή εξουσιοδότησής του. Όταν μια αίτηση φτάνει χωρίς ένα διακριτικό, απαντά με 401 και μια κεφαλίδα WWW-Authenticate που δείχνει σε αυτά τα μεταδεδομένα και, ιδανικά, στο ελάχιστο εύρος που απαιτείται. Ο πελάτης ανακαλύπτει τα σημεία πρόσβασης του διακομιστή εξουσιοδότησης, ταυτοποιεί τον εαυτό του (τα έγγραφα μεταδεδομένων ID πελάτη είναι η προτεινόμενη διαδρομή; η δυναμική εγγραφή διατηρείται για συμβατότητα), εκτελεί μια ροή κωδικού εξουσιοδότησης με PKCE και πρέπει να συμπεριλάβει το κανονικό URI του διακομιστή ως παράμετρο πόρου, ώστε το διακριτικό να συνδέεται μόνο με αυτόν τον διακομιστή. Ο διακομιστής πρέπει να επικυρώσει αυτό το κοινό, πρέπει να απορρίψει διακριτικά που εκδίδονται για οτιδήποτε άλλο και δεν πρέπει ποτέ να περάσει ένα διακριτικό σε άλλη υπηρεσία.
Η συνέπεια για ένα ERP είναι η σημαντική. Επειδή το διακριτικό αναγνωρίζει ένα άτομο, ο διακομιστής μπορεί να ποικίλει το αποτέλεσμα του εργαλεία/λίστα με βάση τα διαπιστευτήρια στην αίτηση, και η προδιαγραφή το δηλώνει ρητά. Αυτός είναι ο μηχανισμός για φιλτράρισμα βάσει ρόλου: η λίστα ενός χρήστη χρηματοοικονομικών και η λίστα ενός χρήστη αποθήκης προέρχονται από τον ίδιο διακομιστή και είναι διαφορετικές. Η ανεπαρκής έκταση κατά την εκτέλεση σηματοδοτείται με 403 και μια πρόκληση έκτασης από την οποία μπορεί να προχωρήσει ο πελάτης, αν και για τα περισσότερα επιχειρηματικά συστήματα το πραγματικό όριο είναι ο ρόλος στο ERP και όχι η χονδροειδής έκταση OAuth.
Το δύσκολο κομμάτι: άδειες και συναλλαγές
Όλα τα παραπάνω μπορούν να υλοποιηθούν σε ένα απόγευμα με ένα SDK. Αυτό που ξεχωρίζει έναν ERP MCP server από μια επίδειξη είναι η διαχείριση των δύο πραγμάτων που αφήνει το πρωτόκολλο στον server: αν μια κλήση επιτρέπεται και τι σημαίνει μια κλήση.
Η άδεια πρέπει να ελέγχεται δύο φορές. Η φιλτράρισμα της λίστας εργαλείων αποτρέπει το μοντέλο από το να επιλέξει κάτι που δεν θα έπρεπε, εξοικονομώντας έτσι tokens και σύγχυση. Ο έλεγχος ξανά όταν το εργαλείο εκτελείται είναι το πραγματικό όριο, επειδή ένας πελάτης μπορεί να στείλει οποιαδήποτε κλήση επιθυμεί. Μια άρνηση είναι καλύτερο να επιστρέφεται ως σφάλμα εκτέλεσης εργαλείου, ώστε το μοντέλο να το διαβάσει και να το αναφέρει, παρά ως αποτυχία μεταφοράς που τερματίζει την κίνηση. Αυτό είναι πώς φαίνεται μια αρνηθείσα κλήση από ένα workspace Sois: ένα κανονικό αποτέλεσμα, επισημασμένο, με έναν λόγο.
{
"jsonrpc": "2.0",
"id": 7,
"result": {
"content": [
{
"type": "text",
"text": "Tool not permitted for this account: approveInvoice requires the finance approver role."
}
],
"isError": true
}
}Η άρνηση άδειας επιστράφηκε ως σφάλμα εκτέλεσης εργαλείου. Το μοντέλο μαθαίνει γιατί και μπορεί να ζητήσει από το άτομο να εγκρίνει αντ' αυτού; δεν γράφτηκε τίποτα. Η Sois διατηρεί επίσης κωδικούς σφαλμάτων JSON-RPC για μη εξουσιοδοτημένες συνεδρίες, ανεπαρκή πιστώσεις, μη επιτρεπόμενα εργαλεία και επιτευχθέντα ανώτατα όρια προϋπολογισμού.
Οι συναλλαγές είναι το δεύτερο μισό. Ένα εργαλείο θα πρέπει να αντιστοιχεί σε μία επιχειρηματική συναλλαγή με σαφή πριν και μετά: δημιουργίαΤιμολογίου παράγει ένα προσχέδιο με αναγνωριστικό, καταγραφήΠληρωμής εφαρμόζει μία πληρωμή σε ένα τιμολόγιο, και κανένα από τα δύο δεν αφήνει μια ημιτελή κατάσταση αν αποτύχει. Τα μοντέλα επαναλαμβάνουν, οπότε οι εγγραφές θα πρέπει να είναι ασφαλείς για επανάληψη ή να αρνούνται μια επανάληψη με ένα σαφές μήνυμα; οι σημειώσεις της προδιαγραφής επιτρέπουν σε έναν διακομιστή να δηλώσει ένα εργαλείο ως μόνο για ανάγνωση, ιδεομορφικό ή καταστροφικό, και πελάτες όπως το ChatGPT χρησιμοποιούν αυτές τις ενδείξεις όταν αποφασίζουν αν θα ζητήσουν επιβεβαίωση. Όταν ένα βήμα χρειάζεται μια απόφαση που είναι πάνω από την εξουσία του πράκτορα, ο διακομιστής μπορεί να επιστρέψει ένα αποτέλεσμα που απαιτεί είσοδο ζητώντας από το άτομο μια ερώτηση μέσω του πελάτη, αντί να μαντεύει.
Η στρώση αδειών βρίσκεται μεταξύ του σημείου πρόσβασης και των μονάδων. Η λίστα εργαλείων φιλτράρεται με βάση τον ρόλο του καλούντος κατά την έξοδο, και κάθε κλήση ελέγχεται ξανά κατά την είσοδο, πριν φτάσει σε μια μονάδα.
Πώς η Sois υλοποιεί ένα
Ένας χώρος εργασίας Sois είναι ένας διακομιστής MCP σε μία μόνο διεύθυνση URL, η διεύθυνση του χώρου εργασίας ακολουθούμενη από /api/mcpΑπαντά στην πρόκληση 401 με μεταδεδομένα προστατευμένων πόρων, δημοσιεύει τα μεταδεδομένα του διακομιστή εξουσιοδότησης, απαιτεί PKCE και εκδίδει tokens που περιορίζονται στο workspace; ένας σύνδεσμος στο Claude ή ChatGPT ολοκληρώνει την είσοδο χωρίς να επικολληθεί τίποτα. Ένα bearer token με ένα API key είναι διαθέσιμο για scripts που δεν κάνουν OAuth, με την ταυτότητα και τις δαπάνες να διατηρούνται σε ξεχωριστές πιστοποιήσεις σκόπιμα.
Η λίστα εργαλείων δημιουργείται από τους ζωντανούς ορισμούς εργαλείων και φιλτράρεται ανά ρόλο και εγκατεστημένες εφαρμογές, στη συνέχεια κάθε κλήση ελέγχεται για άδεια κατά την εκτέλεση και αποτυγχάνει κλειστά. Οι κλήσεις περιορίζονται ανά σύνδεση, μετριούνται όπου ο δικός σας πράκτορας του χώρου εργασίας κάνει τη λογική και είναι χωρίς χρεώσεις AI όπου ο δικός σας πράκτορας καλεί, περιορισμένες από έναν προϋπολογισμό που ο χώρος εργασίας ορίζει, και καταγράφονται με εισόδους και αποτελέσματα κατά του ατόμου που τις έκανε. Οι εφαρμογές που δημοσιεύονται στην αγορά προσθέτουν τα εργαλεία τους στην ίδια λίστα υπό τους ίδιους κανόνες, έτσι ώστε η εφαρμογή ενός προγραμματιστή να είναι λειτουργική από έναν πράκτορα τη στιγμή που εγκαθίσταται.
Ερωτήσεις που κάνουν οι άνθρωποι
Είναι ένας διακομιστής MCP απλώς μια περιτύλιξη γύρω από ένα REST API;
Συχνά υλοποιείται με αυτόν τον τρόπο, και αυτό είναι εντάξει. Η διαφορά είναι αυτό που δημοσιεύει: τυποποιημένα εργαλεία που μπορεί να ανακαλύψει ένα μοντέλο κατά την εκτέλεση, αποτελέσματα που μπορεί να διαβάσει και να ανακτήσει ένα μοντέλο, και εξουσιοδότηση OAuth ανά χρήστη, κανένα από τα οποία δεν παρέχει μια REST API σε έναν πράκτορα από μόνη της.
Ποιοι πράκτορες μπορούν να χρησιμοποιήσουν έναν ERP MCP server σήμερα;
Claude (web, desktop, Cowork, Claude Code και ο συνδετήρας Messages API), ChatGPT σε λειτουργία προγραμματιστή και το Responses API, Cursor, VS Code και οποιοσδήποτε άλλος πελάτης που υλοποιεί το πρωτόκολλο. Ο διακομιστής δεν χρειάζεται να γνωρίζει ποιος καλεί.
Πρέπει ο διακομιστής να διατηρεί συνεδρίες;
Όχι υπό την τρέχουσα αναθεώρηση, η οποία αφαίρεσε τις συνεδρίες επιπέδου πρωτοκόλλου και ζητά από τους διακομιστές να επιστρέφουν ρητές αναγνωρίσεις για οτιδήποτε εκτείνεται σε κλήσεις. Οι πελάτες εξακολουθούν να συνεργάζονται με τους διακομιστές στην αναθεώρηση 2025-11-25, η οποία χρησιμοποίησε κεφαλίδα συνεδρίας, ανιχνεύοντας την παλαιότερη εποχή.
Πού επιβάλλει το ERP τα δικαιώματα;
Στον διακομιστή, κατά την εκτέλεση, σε κάθε κλήση. Η φιλτράρισμα της λίστας εργαλείων είναι μια ευκολία για το μοντέλο; ο έλεγχος που έχει σημασία συμβαίνει όταν το εργαλείο εκτελείται, και μια άρνηση θα πρέπει να επιστρέφει ως αναγνώσιμη σφάλμα εργαλείου ώστε να μην γραφτεί τίποτα και το μοντέλο να μπορεί να εξηγήσει γιατί.
- Προδιαγραφή Πρωτοκόλλου Στοιχείων Μοντέλου (2026-07-28): εργαλεία ορισμοί εργαλείων, αποτελέσματα, διαχείριση σφαλμάτων, σημειώσεις και η παραλλαγή ανά αίτημα των εργαλείων/λίστα
- Προδιαγραφή Πρωτοκόλλου Συμφραζομένων Μοντέλου: Ροή HTTP και ιστορικό αλλαγών the single-endpoint transport, the removal of sessions and backward compatibility
- Προδιαγραφή Πρωτοκόλλου Στοιχείου Μοντέλου: εξουσιοδότηση OAuth 2.1, μεταδεδομένα προστατευόμενου πόρου, δείκτες πόρου και κανόνες διακριτικών
- Τεκμηρίωση Sois: ο διακομιστής χώρου εργασίας MCP το σημείο πρόσβασης, έγγραφα ανακάλυψης, φιλτράρισμα ρόλων, όρια και κωδικοί σφαλμάτων όπως έχουν υλοποιηθεί
Αυτό το άρθρο αναθεωρείται όταν αλλάζουν τα προϊόντα που περιγράφει. Επόμενη προγραμματισμένη αναθεώρηση: 4 Δεκεμβρίου 2026.
