Διακομιστής MCP

Επιτρέψτε σε έναν βοηθό AI να αναζητά πληροφορίες για τον στόλο συσκευών και τις πολιτικές σας, και προαιρετικά να στέλνει εντολές σε μία συσκευή τη φορά, χρησιμοποιώντας Sign in with Nomid ή ένα κλειδί Nomid API.

Τι κάνει ο διακομιστής MCP

Το Model Context Protocol (MCP) είναι ένα ανοιχτό πρότυπο που επιτρέπει σε βοηθούς AI να καλούν εργαλεία σε άλλα συστήματα. Ο διακομιστής Nomid MCP επιτρέπει σε έναν βοηθό όπως το claude.ai, το ChatGPT, το Claude Code, το Codex ή το Cursor να απαντά σε ερωτήσεις σχετικά με τον στόλο σας σε απλή γλώσσα, για παράδειγμα πόσες συσκευές χρησιμοποιούν μια πολιτική ή ποιες συσκευές δεν έχουν εμφανιστεί από μια συγκεκριμένη ημερομηνία, χωρίς να χρειάζεται να ανοίξει κανείς την πύλη. Μπορεί επίσης να διαγνώσει γιατί μια συσκευή δεν είναι προσβάσιμη εξ αποστάσεως, να παραπέμψει σε μια συσκευή, πολιτική ή εφαρμογή στην πύλη, καθώς και να αναζητήσει τα δημόσια προγράμματα και τις τιμές τιμοκαταλόγου του Nomid. Με ένα επιπλέον δικαίωμα μπορεί να στέλνει εντολές σε μία συσκευή τη φορά, όπως κλείδωμα, επανεκκίνηση ή αλλαγή της πολιτικής της, ή να δημιουργεί κωδικούς QR προετοιμασίας (provisioning). Ένα ξεχωριστό δικαίωμα επιτρέπει καταστροφικές εντολές όπως η διαγραφή (wipe).

Τελικό σημείο (Endpoint) και μεταφορά

POST https://api.nomid.tech/emm/api/mcp

Ο διακομιστής χρησιμοποιεί το MCP Streamable HTTP σε κατάσταση χωρίς διατήρηση συνεδρίας (stateless). Κάθε κλήση JSON-RPC είναι ένα ανεξάρτητο αίτημα HTTPS, επομένως δεν υπάρχει συνεδρία προς διατήρηση ούτε ροή συμβάντων (event stream) που πρέπει να παραμένει ανοιχτή.

Συνδεθείτε με Sign in with Nomid (OAuth) ή με ένα κλειδί API. Στείλτε το κλειδί API ως bearer token ή στην κεφαλίδα X-API-Key. Οι περισσότεροι πελάτες MCP υποστηρίζουν μόνο τη μορφή bearer. Ένα κλειδί ή token που λείπει, δεν είναι έγκυρο ή έχει λήξει επιστρέφει 401.

Το κλειδί API ή η σύνδεση Sign in with Nomid καθορίζει την εταιρεία. Κανένα εργαλείο δεν δέχεται όρισμα μισθωτή (tenant) ή εταιρείας, και μια σύνδεση μπορεί να δει μόνο τις συσκευές και τις πολιτικές της δικής της εταιρείας.

Sign in with Nomid

Η Sign in with Nomid είναι OAuth για πελάτες MCP, ανοιχτή σε κάθε εταιρεία. Αντί να χρησιμοποιεί κλειδί, ο χρήστης συνδέεται στο Nomid στο πρόγραμμα περιήγησης και εγκρίνει όσα επιτρέπεται να κάνει ο βοηθός. Ο βοηθός στη συνέχεια ενεργεί ως αυτός ο χρήστης σε αυτήν την εταιρεία και βλέπει μόνο τις συσκευές και τις πολιτικές που επιτρέπουν ο ρόλος και η πρόσβαση πολιτικής του χρήστη.

Το claude.ai, το ChatGPT και το Claude Code συνδέονται με τη Sign in with Nomid: προσθέστε την παραπάνω διεύθυνση URL τελικού σημείου ως προσαρμοσμένο σύνδεσμο ή διακομιστή MCP, χωρίς κλειδί, και συνδεθείτε όταν το ζητήσει ο πελάτης. Τα παρακάτω παραδείγματα Codex και Cursor χρησιμοποιούν κλειδί API.

Στο Claude Code, προσθέστε τον διακομιστή χωρίς κεφαλίδα, στη συνέχεια εκτελέστε το /mcp στο Claude Code και επιλέξτε τον διακομιστή για να συνδεθείτε.

claude mcp add --transport http nomid-mdm https://api.nomid.tech/emm/api/mcp

Μια σύνδεση φέρει εμβέλειες (scopes) OAuth, οι οποίες αντικαθιστούν τα δικαιώματα κλειδιού API.

Εμβέλεια (Scope)Τι επιτρέπει
mcp:readΤα εργαλεία ανάγνωσης. Ο ρόλος του χρήστη χρειάζεται άδεια για την προβολή συσκευών, πολιτικών ή της βιβλιοθήκης· κάθε εργαλείο εξακολουθεί να χρειάζεται τη δική του άδεια.
mcp:devices:commandΤα εργαλεία εντολών. Απαιτείται η ρύθμιση εντολών συσκευής της εταιρείας και ένας χρήστης που επιτρέπεται να στέλνει εντολές συσκευής.
mcp:devices:destructiveΤα εργαλεία καταστροφικών εντολών. Απαιτείται η ρύθμιση καταστροφικών εντολών της εταιρείας και ένας χρήστης που επιτρέπεται να στέλνει εντολές συσκευής.
mcp:provisioningcreate_provisioning_qr_code. Απαιτείται η ρύθμιση παραχώρησης (provisioning) της εταιρείας και ένας χρήστης που επιτρέπεται να παραχωρεί συσκευές και να προβάλλει πολιτικές.
mcp:policies:writeΤα εργαλεία τροποποίησης πολιτικής. Απαιτείται η ρύθμιση αλλαγών πολιτικής της εταιρείας και ένας χρήστης που επιτρέπεται να επεξεργάζεται και να προβάλλει πολιτικές. Η εκχώρησή της εκχωρεί επίσης το mcp:read.

Οι πελάτες ζητούν από προεπιλογή τα mcp:read, mcp:devices:command και mcp:provisioning. Τα mcp:devices:destructive και mcp:policies:write δεν ζητούνται ποτέ αυτόματα: ένας πελάτης πρέπει να τα ζητήσει ρητά.

Στη σελίδα συγκατάθεσης, ο χρήστης μπορεί να αποεπιλέξει εμβέλειες, και το Nomid απορρίπτει οποιαδήποτε εμβέλεια δεν επιτρέπουν ο ρόλος του χρήστη ή οι ρυθμίσεις πρόσβασης πράκτορα AI της εταιρείας. Η έγκριση μιας εμβέλειας εντολής, καταστροφικής ενέργειας ή αλλαγής πολιτικής απαιτεί πρόσφατη σύνδεση.

Κάθε αίτημα ελέγχει ξανά τη σύνδεση. Εάν ο χρήστης χάσει την πρόσβαση στην εταιρεία ή τα δικαιώματα ρόλου που χρειάζεται ένα εργαλείο, ή εάν η εταιρεία απενεργοποιήσει την πρόσβαση πράκτορα AI, τα αιτήματα απορρίπτονται για όσο διάστημα ισχύει αυτό.

Δημιουργία κλειδιού API

Ο διακομιστής MCP χρησιμοποιεί τα ίδια κλειδιά API με το REST API. Δημιουργήστε ένα αποκλειστικό κλειδί για κάθε βοηθό, ώστε να μπορείτε να το ανακαλέσετε χωρίς να επηρεαστούν άλλες ενοποιήσεις.

  1. 1

    Στην πύλη Nomid, ανοίξτε τις Ρυθμίσεις και επιλέξτε την καρτέλα API.

  2. 2

    Κάντε κλικ στο Δημιουργία κλειδιού API και εισαγάγετε ένα όνομα που προσδιορίζει τον βοηθό, για παράδειγμα Claude Code μόνο για ανάγνωση.

  3. 3

    Επιλέξτε τα δικαιώματα που περιγράφονται παρακάτω. Εάν θέλετε το κλειδί να σταματήσει να λειτουργεί σε μια συγκεκριμένη ημερομηνία, ορίστε ημερομηνία λήξης.

  4. 4

    Αντιγράψτε το κλειδί όταν εμφανιστεί. Εμφανίζεται μόνο μία φορά.

Κλειδί μόνο για ανάγνωση

Ενεργοποιήστε τα δικαιώματα ανάγνωσης συσκευών και πολιτικών (DEVICES_READ και POLICIES_READ). Αυτό είναι αρκετό για κάθε εργαλείο ανάγνωσης και αποτελεί το συνιστώμενο σημείο εκκίνησης.

Κλειδί εντολών

Για να επιτρέψετε στον βοηθό να στέλνει εντολές σε συσκευές, ενεργοποιήστε επίσης το δικαίωμα εντολών συσκευής (DEVICES_COMMAND). Ένα κλειδί εντολών πρέπει επίσης να διαθέτει το DEVICES_READ, ενώ η αλλαγή της πολιτικής μιας συσκευής απαιτεί επίσης το POLICIES_READ. Μόνο ένας χρήστης της πύλης που επιτρέπεται να στέλνει εντολές συσκευής και έχει πρόσβαση σε όλες τις πολιτικές μπορεί να δημιουργήσει κλειδί με αυτό το δικαίωμα.

Κλειδί καταστροφικών εντολών

Για να επιτρέψετε στον βοηθό να διαγράψει πλήρως μια συσκευή, να επαναφέρει ή να αλλάξει το κλείδωμα οθόνης της ή να παραιτηθεί από την κυριότητα, ενεργοποιήστε το δικαίωμα καταστροφικών εντολών συσκευής (DEVICES_COMMAND_DESTRUCTIVE) μαζί με το DEVICES_READ. Η εταιρεία πρέπει επίσης να ενεργοποιήσει τις καταστροφικές εντολές στην ενότητα πρόσβασης πράκτορα AI στην πύλη. Ισχύουν οι ίδιοι κανόνες χρήστη πύλης όπως και για ένα κλειδί εντολών.

Κλειδί παραχώρησης (Provisioning key)

Για να επιτρέψετε στον βοηθό να δημιουργεί κωδικούς QR παραχώρησης, ενεργοποιήστε την άδεια παραχώρησης (PROVISIONING) με το POLICIES_READ. Μόνο ένας χρήστης της πύλης που επιτρέπεται να παραχωρεί συσκευές και έχει πρόσβαση σε όλες τις πολιτικές μπορεί να δημιουργήσει ένα κλειδί με αυτήν την άδεια.

Συνδέστε τον βοηθό σας

Αποθηκεύστε το κλειδί σε μια μεταβλητή περιβάλλοντος με το όνομα NOMID_API_KEY και μην το υποβάλετε ποτέ σε αποθετήριο. Το URL σε κάθε παράδειγμα είναι το τελικό σημείο παραγωγής.

Claude Code

Εκτελέστε το μία φορά στο κέλυφός σας. Το κέλυφός σας αναπτύσσει τη μεταβλητή όταν εκτελείτε την εντολή και, στη συνέχεια, το Claude Code αποθηκεύει το κλειδί που προκύπτει σε απλό κείμενο στο δικό του αρχείο ρυθμίσεων. Χρησιμοποιήστε ένα αποκλειστικό κλειδί μόνο για ανάγνωση για αυτό.

claude mcp add --transport http nomid-mdm https://api.nomid.tech/emm/api/mcp \
  --header "Authorization: Bearer ${NOMID_API_KEY}"

Codex

Προσθέστε το στο ~/.codex/config.toml. Το Codex διαβάζει το διακριτικό από την καθορισμένη μεταβλητή περιβάλλοντος. Δεν αναπτύσσει μεταβλητές που έχουν γραφτεί μέσα στο αρχείο.

[mcp_servers.nomid]
url = "https://api.nomid.tech/emm/api/mcp"
bearer_token_env_var = "NOMID_API_KEY"

Cursor

Προσθέστε το στο .cursor/mcp.json. Το Cursor αναπτύσσει τις μεταβλητές περιβάλλοντος στην τιμή της κεφαλίδας, όπως φαίνεται.

{
  "mcpServers": {
    "nomid-mdm": {
      "url": "https://api.nomid.tech/emm/api/mcp",
      "headers": {
        "Authorization": "Bearer ${env:NOMID_API_KEY}"
      }
    }
  }
}

Άλλοι πελάτες

Οποιοσδήποτε πελάτης MCP που υποστηρίζει διακομιστές Streamable HTTP με προσαρμοσμένες κεφαλίδες μπορεί να συνδεθεί με το URL του τελικού σημείου και μια κεφαλίδα Authorization: Bearer.

Διαθέσιμα εργαλεία

Κάθε εργαλείο περιορίζεται στην εταιρεία του κλειδιού ή της σύνδεσης. Μια συσκευή αναγνωρίζεται από το assetId της, το οποίο είναι το pathName που επιστρέφεται από τα search_devices και get_device. Μια πολιτική αναγνωρίζεται από το policyId της, το οποίο είναι το pathName που επιστρέφεται από το list_policies.

Εργαλεία ανάγνωσης

Τα εργαλεία ανάγνωσης δεν αλλάζουν ποτέ τίποτα. Τα περισσότερα επιστρέφουν τα ίδια δεδομένα με τα αντίστοιχα τελικά σημεία REST. Τα diagnose_device, get_portal_link, search_nomid_site και το όρισμα query του search_devices δεν έχουν αντίστοιχο REST.

ΕργαλείοΑπαιτούμενο δικαίωμαΤι κάνει
search_devicesDEVICES_READΑναζήτηση συσκευών με προαιρετικά φίλτρα status, policy και lastSeenBefore. Τα αποτελέσματα είναι σελιδοποιημένα: το page ξεκινά από το 0, και το μέγεθος size έχει προεπιλογή το 10 με μέγιστο το 25. Για να βρείτε μια συσκευή που ονομάζει ο χρήστης, περάστε μόνο το query (2 έως 100 χαρακτήρες), το οποίο αντιστοιχεί σε όνομα, σειριακό αριθμό, IMEI, μοντέλο ή ετικέτα. Δεν μπορεί να συνδυαστεί με status, policy, lastSeenBefore ή page. Επιστρέφει έως και size καλύτερες αντιστοιχίσεις, η καθεμία με το pathName και το matchedField της, και το truncated δηλώνει εάν βρέθηκαν περισσότερα αποτελέσματα.
count_devicesDEVICES_READΚαταμέτρηση συσκευών με τα ίδια προαιρετικά φίλτρα status, policy και lastSeenBefore.
get_deviceDEVICES_READΠλήρεις λεπτομέρειες για μία συσκευή, συμπεριλαμβανομένου του επιπέδου μπαταρίας, των συνόλων μνήμης και αποθηκευτικού χώρου υλικού, καθώς και των λόγων μη συμμόρφωσης με την πολιτική.
get_fleet_summaryDEVICES_READΣυγκεντρωτικά στοιχεία στόλου: συνολικές συσκευές, ανάλυση κατά κατάσταση και σύνοψη της στάσης ασφαλείας. Δεν επιστρέφει ποτέ λίστα συσκευών.
list_device_commandsDEVICES_READΟι πιο πρόσφατες εντολές που στάλθηκαν σε μια συσκευή, με τις νεότερες πρώτα, με type, status, χρονικές σημάνσεις και έναν σύντομο κωδικό αποτελέσματος. Το limit έχει προεπιλογή το 20 και ανώτατο όριο το 50. Τα ωφέλιμα φορτία εντολών δεν επιστρέφονται ποτέ.
list_policiesPOLICIES_READΛίστα πολιτικών. Επιστρέφει μόνο μια επισκόπηση, χωρίς λεπτομέρειες διαμόρφωσης.
get_policyPOLICIES_READΕπισκόπηση μίας πολιτικής.
diagnose_deviceDEVICES_READΔιάγνωση προβληματικής περιοχής σε μία συσκευή, δεδομένων των assetId και area. Η μόνη περιοχή σήμερα είναι το remote_access: γιατί η συσκευή δεν είναι προσβάσιμη ή ελέγξιμη εξ αποστάσεως, βάσει του συγχρονισμού και της κατάστασής της, εάν η πολιτική της περιλαμβάνει το NomidRemote, εάν το NomidRemote είναι εγκατεστημένο, ενημερωμένο και επικοινωνεί, καθώς και τα πρόσφατα αιτήματα και συνεδρίες απομακρυσμένης πρόσβασης. Επιστρέφει τα πεδία findings (πιθανές αιτίες, με τις πιο πιθανές πρώτες, η καθεμία με αποδεικτικά στοιχεία και ένα επόμενο βήμα) και unknowns (τι δεν μπόρεσε να προσδιοριστεί, ώστε να ερωτηθεί ο χρήστης). Δεν επιστρέφει ποτέ διαπιστευτήρια, κλειδιά ή αναγνωριστικά απομακρυσμένης πρόσβασης.
get_portal_linkDEVICES_READ / POLICIES_READΗ διεύθυνση URL της πύλης Nomid μιας συσκευής (kind asset, βάσει assetId), μιας πολιτικής (kind policy, βάσει policyId) ή μιας εφαρμογής βιβλιοθήκης (kind app, βάσει ονόματος πακέτου). Μια συσκευή χρειάζεται DEVICES_READ· μια πολιτική ή μια εφαρμογή χρειάζεται POLICIES_READ. Ένα αντικείμενο που δεν υπάρχει στην εταιρεία επιστρέφει σφάλμα εργαλείου. Ο σύνδεσμος ανοίγει μόνο τη σελίδα: η πύλη εξακολουθεί να εφαρμόζει τα δικαιώματα του ίδιου του συνδεδεμένου χρήστη.
search_nomid_siteDEVICES_READ / POLICIES_READΑναζήτηση στον δημόσιο ιστότοπο του Nomid για προγράμματα και τιμολόγηση: τα προγράμματα και τα όρια συσκευών τους, τιμοκατάλογοι ανά συσκευή Android και VR σε USD, EUR και BRL, τι περιλαμβάνει κάθε πρόγραμμα και τις συνήθεις ερωτήσεις τιμολόγησης. Το locale είναι προαιρετικό: en, es ή pt. Επιστρέφει έως και 5 αποσπάσματα με τη διεύθυνση URL της σελίδας τους. Αυτές είναι δημόσιες τιμές καταλόγου, όχι το συμβόλαιο ή το τιμολόγιο της ίδιας της εταιρείας. Οποιαδήποτε άδεια ανάγνωσης είναι αρκετή.

Εργαλεία εντολών

Τα εργαλεία εντολών ενεργούν σε ακριβώς μία φυσική συσκευή ανά κλήση. Δεν υπάρχει μαζική επιλογή. Κάθε εργαλείο χρειάζεται DEVICES_COMMAND, και το change_device_policy χρειάζεται επίσης POLICIES_READ.

ΕργαλείοΑπαιτούμενο δικαίωμαΤι κάνει
lock_deviceDEVICES_COMMAND + DEVICES_READΚλειδώστε την οθόνη της συσκευής αμέσως. Ο χρήστης μπορεί να την ξεκλειδώσει κανονικά.
start_lost_modeDEVICES_COMMAND + DEVICES_READΚλειδώστε τη συσκευή και εμφανίστε ένα μήνυμα, με προαιρετικά στοιχεία επικοινωνίας, στην οθόνη κλειδώματος. Το message είναι υποχρεωτικό και μπορεί να περιέχει έως 4096 χαρακτήρες. Τα phoneNumber, email, streetAddress και organization είναι προαιρετικά.
stop_lost_modeDEVICES_COMMAND + DEVICES_READΤερματίστε τη λειτουργία απώλειας. Δεν συμβαίνει τίποτα και δεν επιστρέφεται σφάλμα, εάν η συσκευή δεν βρισκόταν σε λειτουργία απώλειας.
send_device_messageDEVICES_COMMAND + DEVICES_READΕμφανίστε μια ειδοποίηση push απλού κειμένου στη συσκευή. Το title (έως 60 χαρακτήρες) και το body (έως 500 χαρακτήρες) είναι και τα δύο υποχρεωτικά. Η εκ νέου αποστολή του ίδιου μηνύματος εμφανίζει μια δεύτερη ειδοποίηση.
request_status_reportDEVICES_COMMAND + DEVICES_READΖητήστε από τη συσκευή να στείλει μια νέα αναφορά κατάστασης τώρα. Η αναφορά φτάνει αργότερα: διαβάστε την με το get_device.
force_location_updateDEVICES_COMMAND + DEVICES_READΖητήστε από τη συσκευή να αναφέρει την τρέχουσα τοποθεσία της τώρα. Η τοποθεσία φτάνει αργότερα: διαβάστε την με το get_device.
sync_policyDEVICES_COMMAND + DEVICES_READΣτείλτε ξανά στη συσκευή την τρέχουσα πολιτική της. Μόνο για συσκευές που διαχειρίζονται από τον πράκτορα Nomid (AOSP). Οι συσκευές Android Management λαμβάνουν τις αλλαγές πολιτικής αυτόματα.
reboot_deviceDEVICES_COMMAND + DEVICES_READΚάντε επανεκκίνηση της συσκευής τώρα. Όποιος τη χρησιμοποιεί διακόπτεται και ενδέχεται να χαθεί μη αποθηκευμένη εργασία.
shutdown_deviceDEVICES_COMMAND + DEVICES_READΑπενεργοποιήστε τη συσκευή τώρα. Δεν μπορεί να ενεργοποιηθεί ξανά εξ αποστάσεως. Μόνο για συσκευές που διαχειρίζονται από τον πράκτορα Nomid (AOSP).
launch_appDEVICES_COMMAND + DEVICES_READΑνοίξτε μια εγκατεστημένη εφαρμογή στη συσκευή βάσει του packageName της. Μόνο για συσκευές που διαχειρίζονται από τον πράκτορα Nomid (AOSP).
clear_app_dataDEVICES_COMMAND + DEVICES_READΔιαγράψτε όλα τα δεδομένα των εφαρμογών στο packageNames (1 έως 20 ονόματα πακέτων), σαν να είχαν μόλις εγκατασταθεί. Δεν μπορεί να αναιρεθεί. Μόνο για συσκευές Android Management.
change_device_policyDEVICES_COMMAND + DEVICES_READ + POLICIES_READΜετακινήστε τη συσκευή σε μια άλλη πολιτική της εταιρείας, που προσδιορίζεται από το policyId. Οτιδήποτε περιείχε μόνο η τρέχουσα πολιτική αφαιρείται. Αποτυγχάνει εάν η συσκευή χρησιμοποιεί ήδη αυτήν την πολιτική. Απαιτείται επίσης το POLICIES_READ.

Εργαλεία καταστροφικών εντολών

ΕργαλείοΑπαιτούμενο δικαίωμαΤι κάνει
wipe_deviceDEVICES_COMMAND_DESTRUCTIVE + DEVICES_READΚατάργηση της συσκευής από τη διαχείριση και διαγραφή των διαχειριζόμενων δεδομένων της. Μια εταιρική συσκευή επαναφέρεται στις εργοστασιακές ρυθμίσεις: κάθε εφαρμογή και όλα τα δεδομένα σε αυτήν διαγράφονται. Σε μια προσωπική συσκευή με προφίλ εργασίας, αφαιρούνται μόνο το προφίλ εργασίας και οι εφαρμογές και τα δεδομένα του· οι προσωπικές εφαρμογές και τα δεδομένα παραμένουν. Μη αναστρέψιμο.
reset_screen_lockDEVICES_COMMAND_DESTRUCTIVE + DEVICES_READΚατάργηση του κλειδώματος οθόνης της συσκευής (PIN, μοτίβο ή κωδικός πρόσβασης), ώστε να μπορεί να ξεκλειδωθεί χωρίς αυτό. Μόνο για συσκευές Android Management.
change_screen_lock_passwordDEVICES_COMMAND_DESTRUCTIVE + DEVICES_READΟρισμός νέου κωδικού πρόσβασης κλειδώματος οθόνης, ο οποίος παρέχεται ως newPassword (4 έως 128 χαρακτήρες, χωρίς αρχικά ή τελικά κενά διαστήματα). Η συσκευή κλειδώνει και ξεκλειδώνεται μόνο με τον νέο κωδικό πρόσβασης. Ο κωδικός πρόσβασης δεν αποθηκεύεται, δεν επιστρέφεται και δεν καταγράφεται ποτέ σε αρχείο καταγραφής. Μόνο για συσκευές Android Management.
relinquish_ownershipDEVICES_COMMAND_DESTRUCTIVE + DEVICES_READΑποδέσμευση εταιρικής συσκευής στον χρήστη της. Το προφίλ εργασίας και τα δεδομένα του καταργούνται και η συσκευή παύει να διαχειρίζεται. Μη αναστρέψιμο.

Οι πελάτες MCP που συνδέονται με Sign in with Nomid αντί για κλειδί API χρειάζονται το εύρος mcp:devices:destructive για αυτά τα εργαλεία και το mcp:devices:command για τα εργαλεία εντολών.

Ποιες συσκευές μπορούν να λάβουν εντολές

  • Μόνο εγγεγραμμένες συσκευές μπορούν να λάβουν εντολές (κατάσταση ACTIVE, INACTIVE ή SYNCHRONIZING). Στοιχεία ενεργητικού που έχουν διαγραφεί, επαναπαραχωρηθεί ή καταργηθεί η εγγραφή τους απορρίπτονται.
  • Ορισμένες εντολές λειτουργούν μόνο σε έναν τύπο συσκευής. Τα Lock, lost mode, clear_app_data, reset_screen_lock και change_screen_lock_password απαιτούν συσκευή Android Management (υπό τη διαχείριση της Google). Τα sync_policy, shutdown_device και launch_app απαιτούν συσκευή υπό τη διαχείριση του πράκτορα Nomid (AOSP). Άλλες συσκευές λαμβάνουν σφάλμα εργαλείου.
  • Ένα μήνυμα είναι μια ειδοποίηση push προς τον πράκτορα Nomid στη συσκευή, επομένως η συσκευή χρειάζεται ένα εγγεγραμμένο διακριτικό push (push token).
  • Ένα στοιχείο ενεργητικού που ανήκει σε άλλη εταιρεία συμπεριφέρεται ακριβώς όπως ένα στοιχείο ενεργητικού που δεν υπάρχει.

Μη διαθέσιμα μέσω MCP ή του REST API: έναρξη συνεδριών απομακρυσμένης πρόσβασης, και παράθεση ή ανάκληση διακριτικών εγγραφής (enrollment tokens). Ένας κωδικός QR προετοιμασίας δημιουργεί το δικό του διακριτικό εγγραφής. Οι αλλαγές πολιτικής έχουν τη δική τους ροή πρότασης και εφαρμογής (propose-and-apply).

Εργαλείο παραχώρησης (Provisioning tool)

Κάθε κλήση δημιουργεί ένα νέο διακριτικό εγγραφής (enrollment token), επομένως ο βοηθός θα πρέπει να δημιουργεί κωδικό QR μόνο όταν το ζητά ο χρήστης και να μην επαναχρησιμοποιεί ποτέ έναν παλαιότερο.

ΕργαλείοΑπαιτούμενο δικαίωμαΤι κάνει
create_provisioning_qr_codePROVISIONING + POLICIES_READΔημιουργήστε έναν κωδικό QR που εγγράφει μια νέα συσκευή Android ή μια συσκευή Android μετά από επαναφορά εργοστασιακών ρυθμίσεων στην εταιρεία με την πολιτική που καθορίζεται από το policyId. Το personalUsage και ένα δίκτυο Wi-Fi για τη ρύθμιση (wifiSsid, wifiPassword, wifiSecurity, wifiHidden) είναι προαιρετικά. Ο κωδικός σταματά να λειτουργεί 24 ώρες μετά τη δημιουργία του. Οι πολιτικές αποκλειστικά για VR δεν μπορούν να παραχωρηθούν με κωδικό QR.

Ο κωδικός QR επιστρέφεται ως μπλοκ εικόνας MCP δίπλα στο αποτέλεσμα κειμένου, ώστε ο πελάτης να μπορεί να τον εμφανίσει στον χρήστη. Το αποτέλεσμα κειμένου παρέχει τα policyId, policyName, personalUsage, expiresAt και, όταν δόθηκε δίκτυο, το wifiSsid. Δεν περιέχει ποτέ το διακριτικό εγγραφής ή τον κωδικό πρόσβασης Wi-Fi.

Οι συνδέσεις Sign in with Nomid χρειάζονται την εμβέλεια mcp:provisioning και τη ρύθμιση παραχώρησης της εταιρείας στην ενότητα πρόσβασης πράκτορα AI. Ένα κλειδί API με PROVISIONING δεν χρειάζεται αυτή τη ρύθμιση.

API κωδικών QR προετοιμασίας (provisioning)

Αλλαγές πολιτικής

Κάθε αλλαγή απαιτεί δύο βήματα. Πρώτα την προτείνετε: το API καταγράφει μια πρόταση και επιστρέφει τη λίστα αλλαγών της, με την τρέχουσα και τη νέα τιμή κάθε ρύθμισης, τον αντίκτυπο και τον χρόνο λήξης της πρότασης. Τίποτα δεν αλλάζει ακόμα στην πολιτική. Στη συνέχεια εφαρμόζετε την πρόταση βάσει του proposalId της, αφού ο υπεύθυνος ελέγξει τη λίστα αλλαγών.

ΕργαλείοΑπαιτούμενο δικαίωμαΤι κάνει
get_policy_settingsPOLICIES_READΑνάγνωση των επεξεργάσιμων ρυθμίσεων μιας πολιτικής με τις τρέχουσες και τις επιτρεπόμενες τιμές τους.
list_policy_revisionsPOLICIES_READΚαταγραφή των αποθηκευμένων αναθεωρήσεων μιας πολιτικής, με τις νεότερες πρώτα.
get_policy_proposalPOLICIES_READΑνάγνωση μιας πρότασης που υποβλήθηκε από το ίδιο κλειδί ή σύνδεση, μαζί με την κατάστασή της.
update_policy_settingsPOLICIES_WRITE + POLICIES_READΠρόταση αλλαγών ρυθμίσεων σε μια υπάρχουσα πολιτική.
create_policyPOLICIES_WRITE + POLICIES_READΠρόταση νέας πολιτικής ως αντίγραφο μιας υπάρχουσας, με προαιρετικές αλλαγές ρυθμίσεων.
rollback_policyPOLICIES_WRITE + POLICIES_READΠρόταση επαναφοράς μιας πολιτικής σε προηγούμενη αναθεώρηση.
apply_policy_proposalPOLICIES_WRITE + POLICIES_READΕφαρμογή μιας εκκρεμούς πρότασης βάσει του proposalId της, με επιβεβαίωση όταν έχει ΥΨΗΛΟ αντίκτυπο (HIGH).

Ένας βοηθός πρέπει να δείξει στον χρήστη τη λίστα αλλαγών και να λάβει τη ρητή έγκρισή του στη συνομιλία πριν καλέσει το apply_policy_proposal. Για μια πρόταση ΥΨΗΛΟΥ αντικτύπου (HIGH), πρέπει να ζητήσει από τον χρήστη να πληκτρολογήσει το όνομα της πολιτικής και να διαβιβάσει ακριβώς αυτό που πληκτρολόγησε.

API αλλαγών πολιτικής

Ασφάλεια και έλεγχος

Μια εντολή αλλάζει κάτι που κρατά ένα άτομο. Αντιμετωπίστε κάθε μία ως μια ενέργεια που χρειάζεται ανθρώπινη απόφαση.

  • Πάντα να επιβεβαιώνετε με τον χρήστη πριν από οποιαδήποτε εντολή. Οι περιγραφές των εργαλείων ζητούν από το μοντέλο να το κάνει αυτό, αλλά τίποτα στον διακομιστή δεν το επιβάλλει. Διατηρήστε την έγκριση ανά εργαλείο του προγράμματος-πελάτη σας ενεργοποιημένη για τα εργαλεία εντολών αντί να τα εγκρίνετε αυτόματα.
  • Μην στέλνετε ποτέ ξανά μια εντολή μετά από ένα ανεπιβεβαίωτο αποτέλεσμα. Εάν το αποτέλεσμα είναι άγνωστο, ελέγξτε το list_device_commands αφού η συσκευή έχει προλάβει να απαντήσει, και ρωτήστε τον χρήστη πριν στείλετε ξανά. Η εκ νέου αποστολή μπορεί να δημιουργήσει διπλότυπο μιας εντολής που είχε ήδη παραδοθεί, και ένα μήνυμα εμφανίζει μια δεύτερη ειδοποίηση.
  • Ένα αποτέλεσμα που αναφέρει ότι η εντολή δεν στάλθηκε είναι ασφαλές για επανάληψη. Η εντολή δεν έφυγε ποτέ από το Nomid.
  • Κάθε εντολή καταγράφεται στο ιστορικό εντολών της συσκευής στην πύλη Nomid. Μια εντολή που στάλθηκε με κλειδί API αποδίδεται στο κλειδί, όχι σε ένα άτομο: η καταχώριση εμφανίζει το api-key, το αναγνωριστικό του κλειδιού και το πρόθεμα του κλειδιού. Μια εντολή που στάλθηκε μέσω μιας σύνδεσης «Sign in with Nomid» αποδίδεται στον χρήστη που συνδέθηκε. Το ιστορικό που επιστρέφει το list_device_commands περιέχει μόνο τύπο, κατάσταση, χρονικές σημάνσεις και έκβαση, όχι ποιος έστειλε την εντολή.
  • Εάν ένας υπολογιστής ή ένα αρχείο ρυθμίσεων παραβιαστεί, ανακαλέστε το κλειδί από τις Ρυθμίσεις, API. Τα ανακληθέντα κλειδιά δεν μπορούν να αποκατασταθούν. Για να τερματίσετε μια σύνδεση «Sign in with Nomid», ανακαλέστε την στη λίστα συνδέσεων της σελίδας AI agents στην πύλη, ή αποσυνδέστε την σε ένα πρόγραμμα-πελάτη που ανακαλεί τα διακριτικά του κατά την αποσύνδεση. Σε κάθε περίπτωση, η σύνδεση και όλα τα διακριτικά της σταματούν να λειτουργούν αμέσως. Κάθε χρήστης μπορεί να ανακαλέσει τις δικές του συνδέσεις, και ένας χρήστης που μπορεί να διαχειριστεί κλειδιά API μπορεί να ανακαλέσει οποιαδήποτε σύνδεση της εταιρείας.

Όρια ρυθμού αιτημάτων

Τα όρια υπολογίζονται ανά κλειδί API ή ανά σύνδεση «Sign in with Nomid», σε σταθερά παράθυρα ενός λεπτού. Όταν υπερβαίνετε το όριο αιτημάτων MCP, ο διακομιστής απαντά με HTTP 429 Too Many Requests και μια κεφαλίδα Retry-After που δίνει τα δευτερόλεπτα μέχρι την επαναφορά του παραθύρου.

ΌριοΕπιτρεπόμενα
Όλα τα αιτήματα MCP, κάθε εργαλείο60 ανά λεπτό ανά κλειδί ή σύνδεση
Εντολές συσκευών, αλλαγές πολιτικής και κωδικοί QR προετοιμασίας, συνδυαστικά REST και MCP10 ανά λεπτό ανά κλειδί ή σύνδεση

Μια κλήση εργαλείου εντολής (command tool), κάθε κλήση propose ή apply ενός εργαλείου αλλαγής πολιτικής, καθώς και κάθε κλήση create_provisioning_qr_code προσμετρώνται και στα δύο όρια. Όταν μια τέτοια κλήση υπερβαίνει το κοινό όριο εγγραφής, ο διακομιστής επιστρέφει σφάλμα εργαλείου αντί για HTTP 429. Πρόκειται για μια κανονική απόκριση επισημασμένη ως σφάλμα, και το κείμενό της αναφέρει πόσα δευτερόλεπτα πρέπει να περιμένετε. Τα τελικά σημεία (endpoints) ανάγνωσης REST δεν χρησιμοποιούν το όριο MCP.

Αντιμετώπιση προβλημάτων

ΣύμπτωμαΠιθανή αιτία και επιδιόρθωση
401 Unauthorized με κλειδί APIΤο κλειδί λείπει, δεν είναι έγκυρο, έχει λήξει ή έχει ανακληθεί. Ελέγξτε ότι ο πελάτης στέλνει Authorization: Bearer ακολουθούμενο από το κλειδί, και ότι η μεταβλητή περιβάλλοντος είχε οριστεί όταν εκτελέσατε την εντολή ρύθμισης.
401 Unauthorized, ή το πρόγραμμα-πελάτης σάς ζητά να συνδεθείτε ξανά, με Sign in with NomidΤο διακριτικό πρόσβασης έληξε και δεν ήταν δυνατή η ανανέωσή του ή η σύνδεση ανακλήθηκε. Τα αιτήματα απορρίπτονται επίσης όταν ο χρήστης δεν είναι πλέον μέλος της εταιρείας, ο ρόλος του δεν επιτρέπει πλέον κανένα από τα χορηγηθέντα scopes ή η εταιρεία έχει απενεργοποιήσει την πρόσβαση AI agent. Η σύνδεση ενός απενεργοποιημένου χρήστη ανακαλείται. Συνδεθείτε ξανά ή επανασυνδέστε τον connector. Εάν εξακολουθεί να αποτυγχάνει, ζητήστε από έναν διαχειριστή της εταιρείας να ελέγξει την ιδιότητα μέλους σας, τον ρόλο σας και την πρόσβαση AI agent στην πύλη.
Σφάλμα εργαλείου που αναφέρει ότι το κλειδί δεν διαθέτει την απαιτούμενη άδεια ή ότι η εταιρεία δεν την έχει ενεργοποιήσει (HTTP 403 στο REST API)Το κλειδί δημιουργήθηκε χωρίς την άδεια που χρειάζεται αυτό το εργαλείο ή η ρύθμιση της εταιρείας είναι απενεργοποιημένη. Τα εργαλεία εντολών χρειάζονται DEVICES_COMMAND και DEVICES_READ, και το change_device_policy χρειάζεται επίσης POLICIES_READ. Τα καταστροφικά εργαλεία χρειάζονται DEVICES_COMMAND_DESTRUCTIVE και DEVICES_READ, καθώς και ενεργοποιημένη τη ρύθμιση καταστροφικών εντολών της εταιρείας. Τα εργαλεία αλλαγής πολιτικής χρειάζονται POLICIES_WRITE και POLICIES_READ, και ενεργοποιημένη τη ρύθμιση αλλαγών πολιτικής της εταιρείας. Το create_provisioning_qr_code χρειάζεται PROVISIONING και POLICIES_READ.
Σφάλμα εργαλείου που δηλώνει ότι δεν έχετε το απαιτούμενο δικαίωμα ή ότι ένας διαχειριστής δεν έχει ενεργοποιήσει την πρόσβαση AI agent για αυτό (Sign in with Nomid)Η σύνδεση δεν διαθέτει το scope που χρειάζεται το εργαλείο, ο ρόλος σας δεν διαθέτει το αντίστοιχο δικαίωμα ή η ρύθμιση της εταιρείας για αυτό στην ενότητα πρόσβασης AI agent είναι απενεργοποιημένη. Επανασυνδεθείτε και εγκρίνετε το scope στη σελίδα συγκατάθεσης. Τα mcp:devices:destructive και mcp:policies:write εμφανίζονται μόνο εάν τα ζητήσει το πρόγραμμα-πελάτης. Για μια απενεργοποιημένη ρύθμιση, ζητήστε από έναν διαχειριστή της εταιρείας να την ενεργοποιήσει.
HTTP 429 Too Many Requests ή σφάλμα εργαλείου που αναφέρει ότι σημειώθηκε υπέρβαση του ορίου ρυθμού (rate limit)Υπερβήκατε ένα όριο ρυθμού. Για σφάλμα HTTP 429, περιμένετε τον αριθμό δευτερολέπτων που αναγράφεται στην κεφαλίδα Retry-After. Για σφάλμα εργαλείου, περιμένετε τον αριθμό δευτερολέπτων που αναφέρει το μήνυμά του.
Σφάλμα εργαλείου σχετικά με συσκευή που δεν βρέθηκε ή δεν μπορεί να λάβει την εντολήΧρησιμοποιήστε το pathName από το search_devices ως assetId. Ελέγξτε ότι η συσκευή είναι εγγεγραμμένη και ότι η εντολή υποστηρίζει τον τύπο συσκευής της (δείτε Ποιες συσκευές μπορούν να λάβουν εντολές).
Σφάλμα εργαλείου που αναφέρει ότι το αποτέλεσμα είναι άγνωστοΜην την επαναποστείλετε. Ελέγξτε το list_device_commands μόλις η συσκευή έχει χρόνο να απαντήσει, και ρωτήστε τον χρήστη πριν στείλετε ξανά.
Ο βοηθός δεν εμφανίζει κανένα εργαλείο Nomid στη λίσταΜε ένα κλειδί API, επιβεβαιώστε ότι ο πελάτης σας υποστηρίζει διακομιστές Streamable HTTP με προσαρμοσμένες κεφαλίδες και ότι το URL ταιριάζει ακριβώς με το παραπάνω τελικό σημείο (endpoint). Με το Sign in with Nomid, ολοκληρώστε τη σύνδεση ή αποσυνδέστε το connector και συνδέστε το ξανά. Μια συνδεδεμένη περίοδος λειτουργίας παραθέτει κάθε εργαλείο, οπότε ένα πεδίο (scope) που λείπει εμφανίζεται ως σφάλμα εργαλείου και όχι ως εργαλείο που λείπει.

Σχετική τεκμηρίωση

Επιλέξτε την ώρα σας

Φόρτωση...
Άνοιγμα ημερολογίου κρατήσεων