MCP-Server

Lassen Sie einen KI-Assistenten Ihre Geräteflotte und Richtlinien abfragen und optional Befehle an jeweils ein einzelnes Gerät senden – mithilfe von „Sign in with Nomid“ oder einem Nomid-API-Schlüssel.

Was der MCP-Server tut

Das Model Context Protocol (MCP) ist ein offener Standard, der es KI-Assistenten ermöglicht, Tools in anderen Systemen aufzurufen. Der Nomid-MCP-Server ermöglicht es Assistenten wie claude.ai, ChatGPT, Claude Code, Codex oder Cursor, Fragen zu Ihrer Flotte in natürlicher Sprache zu beantworten – beispielsweise wie viele Geräte eine bestimmte Richtlinie verwenden oder welche Geräte seit einem bestimmten Datum nicht mehr erreichbar waren –, ohne dass jemand das Portal öffnen muss. Er kann außerdem diagnostizieren, warum ein Gerät nicht remote erreicht werden kann, auf ein Gerät, eine Richtlinie oder eine App im Portal verlinken und die öffentlichen Tarife sowie Listenpreise von Nomid abrufen. Mit einer zusätzlichen Berechtigung kann er Befehle an jeweils ein Gerät senden, z. B. Sperren, Neustarten oder Ändern der Richtlinie, oder QR-Codes für die Bereitstellung erstellen. Eine separate Berechtigung erlaubt destruktive Befehle wie das Zurücksetzen auf Werkseinstellungen (Wipe).

Endpunkt und Transport

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

Der Server verwendet MCP Streamable HTTP im zustandslosen Modus. Jeder JSON-RPC-Aufruf ist eine unabhängige HTTPS-Anfrage, sodass keine Sitzung aufrechterhalten und kein Event-Stream offengehalten werden muss.

Verbinden Sie sich über „Sign in with Nomid“ (OAuth) oder mit einem API-Schlüssel. Senden Sie einen API-Schlüssel als Bearer-Token oder im X-API-Key-Header. Die meisten MCP-Clients unterstützen nur das Bearer-Format. Ein fehlender, ungültiger oder abgelaufener Schlüssel bzw. Token gibt 401 zurück.

Der API-Schlüssel oder die Verbindung über „Sign in with Nomid“ legt das Unternehmen fest. Kein Tool akzeptiert ein Tenant- oder Unternehmensargument, und eine Verbindung kann nur die Geräte und Richtlinien des eigenen Unternehmens einsehen.

Sign in with Nomid

„Sign in with Nomid“ ist OAuth für MCP-Clients, offen für jedes Unternehmen. Anstatt einen Schlüssel zu verwenden, meldet sich der Benutzer im Browser bei Nomid an und genehmigt, was der Assistent tun darf. Der Assistent agiert dann als dieser Benutzer in diesem Unternehmen und sieht nur die Geräte und Richtlinien, die die Rolle und der Richtlinienzugriff des Benutzers zulassen.

claude.ai, ChatGPT und Claude Code verbinden sich über „Sign in with Nomid“: Fügen Sie die obige Endpunkt-URL als benutzerdefinierten Connector oder MCP-Server ohne Schlüssel hinzu und melden Sie sich an, wenn der Client dazu auffordert. Die folgenden Beispiele für Codex und Cursor verwenden einen API-Schlüssel.

Fügen Sie den Server in Claude Code ohne Header hinzu, führen Sie dann /mcp in Claude Code aus und wählen Sie den Server aus, um sich anzumelden.

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

Eine Verbindung enthält OAuth-Berechtigungsbereiche (Scopes), die an die Stelle von API-Schlüssel-Berechtigungen treten.

Berechtigungsbereich (Scope)Was es erlaubt
mcp:readDie Lese-Tools. Die Rolle des Benutzers benötigt die Berechtigung zum Anzeigen von Geräten, Richtlinien oder der Bibliothek; jedes Tool benötigt weiterhin seine eigene.
mcp:devices:commandDie Befehls-Tools. Erfordert die Gerätesteuereinstellung des Unternehmens und einen Benutzer, der Gerätebefehle senden darf.
mcp:devices:destructiveDie destruktiven Befehls-Tools. Erfordert die Einstellung für destruktive Befehle des Unternehmens und einen Benutzer, der Gerätebefehle senden darf.
mcp:provisioningcreate_provisioning_qr_code. Erfordert die Bereitstellungseinstellung des Unternehmens und einen Benutzer, der Geräte bereitstellen und Richtlinien anzeigen darf.
mcp:policies:writeDie Tools zur Richtlinienänderung. Erfordert die Richtlinienänderungseinstellung des Unternehmens und einen Benutzer, der Richtlinien bearbeiten und anzeigen darf. Das Gewähren schließt auch mcp:read ein.

Clients fragen standardmäßig nach mcp:read, mcp:devices:command und mcp:provisioning. mcp:devices:destructive und mcp:policies:write werden niemals automatisch angefordert: Ein Client muss diese explizit anfordern.

Auf der Zustimmungsseite kann der Benutzer Scopes abwählen, und Nomid entfernt alle Scopes, die die Rolle des Benutzers oder die Einstellungen für den Zugriff von KI-Agenten des Unternehmens nicht zulassen. Die Genehmigung eines Befehls-, destruktiven oder Richtlinienänderungs-Scopes erfordert eine kürzlich erfolgte Anmeldung.

Jede Anfrage überprüft die Verbindung erneut. Wenn der Benutzer den Zugriff auf das Unternehmen oder die für ein Tool erforderlichen Rollenberechtigungen verliert oder das Unternehmen den Zugriff von KI-Agenten deaktiviert, werden Anfragen abgelehnt, solange dies andauert.

Einen API-Schlüssel erstellen

Der MCP-Server verwendet dieselben API-Schlüssel wie die REST-API. Erstellen Sie einen dedizierten Schlüssel für jeden Assistenten, damit Sie ihn widerrufen können, ohne andere Integrationen zu beeinträchtigen.

  1. 1

    Öffnen Sie im Nomid-Portal die Einstellungen und wählen Sie den Tab „API“.

  2. 2

    Klicken Sie auf „API-Schlüssel erstellen“ und geben Sie einen Namen ein, der den Assistenten identifiziert, z. B. Claude Code schreibgeschützt.

  3. 3

    Wählen Sie die unten beschriebenen Berechtigungen aus. Wenn der Schlüssel ab einem bestimmten Datum nicht mehr funktionieren soll, legen Sie ein Ablaufdatum fest.

  4. 4

    Kopieren Sie den Schlüssel, sobald er angezeigt wird. Er wird nur einmal angezeigt.

Schreibgeschützter Schlüssel

Aktivieren Sie die Leseberechtigungen für Geräte und Richtlinien (DEVICES_READ und POLICIES_READ). Dies reicht für jedes Lese-Tool aus und ist der empfohlene Ausgangspunkt.

Befehlsschlüssel

Damit der Assistent Gerätebefehle senden kann, aktivieren Sie zusätzlich die Gerätebefehlsberechtigung (DEVICES_COMMAND). Ein Befehlsschlüssel muss auch über DEVICES_READ verfügen, und das Ändern der Richtlinie eines Geräts erfordert zusätzlich POLICIES_READ. Nur ein Portal-Benutzer, der berechtigt ist, Gerätebefehle zu senden, und Zugriff auf alle Richtlinien hat, kann einen Schlüssel mit dieser Berechtigung erstellen.

Schlüssel für destruktive Befehle

Damit der Assistent ein Gerät löschen, seine Bildschirmsperre zurücksetzen oder ändern oder die Eigentümerschaft aufgeben kann, aktivieren Sie die Berechtigung für destruktive Gerätebefehle (DEVICES_COMMAND_DESTRUCTIVE) zusammen mit DEVICES_READ. Das Unternehmen muss außerdem destruktive Befehle unter AI-Agent-Zugriff im Portal aktivieren. Es gelten dieselben Portalbenutzerregeln wie für einen Befehlsschlüssel.

Bereitstellungsschlüssel

Damit der Assistent Bereitstellungs-QR-Codes erstellen kann, aktivieren Sie die Bereitstellungsberechtigung (PROVISIONING) zusammen mit POLICIES_READ. Nur ein Portalbenutzer, der Geräte bereitstellen darf und Zugriff auf alle Richtlinien hat, kann einen Schlüssel mit dieser Berechtigung erstellen.

Ihren Assistenten verbinden

Speichern Sie den Schlüssel in einer Umgebungsvariable namens NOMID_API_KEY und übertragen Sie ihn niemals in ein Repository. Die URL in jedem Beispiel ist der Produktionsendpunkt.

Claude Code

Führen Sie dies einmal in Ihrer Shell aus. Ihre Shell expandiert die Variable bei Ausführung des Befehls, und Claude Code speichert den resultierenden Schlüssel anschließend im Klartext in seiner eigenen Konfigurationsdatei. Verwenden Sie hierfür einen dedizierten schreibgeschützten Schlüssel.

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

Codex

Fügen Sie dies zu ~/.codex/config.toml hinzu. Codex liest das Token aus der benannten Umgebungsvariablen. Variablen innerhalb der Datei werden nicht expandiert.

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

Cursor

Fügen Sie dies zu .cursor/mcp.json hinzu. Cursor expandiert Umgebungsvariablen im Header-Wert, wie dargestellt.

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

Andere Clients

Jeder MCP-Client, der streamfähige HTTP-Server mit benutzerdefinierten Headern unterstützt, kann sich über die Endpunkt-URL und einen Authorization:-Bearer-Header verbinden.

Verfügbare Tools

Jedes Tool ist auf das Unternehmen des Schlüssels oder der Verbindung beschränkt. Ein Gerät wird durch seine assetId identifiziert, welche der von search_devices und get_device zurückgegebene pathName ist. Eine Richtlinie wird durch ihre policyId identifiziert, welche der von list_policies zurückgegebene pathName ist.

Lese-Tools

Lese-Tools ändern niemals etwas. Die meisten geben dieselben Daten wie die entsprechenden REST-Endpunkte zurück. diagnose_device, get_portal_link, search_nomid_site und das Argument query von search_devices haben keine REST-Entsprechung.

ToolErforderliche BerechtigungFunktionsweise
search_devicesDEVICES_READGeräte mit optionalen Filtern für status, policy und lastSeenBefore durchsuchen. Die Ergebnisse sind paginiert: page beginnt bei 0 und size ist standardmäßig 10 mit einem Maximum von 25. Um ein vom Benutzer benanntes Gerät zu finden, übergeben Sie query allein (2 bis 100 Zeichen), welches mit Name, Seriennummer, IMEI, Modell oder Tag abgleicht. Es kann nicht mit status, policy, lastSeenBefore oder page kombiniert werden. Es gibt bis zu size beste Treffer zurück, jeweils mit pathName und matchedField, und truncated gibt an, ob weitere Treffer vorlagen.
count_devicesDEVICES_READZählt Geräte mit denselben optionalen Filtern für status, policy und lastSeenBefore.
get_deviceDEVICES_READVollständige Details für ein Gerät, einschließlich Akkustand, Gesamtspeicher für Hardware und Massenspeicher sowie Gründe für Richtlinien-Nichtkonformität.
get_fleet_summaryDEVICES_READAggregierte Flottenzahlen: Gesamtzahl der Geräte, eine Aufschlüsselung nach Status und eine Übersicht zur Sicherheitslage. Gibt niemals eine Geräteliste zurück.
list_device_commandsDEVICES_READDie neuesten an ein Gerät gesendeten Befehle, neueste zuerst, mit Typ, Status, Zeitstempeln und einem kurzen Ergebniscode. limit ist standardmäßig 20 und auf 50 begrenzt. Befehls-Payloads werden niemals zurückgegeben.
list_policiesPOLICIES_READRichtlinien auflisten. Gibt nur eine Übersicht ohne Konfigurationsdetails zurück.
get_policyPOLICIES_READÜbersicht über eine Richtlinie.
diagnose_deviceDEVICES_READDiagnostizieren Sie einen Problembereich auf einem Gerät anhand von assetId und area. Der einzige Bereich heute ist remote_access: warum das Gerät aus der Ferne nicht erreichbar oder steuerbar ist, anhand seiner Synchronisierung und seines Status, ob seine Richtlinie NomidRemote enthält, ob NomidRemote installiert, aktuell ist und sich meldet, sowie anhand seiner letzten Fernzugriffsanfragen und -sitzungen. Gibt findings zurück (wahrscheinliche Ursachen, die wahrscheinlichsten zuerst, jeweils mit Nachweisen und einem nächsten Schritt) und unknowns (was nicht ermittelt werden konnte, um den Benutzer danach zu fragen). Es werden niemals Anmeldedaten, Schlüssel oder Fernzugriffs-IDs zurückgegeben.
get_portal_linkDEVICES_READ / POLICIES_READDie Nomid-Portal-URL eines Geräts (kind asset, nach assetId), einer Richtlinie (kind policy, nach policyId) oder einer Bibliotheks-App (kind app, nach Paketname). Ein Gerät benötigt DEVICES_READ; eine Richtlinie oder eine App benötigt POLICIES_READ. Ein Objekt, das im Unternehmen nicht existiert, gibt einen Tool-Fehler zurück. Der Link öffnet lediglich die Seite: Das Portal wendet weiterhin die eigenen Berechtigungen des angemeldeten Benutzers an.
search_nomid_siteDEVICES_READ / POLICIES_READDurchsuchen Sie die öffentliche Website von Nomid nach Plänen und Preisen: die Pläne und ihre Gerätelimits, Listenpreise pro Android- und VR-Gerät in USD, EUR und BRL, was jeder Plan beinhaltet und die Preis-FAQ. locale ist optional: en, es oder pt. Gibt bis zu 5 Auszüge mit ihrer Seiten-URL zurück. Dies sind öffentliche Listenpreise, nicht der eigene Vertrag oder die Rechnung des Unternehmens. Jede einzelne Leseberechtigung reicht aus.

Befehls-Tools

Befehls-Tools wirken sich pro Aufruf auf genau ein physisches Gerät aus. Es gibt keine Massenoption. Jedes Tool erfordert DEVICES_COMMAND, und change_device_policy erfordert zusätzlich POLICIES_READ.

ToolErforderliche BerechtigungFunktionsweise
lock_deviceDEVICES_COMMAND + DEVICES_READSperren Sie den Gerätebildschirm sofort. Der Benutzer kann ihn ganz normal entsperren.
start_lost_modeDEVICES_COMMAND + DEVICES_READSperren Sie das Gerät und zeigen Sie eine Nachricht mit optionalen Kontaktdaten auf dem Sperrbildschirm an. message ist erforderlich und darf bis zu 4096 Zeichen lang sein. phoneNumber, email, streetAddress und organization sind optional.
stop_lost_modeDEVICES_COMMAND + DEVICES_READVerloren-Modus beenden. Es passiert nichts und es wird kein Fehler zurückgegeben, wenn sich das Gerät nicht im Verloren-Modus befand.
send_device_messageDEVICES_COMMAND + DEVICES_READZeigen Sie eine Nur-Text-Push-Benachrichtigung auf dem Gerät an. title (bis zu 60 Zeichen) und body (bis zu 500 Zeichen) sind beide erforderlich. Das erneute Senden derselben Nachricht zeigt eine zweite Benachrichtigung an.
request_status_reportDEVICES_COMMAND + DEVICES_READDas Gerät auffordern, jetzt einen aktuellen Statusbericht zu senden. Der Bericht trifft später ein: Lesen Sie ihn mit get_device.
force_location_updateDEVICES_COMMAND + DEVICES_READDas Gerät auffordern, jetzt seinen aktuellen Standort zu melden. Der Standort trifft später ein: Lesen Sie ihn mit get_device.
sync_policyDEVICES_COMMAND + DEVICES_READDem Gerät seine aktuelle Richtlinie erneut senden. Nur für Geräte, die vom Nomid-Agenten (AOSP) verwaltet werden. Android Management-Geräte erhalten Richtlinienänderungen automatisch.
reboot_deviceDEVICES_COMMAND + DEVICES_READDas Gerät jetzt neu starten. Wer auch immer es gerade verwendet, wird unterbrochen, und nicht gespeicherte Arbeit kann verloren gehen.
shutdown_deviceDEVICES_COMMAND + DEVICES_READDas Gerät jetzt ausschalten. Es kann nicht aus der Ferne wieder eingeschaltet werden. Nur für Geräte, die vom Nomid-Agenten (AOSP) verwaltet werden.
launch_appDEVICES_COMMAND + DEVICES_READEine installierte App auf dem Gerät anhand ihres packageName öffnen. Nur für Geräte, die vom Nomid-Agenten (AOSP) verwaltet werden.
clear_app_dataDEVICES_COMMAND + DEVICES_READAlle Daten der Apps in packageNames (1 bis 20 Paketnamen) löschen, als wären sie gerade erst installiert worden. Dies kann nicht rückgängig gemacht werden. Nur Android Management-Geräte.
change_device_policyDEVICES_COMMAND + DEVICES_READ + POLICIES_READDas Gerät in eine andere Richtlinie des Unternehmens verschieben, angegeben durch policyId. Alles, was nur die aktuelle Richtlinie enthielt, wird entfernt. Schlägt fehl, wenn das Gerät diese Richtlinie bereits verwendet. Erfordert außerdem POLICIES_READ.

Werkzeuge für destruktive Befehle

ToolErforderliche BerechtigungFunktionsweise
wipe_deviceDEVICES_COMMAND_DESTRUCTIVE + DEVICES_READEntfernen Sie das Gerät aus der Verwaltung und löschen Sie dessen verwaltete Daten. Ein unternehmenseigenes Gerät wird auf die Werkseinstellungen zurückgesetzt: Jede App und alle Daten darauf werden gelöscht. Bei einem Gerät in Privatbesitz mit einem Arbeitsprofil werden nur das Arbeitsprofil und dessen Apps und Daten entfernt; private Apps und Daten bleiben erhalten. Nicht umkehrbar.
reset_screen_lockDEVICES_COMMAND_DESTRUCTIVE + DEVICES_READEntfernen Sie die Bildschirmsperre des Geräts (PIN, Muster oder Passwort), sodass es ohne Sperre entsperrt werden kann. Nur für Android Management-Geräte.
change_screen_lock_passwordDEVICES_COMMAND_DESTRUCTIVE + DEVICES_READLegen Sie ein neues Passwort für die Bildschirmsperre fest, angegeben als newPassword (4 bis 128 Zeichen, keine führenden oder nachfolgenden Leerzeichen). Das Gerät sperrt sich und kann nur mit dem neuen Passwort entsperrt werden. Das Passwort wird niemals gespeichert, zurückgegeben oder protokolliert. Nur für Android Management-Geräte.
relinquish_ownershipDEVICES_COMMAND_DESTRUCTIVE + DEVICES_READGeben Sie ein unternehmenseigenes Gerät für seinen Benutzer frei. Das Arbeitsprofil und dessen Daten werden entfernt und das Gerät wird nicht mehr verwaltet. Nicht umkehrbar.

MCP-Clients, die sich über „Sign in with Nomid“ statt über einen API-Schlüssel verbinden, benötigen den Scope mcp:devices:destructive für diese Tools und mcp:devices:command für die Befehls-Tools.

Welche Geräte können Befehle empfangen

  • Nur registrierte Geräte können Befehle empfangen (Status ACTIVE, INACTIVE oder SYNCHRONIZING). Gelöschte, neu bereitgestellte und abgemeldete Assets werden abgelehnt.
  • Einige Befehle funktionieren nur auf einem bestimmten Gerätetyp. Lock, lost mode, clear_app_data, reset_screen_lock und change_screen_lock_password erfordern ein Gerät mit Android Management (von Google verwaltet). sync_policy, shutdown_device und launch_app erfordern ein vom Nomid-Agenten verwaltetes Gerät (AOSP). Andere Geräte erhalten einen Tool-Fehler.
  • Eine Nachricht ist eine Push-Benachrichtigung an den Nomid-Agenten auf dem Gerät, daher benötigt das Gerät ein registriertes Push-Token.
  • Ein Asset, das zu einem anderen Unternehmen gehört, verhält sich genau wie ein Asset, das nicht existiert.

Nicht über MCP oder die REST-API verfügbar: Starten von Fernzugriffssitzungen sowie Auflisten oder Widerrufen von Registrierungs-Tokens. Ein Bereitstellungs-QR-Code erstellt sein eigenes Registrierungs-Token. Richtlinienänderungen haben ihren eigenen Vorschlags- und Anwendungsablauf.

Bereitstellungstool

Jeder Aufruf erstellt ein neues Registrierungstoken, daher sollte der Assistent nur dann einen QR-Code erstellen, wenn der Benutzer danach fragt, und niemals einen älteren wiederverwenden.

ToolErforderliche BerechtigungFunktionsweise
create_provisioning_qr_codePROVISIONING + POLICIES_READErstellen Sie einen QR-Code, der ein neues oder auf Werkseinstellungen zurückgesetztes Android-Gerät mit der durch policyId angegebenen Richtlinie im Unternehmen registriert. personalUsage und ein WLAN-Netzwerk für die Einrichtung (wifiSsid, wifiPassword, wifiSecurity, wifiHidden) sind optional. Der Code funktioniert 24 Stunden nach seiner Erstellung nicht mehr. Reine VR-Richtlinien können nicht mit einem QR-Code bereitgestellt werden.

Der QR-Code wird als MCP-Bildblock neben dem Textergebnis zurückgegeben, damit der Client ihn dem Benutzer anzeigen kann. Das Textergebnis enthält policyId, policyName, personalUsage, expiresAt und, falls ein Netzwerk angegeben wurde, wifiSsid. Es enthält niemals das Registrierungstoken oder das WLAN-Passwort.

Verbindungen über „Sign in with Nomid“ erfordern den Scope mcp:provisioning und die Bereitstellungseinstellung des Unternehmens unter Zugriff von KI-Agenten. Ein API-Schlüssel mit PROVISIONING benötigt diese Einstellung nicht.

Bereitstellungs-QR-Codes-API

Richtlinienänderungen

Jede Änderung erfolgt in zwei Schritten. Zuerst schlagen Sie sie vor: Die API erfasst einen Vorschlag und gibt dessen Änderungsliste zurück, mit dem aktuellen und neuen Wert jeder Einstellung, den Auswirkungen und dem Zeitpunkt, zu dem der Vorschlag abläuft. An der Richtlinie ändert sich vorerst nichts. Anschließend wenden Sie den Vorschlag anhand seiner proposalId an, nachdem die zuständige Person die Änderungsliste überprüft hat.

ToolErforderliche BerechtigungFunktionsweise
get_policy_settingsPOLICIES_READDie bearbeitbaren Einstellungen einer Richtlinie mit ihren aktuellen und zulässigen Werten lesen.
list_policy_revisionsPOLICIES_READDie gespeicherten Revisionen einer Richtlinie auflisten, die neuesten zuerst.
get_policy_proposalPOLICIES_READEinen Vorschlag lesen, der mit demselben Schlüssel oder derselben Verbindung erstellt wurde, einschließlich seines Status.
update_policy_settingsPOLICIES_WRITE + POLICIES_READEinstellungsänderungen für eine bestehende Richtlinie vorschlagen.
create_policyPOLICIES_WRITE + POLICIES_READEine neue Richtlinie als Kopie einer bestehenden vorschlagen, mit optionalen Einstellungsänderungen.
rollback_policyPOLICIES_WRITE + POLICIES_READDas Wiederherstellen einer Richtlinie auf eine frühere Revision vorschlagen.
apply_policy_proposalPOLICIES_WRITE + POLICIES_READEinen ausstehenden Vorschlag anhand seiner proposalId anwenden, mit Bestätigung, wenn er eine HOHE Auswirkung (HIGH impact) hat.

Ein Assistent muss dem Benutzer die Änderungsliste anzeigen und dessen ausdrückliche Zustimmung in der Konversation einholen, bevor er apply_policy_proposal aufruft. Bei einem Vorschlag mit HOHER Auswirkung (HIGH impact) muss er den Benutzer auffordern, den Namen der Richtlinie einzugeben, und genau das übergeben, was eingegeben wurde.

API für Richtlinienänderungen

Sicherheit und Audit

Ein Befehl ändert etwas an einem Gerät, das eine Person in der Hand hält. Behandeln Sie jeden einzelnen als eine Aktion, die eine menschliche Entscheidung erfordert.

  • Holen Sie vor jedem Befehl immer die Bestätigung des Benutzers ein. Die Tool-Beschreibungen fordern das Modell dazu auf, dies zu tun, aber serverseitig wird dies nicht erzwungen. Behalten Sie die Genehmigung pro Tool Ihres Clients für Befehls-Tools aktiviert, anstatt sie automatisch zu genehmigen.
  • Senden Sie einen Befehl nach einem unbestätigten Ergebnis niemals erneut. Wenn das Ergebnis unbekannt ist, prüfen Sie list_device_commands, nachdem das Gerät Zeit zum Antworten hatte, und fragen Sie den Benutzer vor dem erneuten Senden. Ein erneutes Senden kann einen bereits zugestellten Befehl duplizieren, und eine Nachricht zeigt eine zweite Benachrichtigung an.
  • Ein Ergebnis, das besagt, dass der Befehl nicht gesendet wurde, kann sicher wiederholt werden. Der Befehl hat Nomid nie verlassen.
  • Jeder Befehl wird im Befehlsverlauf des Geräts im Nomid-Portal aufgezeichnet. Ein mit einem API-Schlüssel gesendeter Befehl wird dem Schlüssel zugeordnet, nicht einer Person: Der Eintrag zeigt api-key, die Schlüssel-ID und das Schlüsselpräfix. Ein über eine Verbindung mit „Sign in with Nomid“ gesendeter Befehl wird dem Benutzer zugeordnet, der sich angemeldet hat. Der Verlauf, den list_device_commands zurückgibt, enthält nur Typ, Status, Zeitstempel und Ergebnis, nicht jedoch, wer den Befehl gesendet hat.
  • Wenn ein Computer oder eine Konfigurationsdatei kompromittiert ist, widerrufen Sie den Schlüssel unter „Einstellungen, API“. Widerrufene Schlüssel können nicht wiederhergestellt werden. Um eine Verbindung mit „Sign in with Nomid“ zu beenden, widerrufen Sie sie in der Verbindungsliste der Seite „KI-Agenten“ im Portal oder trennen Sie sie in einem Client, der seine Tokens beim Trennen widerruft. In beiden Fällen funktionieren die Verbindung und alle ihre Tokens sofort nicht mehr. Jeder Benutzer kann seine eigenen Verbindungen widerrufen, und ein Benutzer, der API-Schlüssel verwalten kann, kann jede Verbindung des Unternehmens widerrufen.

Ratenbegrenzungen

Begrenzungen werden pro API-Schlüssel oder pro Verbindung mit „Sign in with Nomid“ in festen Ein-Minuten-Fenstern gezählt. Wenn Sie das MCP-Anfragelimit überschreiten, antwortet der Server mit HTTP 429 Too Many Requests und einem Retry-After-Header, der die Sekunden angibt, bis das Fenster zurückgesetzt wird.

LimitZulässig
Alle MCP-Anfragen, jedes Tool60 pro Minute pro Schlüssel oder Verbindung
Gerätebefehle, Richtlinienänderungen und Bereitstellungs-QR-Codes, REST und MCP kombiniert10 pro Minute pro Schlüssel oder Verbindung

Ein Befehlswerkzeug-Aufruf, jeder propose- oder apply-Aufruf eines Richtlinienänderungswerkzeugs sowie jeder create_provisioning_qr_code-Aufruf zählen für beide Limits. Wenn ein solcher Aufruf das gemeinsame Schreiblimit überschreitet, gibt der Server anstelle eines HTTP 429 einen Tool-Fehler zurück. Es handelt sich um eine normale Antwort, die als Fehler gekennzeichnet ist, und deren Text angibt, wie viele Sekunden gewartet werden muss. Die REST-Lese-Endpunkte verwenden das MCP-Limit nicht.

Fehlerbehebung

SymptomWahrscheinliche Ursache und Behebung
401 Unauthorized mit einem API-SchlüsselDer Schlüssel fehlt, ist ungültig, abgelaufen oder widerrufen. Prüfen Sie, ob der Client „Authorization: Bearer“ gefolgt vom Schlüssel sendet und ob die Umgebungsvariable gesetzt war, als Sie den Setup-Befehl ausgeführt haben.
401 Unauthorized oder der Client fordert Sie auf, sich erneut anzumelden, bei Sign in with NomidDas Zugriffstoken ist abgelaufen und konnte nicht aktualisiert werden, oder die Verbindung wurde widerrufen. Anfragen werden auch abgelehnt, wenn der Benutzer kein Mitglied des Unternehmens mehr ist, seine Rolle keinen der gewährten Bereiche mehr zulässt oder das Unternehmen den Zugriff für KI-Agenten deaktiviert hat; die Verbindung eines deaktivierten Benutzers wird widerrufen. Melden Sie sich erneut an oder verbinden Sie den Connector erneut. Wenn es weiterhin fehlschlägt, bitten Sie einen Unternehmensadministrator, Ihre Mitgliedschaft, Ihre Rolle und den Zugriff für KI-Agenten im Portal zu überprüfen.
Tool-Fehler mit dem Hinweis, dass dem Schlüssel die erforderliche Berechtigung fehlt oder das Unternehmen diese nicht aktiviert hat (HTTP 403 bei der REST-API)Der Schlüssel wurde ohne die für dieses Tool erforderliche Berechtigung erstellt, oder die Unternehmenseinstellung ist deaktiviert. Befehlswerkzeuge benötigen DEVICES_COMMAND und DEVICES_READ, und change_device_policy benötigt zusätzlich POLICIES_READ. Destruktive Tools benötigen DEVICES_COMMAND_DESTRUCTIVE und DEVICES_READ sowie die aktivierte Unternehmenseinstellung für destruktive Befehle. Richtlinienänderungswerkzeuge benötigen POLICIES_WRITE und POLICIES_READ sowie die aktivierte Unternehmenseinstellung für Richtlinienänderungen. create_provisioning_qr_code benötigt PROVISIONING und POLICIES_READ.
Tool-Fehler mit dem Hinweis, dass Sie nicht über die erforderliche Berechtigung verfügen oder dass ein Administrator den Zugriff für KI-Agenten dafür nicht aktiviert hat (Sign in with Nomid)Der Verbindung fehlt der vom Tool benötigte Bereich, Ihrer Rolle fehlt die passende Berechtigung oder die Unternehmenseinstellung dafür unter „Zugriff für KI-Agenten“ ist deaktiviert. Stellen Sie die Verbindung erneut her und stimmen Sie dem Bereich auf der Zustimmungsseite zu; mcp:devices:destructive und mcp:policies:write erscheinen nur, wenn der Client sie anfordert. Bitten Sie bei einer deaktivierten Einstellung einen Unternehmensadministrator, diese zu aktivieren.
HTTP 429 Too Many Requests oder ein Tool-Fehler, der besagt, dass das Ratenlimit überschritten wurdeSie haben ein Ratenlimit überschritten. Warten Sie bei einem HTTP 429 die im Header „Retry-After“ angegebene Anzahl von Sekunden. Warten Sie bei einem Tool-Fehler die in der Meldung angegebene Anzahl von Sekunden.
Tool-Fehler bezüglich eines Geräts, das nicht gefunden wurde oder den Befehl nicht annehmen kannVerwenden Sie den pathName aus search_devices als assetId. Überprüfen Sie, ob das Gerät registriert ist und ob der Befehl seinen Gerätetyp unterstützt (siehe Welche Geräte können Befehle empfangen).
Tool-Fehler mit dem Hinweis, dass das Ergebnis unbekannt istNicht erneut senden. Prüfen Sie list_device_commands, sobald das Gerät Zeit hatte zu antworten, und fragen Sie den Benutzer, bevor Sie den Befehl erneut senden.
Der Assistent listet keine Nomid-Tools aufStellen Sie bei Verwendung eines API-Schlüssels sicher, dass Ihr Client Streamable HTTP-Server mit benutzerdefinierten Headern unterstützt und dass die URL exakt mit dem obigen Endpunkt übereinstimmt. Schließen Sie bei „Sign in with Nomid“ die Anmeldung ab, oder trennen Sie den Connector und verbinden Sie ihn erneut. Bei einer angemeldeten Verbindung werden alle Tools aufgelistet, sodass ein fehlender Scope als Tool-Fehler und nicht als fehlendes Tool angezeigt wird.

Zugehörige Dokumentation

Wählen Sie Ihre Zeit

Wird geladen...
Buchungskalender öffnen